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 CommonPermissions extends AbstractPyramusPermissionCollection implements PyramusPermissionCollection { /** * EducationType */ @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String CREATE_EDUCATIONTYPE = "CREATE_EDUCATIONTYPE"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ EVERYONE }) public static final String LIST_EDUCATIONTYPES = "LIST_EDUCATIONTYPES"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ EVERYONE }) public static final String LIST_SUBJECTSBYEDUCATIONTYPE = "LIST_SUBJECTSBYEDUCATIONTYPE"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ EVERYONE }) public static final String FIND_EDUCATIONTYPE = "FIND_EDUCATIONTYPE"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String UPDATE_EDUCATIONTYPE = "UPDATE_EDUCATIONTYPE"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, STUDY_PROGRAMME_LEADER }) public static final String DELETE_EDUCATIONTYPE = "DELETE_EDUCATIONTYPE"; /** * EducationSubType */ @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String CREATE_EDUCATIONSUBTYPE = "CREATE_EDUCATIONSUBTYPE"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER, USER, GUEST, STUDENT }) public static final String LIST_EDUCATIONSUBTYPES = "LIST_EDUCATIONSUBTYPES"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER, USER, GUEST, STUDENT }) public static final String FIND_EDUCATIONSUBTYPE = "FIND_EDUCATIONSUBTYPE"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String UPDATE_EDUCATIONSUBTYPE = "UPDATE_EDUCATIONSUBTYPE"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR }) public static final String DELETE_EDUCATIONSUBTYPE = "DELETE_EDUCATIONSUBTYPE"; /** * GradingScale */ @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String CREATE_GRADINGSCALE = "CREATE_GRADINGSCALE"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER, USER, GUEST, STUDENT, STUDY_GUIDER }) public static final String LIST_GRADINGSCALES = "LIST_GRADINGSCALES"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER, USER, GUEST, STUDENT, STUDY_GUIDER }) public static final String FIND_GRADINGSCALE = "FIND_GRADINGSCALE"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String UPDATE_GRADINGSCALE = "UPDATE_GRADINGSCALE"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR }) public static final String DELETE_GRADINGSCALE = "DELETE_GRADINGSCALE"; /** * Grade */ @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String CREATE_GRADE = "CREATE_GRADE"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER, USER, GUEST, STUDENT, STUDY_GUIDER }) public static final String LIST_GRADES = "LIST_GRADES"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER, USER, GUEST, STUDENT, STUDY_GUIDER }) public static final String FIND_GRADE = "FIND_GRADE"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String UPDATE_GRADE = "UPDATE_GRADE"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR }) public static final String DELETE_GRADE = "DELETE_GRADE"; /** * EducationalTimeUnit */ @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String CREATE_EDUCATIONALTIMEUNIT = "CREATE_EDUCATIONALTIMEUNIT"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER, USER, GUEST, STUDENT }) public static final String LIST_EDUCATIONALTIMEUNITS = "LIST_EDUCATIONALTIMEUNITS"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER, USER, GUEST, STUDENT, TRUSTED_SYSTEM }) public static final String FIND_EDUCATIONALTIMEUNIT = "FIND_EDUCATIONALTIMEUNIT"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String UPDATE_EDUCATIONALTIMEUNIT = "UPDATE_EDUCATIONALTIMEUNIT"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String ARCHIVE_EDUCATIONALTIMEUNIT = "ARCHIVE_EDUCATIONALTIMEUNIT"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR }) public static final String DELETE_EDUCATIONALTIMEUNIT = "DELETE_EDUCATIONALTIMEUNIT"; /** * Subject */ @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String CREATE_SUBJECT = "CREATE_SUBJECT"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER, USER, GUEST, STUDENT }) public static final String LIST_SUBJECTS = "LIST_SUBJECTS"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER, USER, GUEST, STUDENT }) public static final String SEARCH_SUBJECTS = "SEARCH_SUBJECTS"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER, USER, GUEST, STUDENT, TRUSTED_SYSTEM }) public static final String FIND_SUBJECT = "FIND_SUBJECT"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String UPDATE_SUBJECT = "UPDATE_SUBJECT"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String ARCHIVE_SUBJECT = "ARCHIVE_SUBJECT"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR }) public static final String DELETE_SUBJECT = "DELETE_SUBJECT"; /** * ContactType */ @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String CREATE_CONTACTTYPE = "CREATE_CONTACTTYPE"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER, USER, GUEST, STUDENT }) public static final String LIST_CONTACTTYPES = "LIST_CONTACTTYPES"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER, USER, GUEST, STUDENT, TRUSTED_SYSTEM, STUDY_GUIDER }) public static final String FIND_CONTACTTYPE = "FIND_CONTACTTYPE"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String UPDATE_CONTACTTYPE = "UPDATE_CONTACTTYPE"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR }) public static final String DELETE_CONTACTTYPE = "DELETE_CONTACTTYPE"; /** * ContactURL */ @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String CREATE_CONTACTURLTYPE = "CREATE_CONTACTURLTYPE"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER, USER, GUEST, STUDENT }) public static final String LIST_CONTACTURLTYPES = "LIST_CONTACTURLTYPES"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER, USER, GUEST, STUDENT }) public static final String FIND_CONTACTURLTYPE = "FIND_CONTACTURLTYPE"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String UPDATE_CONTACTURLTYPE = "UPDATE_CONTACTURLTYPE"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR }) public static final String DELETE_CONTACTURLTYPE = "DELETE_CONTACTURLTYPE"; /** * CourseBaseVariableKey */ @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String CREATE_COURSEBASEVARIABLEKEY = "CREATE_COURSEBASEVARIABLEKEY"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER, USER, GUEST, STUDENT }) public static final String LIST_COURSEBASEVARIABLEKEYS = "LIST_COURSEBASEVARIABLEKEYS"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER, USER, GUEST, STUDENT }) public static final String FIND_COURSEBASEVARIABLEKEY = "FIND_COURSEBASEVARIABLEKEY"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String UPDATE_COURSEBASEVARIABLEKEY = "UPDATE_COURSEBASEVARIABLEKEY"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR }) public static final String DELETE_COURSEBASEVARIABLEKEY = "DELETE_COURSEBASEVARIABLEKEY"; /** * Curriculum */ @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String CREATE_CURRICULUM = "CREATE_CURRICULUM"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER, USER, GUEST, STUDENT, TRUSTED_SYSTEM }) public static final String LIST_CURRICULUMS = "LIST_CURRICULUMS"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER, USER, GUEST, STUDENT, TRUSTED_SYSTEM }) public static final String FIND_CURRICULUM = "FIND_CURRICULUM"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String UPDATE_CURRICULUM = "UPDATE_CURRICULUM"; @Scope (PermissionScope.ENVIRONMENT) @DefaultPermissionRoles ({ ADMINISTRATOR, MANAGER, STUDY_PROGRAMME_LEADER }) public static final String ARCHIVE_CURRICULUM = "ARCHIVE_CURRICULUM"; @Override public List<String> listPermissions() { return super.listPermissions(CommonPermissions.class); } @Override public boolean containsPermission(String permission) { return listPermissions().contains(permission); } @Override public String getPermissionScope(String permission) throws NoSuchFieldException { return super.getPermissionScope(CommonPermissions.class, permission); } @Override public String[] getDefaultRoles(String permission) throws NoSuchFieldException { return super.getDefaultRoles(CommonPermissions.class, permission); } @Override public PermissionFeature[] listPermissionFeatures(String permission) throws NoSuchFieldException, SecurityException { return super.listPermissionFeatures(CommonPermissions.class, permission); } }