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