170 lines
6.1 KiB
TypeScript
170 lines
6.1 KiB
TypeScript
type key_val = {
|
|
[key: string]: any;
|
|
};
|
|
|
|
// NOTE: I know there is a better more efficient way to do this, but I don't have time for that right now.
|
|
export let process_permission_checks = function process_permission_checks(access_type: string) {
|
|
// let access_checks = { 'access_type': null, 'super_check': null };
|
|
let access_checks: key_val = {};
|
|
|
|
if (access_type == 'super') {
|
|
access_checks.access_type = 'super';
|
|
|
|
access_checks.super_check = true;
|
|
access_checks.manager_check = false;
|
|
access_checks.administrator_check = false;
|
|
access_checks.support_check = false;
|
|
access_checks.assistant_check = false;
|
|
access_checks.trusted_check = false;
|
|
access_checks.verified_check = false;
|
|
access_checks.provisional_check = false;
|
|
access_checks.public_check = false;
|
|
access_checks.authenticated_check = true;
|
|
access_checks.anonymous_check = false;
|
|
|
|
access_checks.super_access = true;
|
|
access_checks.manager_access = true;
|
|
access_checks.administrator_access = true;
|
|
access_checks.support_access = true;
|
|
access_checks.assistant_access = true;
|
|
access_checks.trusted_access = true;
|
|
access_checks.verified_access = true;
|
|
access_checks.provisional_access = true;
|
|
access_checks.public_access = true;
|
|
access_checks.authenticated_access = true;
|
|
access_checks.anonymous_access = true;
|
|
} else if (access_type == 'manager') {
|
|
access_checks.access_type = 'manager';
|
|
|
|
access_checks.super_check = false;
|
|
access_checks.manager_check = true;
|
|
access_checks.administrator_check = false;
|
|
access_checks.support_check = false;
|
|
access_checks.assistant_check = false;
|
|
access_checks.trusted_check = false;
|
|
access_checks.verified_check = false;
|
|
access_checks.provisional_check = false;
|
|
access_checks.public_check = false;
|
|
access_checks.authenticated_check = true;
|
|
access_checks.anonymous_check = false;
|
|
|
|
access_checks.super_access = false;
|
|
access_checks.manager_access = true;
|
|
access_checks.administrator_access = true;
|
|
access_checks.support_access = true;
|
|
access_checks.assistant_access = true;
|
|
access_checks.trusted_access = true;
|
|
access_checks.verified_access = true;
|
|
access_checks.provisional_access = true;
|
|
access_checks.public_access = true;
|
|
access_checks.authenticated_access = true;
|
|
access_checks.anonymous_access = true;
|
|
} else if (access_type == 'administrator') {
|
|
access_checks.access_type = 'administrator';
|
|
|
|
access_checks.super_check = false;
|
|
access_checks.manager_check = false;
|
|
access_checks.administrator_check = true;
|
|
access_checks.support_check = false;
|
|
access_checks.assistant_check = false;
|
|
access_checks.trusted_check = false;
|
|
access_checks.verified_check = false;
|
|
access_checks.provisional_check = false;
|
|
access_checks.public_check = false;
|
|
access_checks.authenticated_check = false;
|
|
access_checks.anonymous_check = false;
|
|
|
|
access_checks.super_access = false;
|
|
access_checks.manager_access = false;
|
|
access_checks.administrator_access = true;
|
|
access_checks.support_access = true;
|
|
access_checks.assistant_access = true;
|
|
access_checks.trusted_access = true;
|
|
access_checks.verified_access = true;
|
|
access_checks.provisional_access = true;
|
|
access_checks.public_access = true;
|
|
access_checks.authenticated_access = true;
|
|
access_checks.anonymous_access = true;
|
|
} else if (access_type == 'trusted') {
|
|
access_checks.access_type = 'trusted';
|
|
|
|
access_checks.super_check = false;
|
|
access_checks.manager_check = false;
|
|
access_checks.administrator_check = false;
|
|
access_checks.support_check = false;
|
|
access_checks.assistant_check = false;
|
|
access_checks.trusted_check = true;
|
|
access_checks.verified_check = false;
|
|
access_checks.provisional_check = false;
|
|
access_checks.public_check = false;
|
|
access_checks.authenticated_check = true;
|
|
access_checks.anonymous_check = false;
|
|
|
|
access_checks.super_access = false;
|
|
access_checks.manager_access = false;
|
|
access_checks.administrator_access = false;
|
|
access_checks.support_access = false;
|
|
access_checks.assistant_access = false;
|
|
access_checks.trusted_access = true;
|
|
access_checks.verified_access = true;
|
|
access_checks.provisional_access = true;
|
|
access_checks.public_access = true;
|
|
access_checks.authenticated_access = true;
|
|
access_checks.anonymous_access = true;
|
|
} else if (access_type == 'authenticated') {
|
|
access_checks.access_type = 'authenticated';
|
|
|
|
access_checks.super_check = false;
|
|
access_checks.manager_check = false;
|
|
access_checks.administrator_check = false;
|
|
access_checks.support_check = false;
|
|
access_checks.assistant_check = false;
|
|
access_checks.trusted_check = false;
|
|
access_checks.verified_check = false;
|
|
access_checks.provisional_check = false;
|
|
access_checks.public_check = false;
|
|
access_checks.authenticated_check = true;
|
|
access_checks.anonymous_check = false;
|
|
|
|
access_checks.super_access = false;
|
|
access_checks.manager_access = false;
|
|
access_checks.administrator_access = false;
|
|
access_checks.support_access = false;
|
|
access_checks.assistant_access = false;
|
|
access_checks.trusted_access = false;
|
|
access_checks.verified_access = false;
|
|
access_checks.provisional_access = false;
|
|
access_checks.public_access = false;
|
|
access_checks.authenticated_access = true;
|
|
access_checks.anonymous_access = true;
|
|
} else {
|
|
access_checks.access_type = 'anonymous';
|
|
|
|
access_checks.super_check = false;
|
|
access_checks.manager_check = false;
|
|
access_checks.administrator_check = false;
|
|
access_checks.support_check = false;
|
|
access_checks.assistant_check = false;
|
|
access_checks.trusted_check = false;
|
|
access_checks.verified_check = false;
|
|
access_checks.provisional_check = false;
|
|
access_checks.public_check = false;
|
|
access_checks.authenticated_check = false;
|
|
access_checks.anonymous_check = true;
|
|
|
|
access_checks.super_access = false;
|
|
access_checks.manager_access = false;
|
|
access_checks.administrator_access = false;
|
|
access_checks.support_access = false;
|
|
access_checks.assistant_access = false;
|
|
access_checks.trusted_access = false;
|
|
access_checks.verified_access = false;
|
|
access_checks.provisional_access = false;
|
|
access_checks.public_access = false;
|
|
access_checks.authenticated_access = false;
|
|
access_checks.anonymous_access = true;
|
|
}
|
|
|
|
return access_checks;
|
|
}
|