add rts routes
This commit is contained in:
@@ -13,4 +13,10 @@ export type Claim =
|
||||
| "file:delete"
|
||||
| "token:read"
|
||||
| "token:write"
|
||||
| "token:delete";
|
||||
| "token:delete"
|
||||
| "rts:read"
|
||||
| "rts:write"
|
||||
| "rts:delete"
|
||||
| "task:read"
|
||||
| "task:write"
|
||||
| "task:delete";
|
||||
|
||||
@@ -13,6 +13,7 @@ export function errorHandler(
|
||||
if (error.validation) {
|
||||
const errMsg = {
|
||||
type: "validation_error",
|
||||
path: error.validation[0].instancePath,
|
||||
context: error.validationContext,
|
||||
msg: error.validation[0].message,
|
||||
params: error.validation[0].params,
|
||||
|
||||
92
src/utils/roles.ts
Normal file
92
src/utils/roles.ts
Normal file
@@ -0,0 +1,92 @@
|
||||
import { Claim } from "./claims";
|
||||
|
||||
export const rules: Record<
|
||||
string,
|
||||
{ claims: Claim[]; hiddenFields: Record<string, Array<string>> }
|
||||
> = {
|
||||
admin: {
|
||||
claims: [
|
||||
"user:read",
|
||||
"user:write",
|
||||
"user:delete",
|
||||
"org:read",
|
||||
"org:write",
|
||||
"org:delete",
|
||||
"permit:read",
|
||||
"permit:write",
|
||||
"permit:delete",
|
||||
"file:upload",
|
||||
"file:download",
|
||||
"file:delete",
|
||||
"rts:read",
|
||||
"rts:write",
|
||||
"rts:delete",
|
||||
"task:read",
|
||||
"task:write",
|
||||
"task:delete",
|
||||
],
|
||||
hiddenFields: {
|
||||
orgs: ["__v"],
|
||||
permits: ["__v"],
|
||||
rts: ["__v"],
|
||||
tasks: ["__v"],
|
||||
users: ["__v"],
|
||||
},
|
||||
},
|
||||
builder: {
|
||||
claims: ["permit:read", "file:upload", "file:download", "org:read"],
|
||||
hiddenFields: {
|
||||
orgs: ["__v", "isClient", "name"],
|
||||
permits: ["__v"],
|
||||
rts: ["__v"],
|
||||
tasks: ["__v"],
|
||||
users: ["__v"],
|
||||
},
|
||||
},
|
||||
staff: {
|
||||
claims: [
|
||||
"org:read",
|
||||
"org:write",
|
||||
"org:delete",
|
||||
"permit:read",
|
||||
"permit:write",
|
||||
"permit:delete",
|
||||
"file:upload",
|
||||
"file:download",
|
||||
"file:delete",
|
||||
],
|
||||
hiddenFields: {
|
||||
orgs: [],
|
||||
permits: [],
|
||||
rts: [],
|
||||
tasks: [],
|
||||
users: [],
|
||||
},
|
||||
},
|
||||
supervisor: {
|
||||
claims: [
|
||||
"user:read",
|
||||
"org:read",
|
||||
"org:write",
|
||||
"org:delete",
|
||||
"permit:read",
|
||||
"permit:write",
|
||||
"permit:delete",
|
||||
"file:upload",
|
||||
"file:download",
|
||||
"file:delete",
|
||||
],
|
||||
hiddenFields: {
|
||||
orgs: [],
|
||||
permits: [],
|
||||
rts: [],
|
||||
tasks: [],
|
||||
users: [],
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
export const roles = Object.keys(rules) as [
|
||||
keyof typeof rules,
|
||||
...(keyof typeof rules)[]
|
||||
];
|
||||
Reference in New Issue
Block a user