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);
}
}