package fi.otavanopisto.pyramus.rest.controller.permissions; import java.util.List; import fi.otavanopisto.pyramus.security.impl.AbstractPyramusPermissionCollection; import fi.otavanopisto.pyramus.security.impl.DefaultPermissionRoles; import fi.otavanopisto.pyramus.security.impl.PermissionScope; import fi.otavanopisto.pyramus.security.impl.PyramusPermissionCollection; import fi.otavanopisto.security.PermissionFeature; import fi.otavanopisto.security.Scope; public class SchoolPermissions extends AbstractPyramusPermissionCollection implements PyramusPermissionCollection { @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String CREATE_SCHOOL = "CREATE_SCHOOL"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ EVERYONE }) public static final String LIST_SCHOOLS = "LIST_SCHOOLS"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ EVERYONE }) public static final String SEARCH_SCHOOLS = "SEARCH_SCHOOLS"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ EVERYONE }) public static final String FIND_SCHOOL = "FIND_SCHOOL"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String UPDATE_SCHOOL = "UPDATE_SCHOOL"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR }) public static final String DELETE_SCHOOL = "DELETE_SCHOOL"; /** * SchoolField */ @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String CREATE_SCHOOLFIELD = "CREATE_SCHOOLFIELD"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String LIST_SCHOOLFIELDS = "LIST_SCHOOLFIELDS"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String FIND_SCHOOLFIELD = "FIND_SCHOOLFIELD"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String UPDATE_SCHOOLFIELD = "UPDATE_SCHOOLFIELD"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR }) public static final String DELETE_SCHOOLFIELD = "DELETE_SCHOOLFIELD"; /** * SchoolVariableKey */ @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String CREATE_SCHOOLVARIABLEKEY = "CREATE_SCHOOLVARIABLEKEY"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String LIST_SCHOOLVARIABLEKEYS = "LIST_SCHOOLVARIABLEKEYS"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String FIND_SCHOOLVARIABLEKEY = "FIND_SCHOOLVARIABLEKEY"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String UPDATE_SCHOOLVARIABLEKEY = "UPDATE_SCHOOLVARIABLEKEY"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR }) public static final String DELETE_SCHOOLVARIABLEKEY = "DELETE_SCHOOLVARIABLEKEY"; /** * School emails */ @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String CREATE_SCHOOLEMAIL = "CREATE_SCHOOLEMAIL"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String LIST_SCHOOLEMAILS = "LIST_SCHOOLEMAILS"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String FIND_SCHOOLEMAIL = "FIND_SCHOOLEMAIL"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR }) public static final String DELETE_SCHOOLEMAIL = "DELETE_SCHOOLEMAIL"; /** * School addresses */ @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String CREATE_SCHOOLADDRESS = "CREATE_SCHOOLADDRESS"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String LIST_SCHOOLADDRESSS = "LIST_SCHOOLADDRESSS"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String FIND_SCHOOLADDRESS = "FIND_SCHOOLADDRESS"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR }) public static final String DELETE_SCHOOLADDRESS = "DELETE_SCHOOLADDRESS"; /** * School phones */ @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String CREATE_SCHOOLPHONENUMBER = "CREATE_SCHOOLPHONENUMBER"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String LIST_SCHOOLPHONENUMBERS = "LIST_SCHOOLPHONENUMBERS"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String FIND_SCHOOLPHONENUMBER = "FIND_SCHOOLPHONENUMBER"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR }) public static final String DELETE_SCHOOLPHONENUMBER = "DELETE_SCHOOLPHONENUMBER"; /** * School contact urls */ @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String CREATE_SCHOOLCONTACTURL = "CREATE_SCHOOLCONTACTURL"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String LIST_SCHOOLCONTACTURLS = "LIST_SCHOOLCONTACTURLS"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String FIND_SCHOOLCONTACTURL = "FIND_SCHOOLCONTACTURL"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR }) public static final String DELETE_SCHOOLCONTACTURL = "DELETE_SCHOOLCONTACTURL"; @Override public List<String> listPermissions() { return super.listPermissions(SchoolPermissions.class); } @Override public boolean containsPermission(String permission) { return listPermissions().contains(permission); } @Override public String getPermissionScope(String permission) throws NoSuchFieldException { return super.getPermissionScope(SchoolPermissions.class, permission); } @Override public String[] getDefaultRoles(String permission) throws NoSuchFieldException { return super.getDefaultRoles(SchoolPermissions.class, permission); } @Override public PermissionFeature[] listPermissionFeatures(String permission) throws NoSuchFieldException, SecurityException { return super.listPermissionFeatures(SchoolPermissions.class, permission); } }