Renamed the admin type to corporate

This commit is contained in:
Tiago Ribeiro
2023-10-27 00:43:05 +01:00
parent 15f8d25bc9
commit 0aefbb85ec
11 changed files with 38 additions and 237 deletions

View File

@@ -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];
}