Skip to content
Snippets Groups Projects
Commit c071ceee authored by Piotr Gawron's avatar Piotr Gawron
Browse files

api returns list of privilege types

parent 2c37fdae
No related branches found
No related tags found
2 merge requests!115Resolve "admin panel should use API",!114Resolve "admin panel should use API"
......@@ -6,6 +6,7 @@ var logger = require('./logger');
var ConfigurationType = require('./ConfigurationType');
var MiriamType = require('./map/data/MiriamType');
var PrivilegeType = require('./map/data/PrivilegeType');
var ModificationStateType = require('./map/data/ModificationStateType');
function Configuration(json) {
......@@ -48,6 +49,7 @@ function Configuration(json) {
self.setReactionTypes(json.reactionTypes);
self.setMiriamTypes(json.miriamTypes);
self.setModificationStateTypes(json.modificationStateTypes);
self.setPrivilegeTypes(json.privilegeTypes);
}
Configuration.prototype.setOption = function(type, value) {
......@@ -101,6 +103,17 @@ Configuration.prototype.setMiriamTypes = function(miriamTypes) {
}
}
};
Configuration.prototype.setPrivilegeTypes = function(privilegeTypes) {
this._privilegeTypes = [];
for ( var key in privilegeTypes) {
if (privilegeTypes.hasOwnProperty(key)) {
var typeData = privilegeTypes[key];
this._privilegeTypes.push(new PrivilegeType(typeData, key));
}
}
};
Configuration.prototype.getMiriamTypeByName = function(name) {
var self = this;
for (var i = 0; i < self._miriamTypes.length; i++) {
......
......@@ -30,6 +30,7 @@ public class ConfigurationController extends BaseController {
result.put("reactionTypes", configurationController.getReactionTypes(token));
result.put("miriamTypes", configurationController.getMiriamTypes(token));
result.put("modificationStateTypes", configurationController.getModificationStateTypes(token));
result.put("privilegeTypes", configurationController.getPrivilegeTypes(token));
return result;
}
......
......@@ -26,6 +26,7 @@ import lcsb.mapviewer.model.map.MiriamType;
import lcsb.mapviewer.model.map.reaction.Reaction;
import lcsb.mapviewer.model.map.species.Element;
import lcsb.mapviewer.model.map.species.field.ModificationState;
import lcsb.mapviewer.model.user.PrivilegeType;
import lcsb.mapviewer.modelutils.map.ClassTreeNode;
import lcsb.mapviewer.modelutils.map.ElementUtils;
import lcsb.mapviewer.services.SecurityException;
......@@ -207,4 +208,28 @@ public class ConfigurationRestImpl {
return result;
}
public Map<String, Object> getPrivilegeTypes(String id) {
Map<String, Object> result = new HashMap<>();
for (PrivilegeType type : PrivilegeType.values()) {
result.put(type.name(), createPrivilegeTypeResponse(type));
}
return result;
}
private Map<String, Object> createPrivilegeTypeResponse(PrivilegeType type) {
Map<String, Object> result = new HashMap<>();
result.put("commonName", type.getCommonName());
if (type.getPrivilegeObjectType() != null) {
result.put("objectType", type.getPrivilegeObjectType().getSimpleName());
} else {
result.put("objectType", null);
}
if (type.isNumeric()) {
result.put("valueType", "int");
} else {
result.put("valueType", "boolean");
}
return result;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment