Implemented a simple page to view the currently registered users
This commit is contained in:
201
src/resources/permissions.ts
Normal file
201
src/resources/permissions.ts
Normal file
@@ -0,0 +1,201 @@
|
||||
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