Renamed the admin type to corporate
This commit is contained in:
@@ -1,201 +0,0 @@
|
||||
import {Type, User} from "@/interfaces/user";
|
||||
|
||||
interface Permissions {
|
||||
createUser: {[key in Type]: boolean};
|
||||
deleteUser: {[key in Type]: boolean};
|
||||
manageUser: {[key in Type]: boolean};
|
||||
viewUsers: {[key in Type]: boolean};
|
||||
viewStats: boolean;
|
||||
viewUserStats: boolean;
|
||||
viewClassStats: boolean;
|
||||
createClass: boolean;
|
||||
manageClass: boolean;
|
||||
deleteClass: boolean;
|
||||
}
|
||||
|
||||
const permissions: {[key in Type]: Permissions} = {
|
||||
student: {
|
||||
createUser: {
|
||||
admin: false,
|
||||
developer: false,
|
||||
owner: false,
|
||||
student: false,
|
||||
teacher: false,
|
||||
},
|
||||
deleteUser: {
|
||||
admin: false,
|
||||
developer: false,
|
||||
owner: false,
|
||||
student: false,
|
||||
teacher: false,
|
||||
},
|
||||
manageUser: {
|
||||
admin: false,
|
||||
developer: false,
|
||||
owner: false,
|
||||
student: false,
|
||||
teacher: false,
|
||||
},
|
||||
viewUsers: {
|
||||
admin: false,
|
||||
developer: false,
|
||||
owner: false,
|
||||
student: false,
|
||||
teacher: false,
|
||||
},
|
||||
createClass: false,
|
||||
deleteClass: false,
|
||||
manageClass: false,
|
||||
viewStats: true,
|
||||
viewUserStats: false,
|
||||
viewClassStats: false,
|
||||
},
|
||||
teacher: {
|
||||
createUser: {
|
||||
admin: false,
|
||||
developer: false,
|
||||
owner: false,
|
||||
student: true,
|
||||
teacher: false,
|
||||
},
|
||||
deleteUser: {
|
||||
admin: false,
|
||||
developer: false,
|
||||
owner: false,
|
||||
student: true,
|
||||
teacher: false,
|
||||
},
|
||||
manageUser: {
|
||||
admin: false,
|
||||
developer: false,
|
||||
owner: false,
|
||||
student: true,
|
||||
teacher: false,
|
||||
},
|
||||
viewUsers: {
|
||||
admin: false,
|
||||
developer: false,
|
||||
owner: false,
|
||||
student: true,
|
||||
teacher: false,
|
||||
},
|
||||
createClass: true,
|
||||
deleteClass: true,
|
||||
manageClass: true,
|
||||
viewStats: true,
|
||||
viewUserStats: true,
|
||||
viewClassStats: true,
|
||||
},
|
||||
admin: {
|
||||
createUser: {
|
||||
admin: false,
|
||||
developer: false,
|
||||
owner: false,
|
||||
student: true,
|
||||
teacher: true,
|
||||
},
|
||||
deleteUser: {
|
||||
admin: false,
|
||||
developer: false,
|
||||
owner: false,
|
||||
student: true,
|
||||
teacher: true,
|
||||
},
|
||||
manageUser: {
|
||||
admin: false,
|
||||
developer: false,
|
||||
owner: false,
|
||||
student: true,
|
||||
teacher: true,
|
||||
},
|
||||
viewUsers: {
|
||||
admin: false,
|
||||
developer: false,
|
||||
owner: false,
|
||||
student: true,
|
||||
teacher: true,
|
||||
},
|
||||
createClass: true,
|
||||
deleteClass: true,
|
||||
manageClass: true,
|
||||
viewStats: true,
|
||||
viewUserStats: true,
|
||||
viewClassStats: true,
|
||||
},
|
||||
owner: {
|
||||
createUser: {
|
||||
admin: true,
|
||||
developer: false,
|
||||
owner: false,
|
||||
student: true,
|
||||
teacher: true,
|
||||
},
|
||||
deleteUser: {
|
||||
admin: true,
|
||||
developer: false,
|
||||
owner: false,
|
||||
student: true,
|
||||
teacher: true,
|
||||
},
|
||||
manageUser: {
|
||||
admin: true,
|
||||
developer: false,
|
||||
owner: false,
|
||||
student: true,
|
||||
teacher: true,
|
||||
},
|
||||
viewUsers: {
|
||||
admin: true,
|
||||
developer: false,
|
||||
owner: false,
|
||||
student: true,
|
||||
teacher: true,
|
||||
},
|
||||
createClass: true,
|
||||
deleteClass: true,
|
||||
manageClass: true,
|
||||
viewStats: true,
|
||||
viewUserStats: true,
|
||||
viewClassStats: true,
|
||||
},
|
||||
developer: {
|
||||
createUser: {
|
||||
admin: true,
|
||||
developer: true,
|
||||
owner: true,
|
||||
student: true,
|
||||
teacher: true,
|
||||
},
|
||||
deleteUser: {
|
||||
admin: true,
|
||||
developer: true,
|
||||
owner: true,
|
||||
student: true,
|
||||
teacher: true,
|
||||
},
|
||||
manageUser: {
|
||||
admin: true,
|
||||
developer: true,
|
||||
owner: true,
|
||||
student: true,
|
||||
teacher: true,
|
||||
},
|
||||
viewUsers: {
|
||||
admin: true,
|
||||
developer: true,
|
||||
owner: true,
|
||||
student: true,
|
||||
teacher: true,
|
||||
},
|
||||
createClass: true,
|
||||
deleteClass: true,
|
||||
manageClass: true,
|
||||
viewStats: true,
|
||||
viewUserStats: true,
|
||||
viewClassStats: true,
|
||||
},
|
||||
};
|
||||
|
||||
export default function getPermissions(user: User) {
|
||||
return permissions[user.type];
|
||||
}
|
||||
Reference in New Issue
Block a user