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

api returns list of privilege types

parent b4f099f3
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'); ...@@ -6,6 +6,7 @@ var logger = require('./logger');
var ConfigurationType = require('./ConfigurationType'); var ConfigurationType = require('./ConfigurationType');
var MiriamType = require('./map/data/MiriamType'); var MiriamType = require('./map/data/MiriamType');
var PrivilegeType = require('./map/data/PrivilegeType');
var ModificationStateType = require('./map/data/ModificationStateType'); var ModificationStateType = require('./map/data/ModificationStateType');
function Configuration(json) { function Configuration(json) {
...@@ -48,6 +49,7 @@ function Configuration(json) { ...@@ -48,6 +49,7 @@ function Configuration(json) {
self.setReactionTypes(json.reactionTypes); self.setReactionTypes(json.reactionTypes);
self.setMiriamTypes(json.miriamTypes); self.setMiriamTypes(json.miriamTypes);
self.setModificationStateTypes(json.modificationStateTypes); self.setModificationStateTypes(json.modificationStateTypes);
self.setPrivilegeTypes(json.privilegeTypes);
} }
Configuration.prototype.setOption = function(type, value) { Configuration.prototype.setOption = function(type, value) {
...@@ -101,6 +103,17 @@ Configuration.prototype.setMiriamTypes = function(miriamTypes) { ...@@ -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) { Configuration.prototype.getMiriamTypeByName = function(name) {
var self = this; var self = this;
for (var i = 0; i < self._miriamTypes.length; i++) { for (var i = 0; i < self._miriamTypes.length; i++) {
......
...@@ -30,6 +30,7 @@ public class ConfigurationController extends BaseController { ...@@ -30,6 +30,7 @@ public class ConfigurationController extends BaseController {
result.put("reactionTypes", configurationController.getReactionTypes(token)); result.put("reactionTypes", configurationController.getReactionTypes(token));
result.put("miriamTypes", configurationController.getMiriamTypes(token)); result.put("miriamTypes", configurationController.getMiriamTypes(token));
result.put("modificationStateTypes", configurationController.getModificationStateTypes(token)); result.put("modificationStateTypes", configurationController.getModificationStateTypes(token));
result.put("privilegeTypes", configurationController.getPrivilegeTypes(token));
return result; return result;
} }
......
...@@ -26,6 +26,7 @@ import lcsb.mapviewer.model.map.MiriamType; ...@@ -26,6 +26,7 @@ import lcsb.mapviewer.model.map.MiriamType;
import lcsb.mapviewer.model.map.reaction.Reaction; import lcsb.mapviewer.model.map.reaction.Reaction;
import lcsb.mapviewer.model.map.species.Element; import lcsb.mapviewer.model.map.species.Element;
import lcsb.mapviewer.model.map.species.field.ModificationState; 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.ClassTreeNode;
import lcsb.mapviewer.modelutils.map.ElementUtils; import lcsb.mapviewer.modelutils.map.ElementUtils;
import lcsb.mapviewer.services.SecurityException; import lcsb.mapviewer.services.SecurityException;
...@@ -207,4 +208,28 @@ public class ConfigurationRestImpl { ...@@ -207,4 +208,28 @@ public class ConfigurationRestImpl {
return result; 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