[Trunk | Admin Tools]:

1. AdminToolsCheckDeployController.java: 
	a. In "hello()" method added @RequestMapping (except for existing ""), "/health_check".
	b. Added method "checkEverything()" (/health_chech/advanced) only accessible by PORTAL ADMINS which checks connection with db and prints properties.
2. Layout.java: Commented all fields for layout configuration (e.g. mainColor, buttons,...) and added an Object layoutOptions which includes any required options.
This commit is contained in:
Konstantina Galouni 2021-04-22 09:07:08 +00:00
parent c4f63e0d78
commit b2254975da
2 changed files with 116 additions and 60 deletions

View File

@ -1,19 +1,66 @@
package eu.dnetlib.uoaadmintools.controllers; package eu.dnetlib.uoaadmintools.controllers;
import com.mongodb.BasicDBObject;
import com.mongodb.CommandResult;
import com.mongodb.DBObject;
import eu.dnetlib.uoaadmintools.configuration.mongo.MongoConnection;
import eu.dnetlib.uoaadmintools.configuration.properties.ManagersApiConfig;
import eu.dnetlib.uoaadmintools.configuration.properties.MongoConfig;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.Map;
@RestController @RestController
@CrossOrigin(origins = "*") @CrossOrigin(origins = "*")
public class AdminToolsCheckDeployController { public class AdminToolsCheckDeployController {
private final Logger log = Logger.getLogger(this.getClass()); private final Logger log = Logger.getLogger(this.getClass());
@RequestMapping(value = "", method = RequestMethod.GET) @Autowired
private MongoConnection mongoConnection;
@Autowired
private MongoConfig mongoConfig;
@Autowired
private ManagersApiConfig managersApiConfig;
@RequestMapping(value = {"", "/health_check"}, method = RequestMethod.GET)
public String hello() { public String hello() {
log.debug("Hello from uoa-admin-tools!"); log.debug("Hello from uoa-admin-tools!");
return "Hello from uoa-admin-tools!"; return "Hello from uoa-admin-tools!";
} }
@PreAuthorize("hasAnyAuthority(@AuthorizationService.PORTAL_ADMIN)")
@RequestMapping(value = "/health_check/advanced", method = RequestMethod.GET)
public Map<String, String> checkEverything() {
Map<String, String> response = new HashMap<>();
MongoTemplate mt = mongoConnection.getMongoTemplate();
DBObject ping = new BasicDBObject("ping", "1");
try {
CommandResult answer = mt.getDb().command(ping);
response.put("Mongo try: error", answer.getErrorMessage());
} catch (Exception e) {
response.put("Mongo catch: error", e.getMessage());
}
response.put("admintool.mongodb.database", mongoConfig.getDatabase());
response.put("admintool.mongodb.host", mongoConfig.getHost());
response.put("admintool.mongodb.port", mongoConfig.getPort()+"");
response.put("admintool.mongodb.username", mongoConfig.getUsername() == null ? null : "[unexposed value]");
response.put("admintool.mongodb.password", mongoConfig.getPassword() == null ? null : "[unexposed value]");
// response.put("Define also", "admintool.mongodb.username, admintool.mongodb.password");
response.put("admintool.managers.api.id", managersApiConfig.getId());
response.put("admintool.managers.api.email", managersApiConfig.getEmail());
return response;
}
} }

View File

@ -12,25 +12,26 @@ public class Layout {
@Id @Id
@JsonProperty("_id") @JsonProperty("_id")
private String id; private String id;
private String mainColor; // private String mainColor;
private String secondaryColor; // private String secondaryColor;
private Panel panel; // private Panel panel;
private Box box; // private Box box;
private Links links; // private Links links;
private Buttons buttons; // private Buttons buttons;
private String portalPid; private String portalPid;
private Object layoutOptions;
public Layout() { } public Layout() { }
public Layout(String id, String mainColor, String secondaryColor, Panel panel, Box box, Links links, Buttons buttons, String portalPid) { public Layout(String id, String mainColor, String secondaryColor, Panel panel, Box box, Links links, Buttons buttons, String portalPid) {
this.id = id; this.id = id;
this.mainColor = mainColor; // this.mainColor = mainColor;
this.secondaryColor = secondaryColor; // this.secondaryColor = secondaryColor;
this.panel = panel; // this.panel = panel;
this.box = box; // this.box = box;
this.links = links; // this.links = links;
this.buttons = buttons; // this.buttons = buttons;
this.portalPid = portalPid; this.portalPid = portalPid;
} }
@ -43,53 +44,53 @@ public class Layout {
this.id = id; this.id = id;
} }
public String getMainColor() { // public String getMainColor() {
return mainColor; // return mainColor;
} // }
//
public void setMainColor(String mainColor) { // public void setMainColor(String mainColor) {
this.mainColor = mainColor; // this.mainColor = mainColor;
} // }
//
public String getSecondaryColor() { // public String getSecondaryColor() {
return secondaryColor; // return secondaryColor;
} // }
//
public void setSecondaryColor(String secondaryColor) { // public void setSecondaryColor(String secondaryColor) {
this.secondaryColor = secondaryColor; // this.secondaryColor = secondaryColor;
} // }
//
public Panel getPanel() { // public Panel getPanel() {
return panel; // return panel;
} // }
//
public void setPanel(Panel panel) { // public void setPanel(Panel panel) {
this.panel = panel; // this.panel = panel;
} // }
//
public Box getBox() { // public Box getBox() {
return box; // return box;
} // }
//
public void setBox(Box box) { // public void setBox(Box box) {
this.box = box; // this.box = box;
} // }
//
public Links getLinks() { // public Links getLinks() {
return links; // return links;
} // }
//
public void setLinks(Links links) { // public void setLinks(Links links) {
this.links = links; // this.links = links;
} // }
//
public Buttons getButtons() { // public Buttons getButtons() {
return buttons; // return buttons;
} // }
//
public void setButtons(Buttons buttons) { // public void setButtons(Buttons buttons) {
this.buttons = buttons; // this.buttons = buttons;
} // }
public String getPortalPid() { public String getPortalPid() {
return portalPid; return portalPid;
@ -98,4 +99,12 @@ public class Layout {
public void setPortalPid(String portalPid) { public void setPortalPid(String portalPid) {
this.portalPid = portalPid; this.portalPid = portalPid;
} }
public Object getLayoutOptions() {
return layoutOptions;
}
public void setLayoutOptions(Object layoutOptions) {
this.layoutOptions = layoutOptions;
}
} }