Project

General

Profile

1 60717 konstantin
package eu.dnetlib.uoaadmintoolslibrary.controllers;
2
3 61553 konstantin
import eu.dnetlib.uoaadmintoolslibrary.configuration.GlobalVars;
4 60956 konstantin
import eu.dnetlib.uoaadmintoolslibrary.configuration.properties.GoogleConfig;
5
import eu.dnetlib.uoaadmintoolslibrary.configuration.properties.MailConfig;
6 60717 konstantin
import org.apache.log4j.Logger;
7 60956 konstantin
import org.springframework.beans.factory.annotation.Autowired;
8
import org.springframework.security.access.prepost.PreAuthorize;
9 60717 konstantin
import org.springframework.web.bind.annotation.CrossOrigin;
10
import org.springframework.web.bind.annotation.RequestMapping;
11
import org.springframework.web.bind.annotation.RequestMethod;
12
import org.springframework.web.bind.annotation.RestController;
13
14 60956 konstantin
import java.util.HashMap;
15
import java.util.Map;
16
17 60717 konstantin
@RestController
18
@CrossOrigin(origins = "*")
19
@RequestMapping("/admin-tools-library")
20
public class AdminToolsLibraryCheckDeployController {
21 60956 konstantin
    @Autowired
22
    private MailConfig mailConfig;
23
24
    @Autowired
25
    private GoogleConfig googleConfig;
26
27 61553 konstantin
    @Autowired
28
    private GlobalVars globalVars;
29
30 60717 konstantin
    private final Logger log = Logger.getLogger(this.getClass());
31
32 60956 konstantin
    @RequestMapping(value = {"", "/health_check"}, method = RequestMethod.GET)
33 60717 konstantin
    public String hello() {
34
        log.debug("Hello from uoa-admin-tools-library!");
35
        return "Hello from uoa-admin-tools-library!";
36
    }
37 60956 konstantin
38
    @PreAuthorize("hasAnyAuthority(@AuthorizationService.PORTAL_ADMIN)")
39
    @RequestMapping(value = "/health_check/advanced", method = RequestMethod.GET)
40
    public Map<String, String> checkEverything() {
41
        Map<String, String> response = new HashMap<>();
42
        response.put("admintoolslibrary.mail.auth",mailConfig.getAuth());
43 61749 konstantin
        response.put("admintoolslibrary.mail.sslProtocols",mailConfig.getSslProtocols());
44 61748 konstantin
        response.put("admintoolslibrary.mail.from", mailConfig.getFrom());
45 60956 konstantin
        response.put("admintoolslibrary.mail.host", mailConfig.getHost());
46
        response.put("admintoolslibrary.mail.port", mailConfig.getPort());
47
        response.put("admintoolslibrary.mail.username", mailConfig.getUsername() == null ? null : "[unexposed value]");
48
        response.put("admintoolslibrary.mail.password", mailConfig.getPassword() == null ? null : "[unexposed value]");
49
        response.put("admintoolslibrary.google.secret", googleConfig.getSecret() == null ? null : "[unexposed value]");
50
51 61553 konstantin
        if(globalVars.date != null) {
52
            response.put("Date of deploy", globalVars.date.toString());
53
        }
54
        if(globalVars.getBuildDate() != null) {
55
            response.put("Date of build", globalVars.getBuildDate());
56
        }
57 60956 konstantin
//        response.put("Define also", "admintoolslibrary.mail.username, " +
58
//                "admintoolslibrary.mail.password, admintoolslibrary.google.secret");
59
        return response;
60
    }
61 60717 konstantin
}