@illustrisinteractive/sentinel-nest 0.0.6 → 0.1.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/config/config.json +24 -24
  2. package/dist/bin/resource.js +2 -1
  3. package/dist/bin/resource.js.map +1 -1
  4. package/dist/models/SecuredResource.d.ts +1 -0
  5. package/dist/src/generated/prisma/internal/class.js +1 -1
  6. package/dist/src/generated/prisma/internal/class.js.map +1 -1
  7. package/dist/src/generated/prisma/models/ModelHasRoles.d.ts +18 -18
  8. package/dist/src/generated/prisma/models/PermissionKeys.d.ts +10 -10
  9. package/dist/src/generated/prisma/models/RoleHasPermissions.d.ts +18 -18
  10. package/dist/src/generated/prisma/models/Roles.d.ts +15 -15
  11. package/dist/src/generated/prisma/models/Users.d.ts +10 -10
  12. package/dist/src/models/SecuredResource.d.ts +1 -0
  13. package/dist/src/sentinel.guard.js +4 -4
  14. package/dist/src/sentinel.guard.js.map +1 -1
  15. package/dist/src/sentinel.service.d.ts +15 -1
  16. package/dist/src/sentinel.service.js +57 -2
  17. package/dist/src/sentinel.service.js.map +1 -1
  18. package/dist/tsconfig.build.tsbuildinfo +1 -1
  19. package/dist/tsconfig.tsbuildinfo +1 -1
  20. package/models/index.js +43 -43
  21. package/models/role.js +22 -22
  22. package/models/rolehaspermission.js +43 -43
  23. package/package.json +1 -1
  24. package/prisma/migrations/20260227023704_init/migration.sql +74 -74
  25. package/prisma/migrations/migration_lock.toml +3 -3
  26. package/prisma/schema.prisma +62 -62
  27. package/prisma.config.ts +14 -14
  28. package/src/bin/migrations/1-create-permission.js +32 -32
  29. package/src/bin/migrations/2-create-role.js +29 -29
  30. package/src/bin/migrations/3-create-rolepermissions.js +46 -46
  31. package/src/bin/resource.ts +2 -1
  32. package/src/generated/prisma/browser.ts +49 -49
  33. package/src/generated/prisma/client.ts +69 -69
  34. package/src/generated/prisma/commonInputTypes.ts +302 -302
  35. package/src/generated/prisma/enums.ts +15 -15
  36. package/src/generated/prisma/internal/class.ts +250 -250
  37. package/src/generated/prisma/internal/prismaNamespace.ts +1213 -1213
  38. package/src/generated/prisma/internal/prismaNamespaceBrowser.ts +163 -163
  39. package/src/generated/prisma/models/ModelHasRoles.ts +1521 -1521
  40. package/src/generated/prisma/models/PermissionKeys.ts +1362 -1362
  41. package/src/generated/prisma/models/RoleHasPermissions.ts +1503 -1503
  42. package/src/generated/prisma/models/Roles.ts +1437 -1437
  43. package/src/generated/prisma/models/SequelizeMeta.ts +1032 -1032
  44. package/src/generated/prisma/models/Users.ts +1402 -1402
  45. package/src/generated/prisma/models.ts +16 -16
  46. package/src/models/SecuredResource.d.ts +8 -8
  47. package/src/models/SecuredResource.ts +1 -0
  48. package/src/models/SentinelConfig.d.ts +4 -4
  49. package/src/sentinel.guard.ts +13 -5
  50. package/src/sentinel.service.ts +74 -7
  51. package/dist/src/sentinel/resources/NewResource3.d.ts +0 -4
  52. package/dist/src/sentinel/resources/NewResource3.js +0 -18
  53. package/dist/src/sentinel/resources/NewResource3.js.map +0 -1
  54. package/dist/src/sentinel/resources/TestResource.d.ts +0 -4
  55. package/dist/src/sentinel/resources/TestResource.js +0 -18
  56. package/dist/src/sentinel/resources/TestResource.js.map +0 -1
  57. package/src/sentinel/resources/.sentinel/NewResource2.d.ts +0 -4
  58. package/src/sentinel/resources/.sentinel/NewResource2.js +0 -13
  59. package/src/sentinel/resources/.sentinel/NewResource2.js.map +0 -1
  60. package/src/sentinel/resources/.sentinel/NewResource3.d.ts +0 -4
  61. package/src/sentinel/resources/.sentinel/NewResource3.js +0 -18
  62. package/src/sentinel/resources/.sentinel/NewResource3.js.map +0 -1
  63. package/src/sentinel/resources/.sentinel/TestResource.d.ts +0 -5
  64. package/src/sentinel/resources/.sentinel/TestResource.js +0 -19
  65. package/src/sentinel/resources/.sentinel/TestResource.js.map +0 -1
  66. package/src/sentinel/resources/.sentinel/tsconfig.tsbuildinfo +0 -1
  67. package/src/sentinel/resources/NewResource3.ts +0 -18
  68. package/src/sentinel/resources/TestResource.ts +0 -18
  69. package/src/sentinel/resources/tsconfig.json +0 -26
  70. package/src/sentinel/sentinel.config.json +0 -39
@@ -1,24 +1,24 @@
1
- {
2
- "development": {
3
- "username": "postgres",
4
- "password": "root",
5
- "database": "pmo",
6
- "host": "127.0.0.1",
7
- "dialect": "postgres",
8
- "port": 5433
9
- },
10
- "test": {
11
- "username": "root",
12
- "password": null,
13
- "database": "database_test",
14
- "host": "127.0.0.1",
15
- "dialect": "mysql"
16
- },
17
- "production": {
18
- "username": "root",
19
- "password": null,
20
- "database": "database_production",
21
- "host": "127.0.0.1",
22
- "dialect": "mysql"
23
- }
24
- }
1
+ {
2
+ "development": {
3
+ "username": "postgres",
4
+ "password": "root",
5
+ "database": "pmo",
6
+ "host": "127.0.0.1",
7
+ "dialect": "postgres",
8
+ "port": 5433
9
+ },
10
+ "test": {
11
+ "username": "root",
12
+ "password": null,
13
+ "database": "database_test",
14
+ "host": "127.0.0.1",
15
+ "dialect": "mysql"
16
+ },
17
+ "production": {
18
+ "username": "root",
19
+ "password": null,
20
+ "database": "database_production",
21
+ "host": "127.0.0.1",
22
+ "dialect": "mysql"
23
+ }
24
+ }
@@ -31,7 +31,7 @@ const resource = async (name, manage) => {
31
31
  const project = new ts_morph_1.Project();
32
32
  const resourceFile = project.createSourceFile(process.cwd() + '\\src\\sentinel\\resources\\' + name + '.ts', `export class ${name} {}`);
33
33
  resourceFile.addImportDeclaration({
34
- moduleSpecifier: '@luminotion/sentinel',
34
+ moduleSpecifier: '@illustrisinteractive/sentinel',
35
35
  namedImports: [
36
36
  { name: 'SecuredResource' },
37
37
  { name: 'SecuredResourceAction' },
@@ -59,6 +59,7 @@ const resource = async (name, manage) => {
59
59
  statements: [
60
60
  `Object.keys(${name}.actions).forEach((key) => {
61
61
  ${name}.actions[key].source = '${name}';
62
+ ${name}.actions[key].resource = key;
62
63
  });`,
63
64
  ],
64
65
  });
@@ -1 +1 @@
1
- {"version":3,"file":"resource.js","sourceRoot":"","sources":["../../src/bin/resource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource.js","sourceRoot":"","sources":["../../src/bin/resource.ts"],"names":[],"mappings":"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"}
@@ -5,4 +5,5 @@ export declare abstract class SecuredResource {
5
5
  export interface SecuredResourceAction {
6
6
  description?: string;
7
7
  source?: string;
8
+ resource?: string;
8
9
  }
@@ -40,7 +40,7 @@ const config = {
40
40
  "clientVersion": "7.4.1",
41
41
  "engineVersion": "55ae170b1ced7fc6ed07a15f110549408c501bb3",
42
42
  "activeProvider": "postgresql",
43
- "inlineSchema": "generator client {\n provider = \"prisma-client\"\n output = \"../src/generated/prisma\"\n moduleFormat = \"cjs\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n}\n\nmodel ModelHasRoles {\n id Int @id @default(autoincrement())\n role Int\n model Int\n createdAt DateTime @db.Timestamptz(6)\n updatedAt DateTime @db.Timestamptz(6)\n Users Users @relation(fields: [model], references: [id], onDelete: NoAction, onUpdate: NoAction)\n Roles Roles @relation(fields: [role], references: [id], onDelete: NoAction, onUpdate: NoAction)\n}\n\nmodel PermissionKeys {\n id String @id @db.VarChar(255)\n resource String? @db.VarChar(255)\n action String? @db.VarChar(255)\n createdAt DateTime @db.Timestamptz(6)\n updatedAt DateTime @db.Timestamptz(6)\n description String? @db.VarChar(255)\n RoleHasPermissions RoleHasPermissions[]\n}\n\nmodel RoleHasPermissions {\n id Int @id @default(autoincrement())\n role Int\n permission String @db.VarChar(255)\n createdAt DateTime @db.Timestamptz(6)\n updatedAt DateTime @db.Timestamptz(6)\n PermissionKeys PermissionKeys @relation(fields: [permission], references: [id], onDelete: NoAction, onUpdate: NoAction)\n Roles Roles @relation(fields: [role], references: [id], onDelete: NoAction, onUpdate: NoAction)\n}\n\nmodel Roles {\n id Int @id @default(autoincrement())\n name String? @db.VarChar(255)\n createdAt DateTime @db.Timestamptz(6)\n updatedAt DateTime @db.Timestamptz(6)\n ModelHasRoles ModelHasRoles[]\n RoleHasPermissions RoleHasPermissions[]\n}\n\nmodel SequelizeMeta {\n name String @id @db.VarChar(255)\n}\n\nmodel Users {\n id Int @id\n firstName String? @db.VarChar(255)\n lastName String? @db.VarChar(255)\n isActive Boolean? @default(true)\n createdAt DateTime @db.Timestamptz(6)\n updatedAt DateTime @db.Timestamptz(6)\n ModelHasRoles ModelHasRoles[]\n}\n",
43
+ "inlineSchema": "generator client {\n provider = \"prisma-client\"\n output = \"../src/generated/prisma\"\n moduleFormat = \"cjs\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n}\n\nmodel ModelHasRoles {\n id Int @id @default(autoincrement())\n role Int\n model Int\n createdAt DateTime @default(now()) @db.Timestamptz(6)\n updatedAt DateTime @default(now()) @db.Timestamptz(6)\n Users Users @relation(fields: [model], references: [id], onDelete: NoAction, onUpdate: NoAction)\n Roles Roles @relation(fields: [role], references: [id], onDelete: NoAction, onUpdate: NoAction)\n}\n\nmodel PermissionKeys {\n id String @id @db.VarChar(255)\n resource String? @db.VarChar(255)\n action String? @db.VarChar(255)\n createdAt DateTime @default(now()) @db.Timestamptz(6)\n updatedAt DateTime @default(now()) @db.Timestamptz(6)\n description String? @db.VarChar(255)\n RoleHasPermissions RoleHasPermissions[]\n}\n\nmodel RoleHasPermissions {\n id Int @id @default(autoincrement())\n role Int\n permission String @db.VarChar(255)\n createdAt DateTime @default(now()) @db.Timestamptz(6)\n updatedAt DateTime @default(now()) @db.Timestamptz(6)\n PermissionKeys PermissionKeys @relation(fields: [permission], references: [id], onDelete: NoAction, onUpdate: NoAction)\n Roles Roles @relation(fields: [role], references: [id], onDelete: NoAction, onUpdate: NoAction)\n}\n\nmodel Roles {\n id Int @id @default(autoincrement())\n name String? @db.VarChar(255)\n createdAt DateTime @default(now()) @db.Timestamptz(6)\n updatedAt DateTime @default(now()) @db.Timestamptz(6)\n ModelHasRoles ModelHasRoles[]\n RoleHasPermissions RoleHasPermissions[]\n}\n\nmodel SequelizeMeta {\n name String @id @db.VarChar(255)\n}\n\nmodel Users {\n id Int @id\n firstName String? @db.VarChar(255)\n lastName String? @db.VarChar(255)\n isActive Boolean? @default(true)\n createdAt DateTime @default(now()) @db.Timestamptz(6)\n updatedAt DateTime @default(now()) @db.Timestamptz(6)\n ModelHasRoles ModelHasRoles[]\n}\n",
44
44
  "runtimeDataModel": {
45
45
  "models": {},
46
46
  "enums": {},
@@ -1 +1 @@
1
- {"version":3,"file":"class.js","sourceRoot":"","sources":["../../../../../src/generated/prisma/internal/class.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuPA,oDAEC;AA5OD,uEAAwD;AAIxD,MAAM,MAAM,GAAkC;IAC5C,iBAAiB,EAAE,EAAE;IACrB,eAAe,EAAE,OAAO;IACxB,eAAe,EAAE,0CAA0C;IAC3D,gBAAgB,EAAE,YAAY;IAC9B,cAAc,EAAE,qwEAAqwE;IACrxE,kBAAkB,EAAE;QAClB,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;KACZ;IACD,wBAAwB,EAAE;QACxB,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,EAAE;KACZ;CACF,CAAA;AAED,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,+5FAA+5F,CAAC,CAAA;AACr8F,MAAM,CAAC,sBAAsB,GAAG;IAC9B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,g4GAAg4G,CAAC;IACr5G,KAAK,EAAE,w6YAAw6Y;CACh7Y,CAAA;AAED,KAAK,UAAU,kBAAkB,CAAC,UAAkB;IAClD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAA;IAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IACnD,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;AAC1C,CAAC;AAED,MAAM,CAAC,YAAY,GAAG;IACpB,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,MAAM,CAAC,6DAA6D,CAAC;IAEnG,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,yEAAyE,CAAC,CAAA;QACxG,OAAO,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAA;IACvC,CAAC;IAED,UAAU,EAAE,6BAA6B;CAC1C,CAAA;AAgMD,SAAgB,oBAAoB;IAClC,OAAO,OAAO,CAAC,eAAe,CAAC,MAAM,CAAuC,CAAA;AAC9E,CAAC"}
1
+ {"version":3,"file":"class.js","sourceRoot":"","sources":["../../../../../src/generated/prisma/internal/class.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuPA,oDAEC;AA5OD,uEAAwD;AAIxD,MAAM,MAAM,GAAkC;IAC5C,iBAAiB,EAAE,EAAE;IACrB,eAAe,EAAE,OAAO;IACxB,eAAe,EAAE,0CAA0C;IAC3D,gBAAgB,EAAE,YAAY;IAC9B,cAAc,EAAE,q6EAAq6E;IACr7E,kBAAkB,EAAE;QAClB,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;KACZ;IACD,wBAAwB,EAAE;QACxB,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,EAAE;KACZ;CACF,CAAA;AAED,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,+5FAA+5F,CAAC,CAAA;AACr8F,MAAM,CAAC,sBAAsB,GAAG;IAC9B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,g4GAAg4G,CAAC;IACr5G,KAAK,EAAE,w6YAAw6Y;CACh7Y,CAAA;AAED,KAAK,UAAU,kBAAkB,CAAC,UAAkB;IAClD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAA;IAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IACnD,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;AAC1C,CAAC;AAED,MAAM,CAAC,YAAY,GAAG;IACpB,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,MAAM,CAAC,6DAA6D,CAAC;IAEnG,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,yEAAyE,CAAC,CAAA;QACxG,OAAO,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAA;IACvC,CAAC;IAED,UAAU,EAAE,6BAA6B;CAC1C,CAAA;AAgMD,SAAgB,oBAAoB;IAClC,OAAO,OAAO,CAAC,eAAe,CAAC,MAAM,CAAuC,CAAA;AAC9E,CAAC"}
@@ -171,8 +171,8 @@ export type ModelHasRolesScalarWhereWithAggregatesInput = {
171
171
  updatedAt?: Prisma.DateTimeWithAggregatesFilter<"ModelHasRoles"> | Date | string;
172
172
  };
173
173
  export type ModelHasRolesCreateInput = {
174
- createdAt: Date | string;
175
- updatedAt: Date | string;
174
+ createdAt?: Date | string;
175
+ updatedAt?: Date | string;
176
176
  Users: Prisma.UsersCreateNestedOneWithoutModelHasRolesInput;
177
177
  Roles: Prisma.RolesCreateNestedOneWithoutModelHasRolesInput;
178
178
  };
@@ -180,8 +180,8 @@ export type ModelHasRolesUncheckedCreateInput = {
180
180
  id?: number;
181
181
  role: number;
182
182
  model: number;
183
- createdAt: Date | string;
184
- updatedAt: Date | string;
183
+ createdAt?: Date | string;
184
+ updatedAt?: Date | string;
185
185
  };
186
186
  export type ModelHasRolesUpdateInput = {
187
187
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
@@ -200,8 +200,8 @@ export type ModelHasRolesCreateManyInput = {
200
200
  id?: number;
201
201
  role: number;
202
202
  model: number;
203
- createdAt: Date | string;
204
- updatedAt: Date | string;
203
+ createdAt?: Date | string;
204
+ updatedAt?: Date | string;
205
205
  };
206
206
  export type ModelHasRolesUpdateManyMutationInput = {
207
207
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
@@ -340,15 +340,15 @@ export type ModelHasRolesUncheckedUpdateManyWithoutUsersNestedInput = {
340
340
  deleteMany?: Prisma.ModelHasRolesScalarWhereInput | Prisma.ModelHasRolesScalarWhereInput[];
341
341
  };
342
342
  export type ModelHasRolesCreateWithoutRolesInput = {
343
- createdAt: Date | string;
344
- updatedAt: Date | string;
343
+ createdAt?: Date | string;
344
+ updatedAt?: Date | string;
345
345
  Users: Prisma.UsersCreateNestedOneWithoutModelHasRolesInput;
346
346
  };
347
347
  export type ModelHasRolesUncheckedCreateWithoutRolesInput = {
348
348
  id?: number;
349
349
  model: number;
350
- createdAt: Date | string;
351
- updatedAt: Date | string;
350
+ createdAt?: Date | string;
351
+ updatedAt?: Date | string;
352
352
  };
353
353
  export type ModelHasRolesCreateOrConnectWithoutRolesInput = {
354
354
  where: Prisma.ModelHasRolesWhereUniqueInput;
@@ -382,15 +382,15 @@ export type ModelHasRolesScalarWhereInput = {
382
382
  updatedAt?: Prisma.DateTimeFilter<"ModelHasRoles"> | Date | string;
383
383
  };
384
384
  export type ModelHasRolesCreateWithoutUsersInput = {
385
- createdAt: Date | string;
386
- updatedAt: Date | string;
385
+ createdAt?: Date | string;
386
+ updatedAt?: Date | string;
387
387
  Roles: Prisma.RolesCreateNestedOneWithoutModelHasRolesInput;
388
388
  };
389
389
  export type ModelHasRolesUncheckedCreateWithoutUsersInput = {
390
390
  id?: number;
391
391
  role: number;
392
- createdAt: Date | string;
393
- updatedAt: Date | string;
392
+ createdAt?: Date | string;
393
+ updatedAt?: Date | string;
394
394
  };
395
395
  export type ModelHasRolesCreateOrConnectWithoutUsersInput = {
396
396
  where: Prisma.ModelHasRolesWhereUniqueInput;
@@ -416,8 +416,8 @@ export type ModelHasRolesUpdateManyWithWhereWithoutUsersInput = {
416
416
  export type ModelHasRolesCreateManyRolesInput = {
417
417
  id?: number;
418
418
  model: number;
419
- createdAt: Date | string;
420
- updatedAt: Date | string;
419
+ createdAt?: Date | string;
420
+ updatedAt?: Date | string;
421
421
  };
422
422
  export type ModelHasRolesUpdateWithoutRolesInput = {
423
423
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
@@ -439,8 +439,8 @@ export type ModelHasRolesUncheckedUpdateManyWithoutRolesInput = {
439
439
  export type ModelHasRolesCreateManyUsersInput = {
440
440
  id?: number;
441
441
  role: number;
442
- createdAt: Date | string;
443
- updatedAt: Date | string;
442
+ createdAt?: Date | string;
443
+ updatedAt?: Date | string;
444
444
  };
445
445
  export type ModelHasRolesUpdateWithoutUsersInput = {
446
446
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
@@ -153,8 +153,8 @@ export type PermissionKeysCreateInput = {
153
153
  id: string;
154
154
  resource?: string | null;
155
155
  action?: string | null;
156
- createdAt: Date | string;
157
- updatedAt: Date | string;
156
+ createdAt?: Date | string;
157
+ updatedAt?: Date | string;
158
158
  description?: string | null;
159
159
  RoleHasPermissions?: Prisma.RoleHasPermissionsCreateNestedManyWithoutPermissionKeysInput;
160
160
  };
@@ -162,8 +162,8 @@ export type PermissionKeysUncheckedCreateInput = {
162
162
  id: string;
163
163
  resource?: string | null;
164
164
  action?: string | null;
165
- createdAt: Date | string;
166
- updatedAt: Date | string;
165
+ createdAt?: Date | string;
166
+ updatedAt?: Date | string;
167
167
  description?: string | null;
168
168
  RoleHasPermissions?: Prisma.RoleHasPermissionsUncheckedCreateNestedManyWithoutPermissionKeysInput;
169
169
  };
@@ -189,8 +189,8 @@ export type PermissionKeysCreateManyInput = {
189
189
  id: string;
190
190
  resource?: string | null;
191
191
  action?: string | null;
192
- createdAt: Date | string;
193
- updatedAt: Date | string;
192
+ createdAt?: Date | string;
193
+ updatedAt?: Date | string;
194
194
  description?: string | null;
195
195
  };
196
196
  export type PermissionKeysUpdateManyMutationInput = {
@@ -259,16 +259,16 @@ export type PermissionKeysCreateWithoutRoleHasPermissionsInput = {
259
259
  id: string;
260
260
  resource?: string | null;
261
261
  action?: string | null;
262
- createdAt: Date | string;
263
- updatedAt: Date | string;
262
+ createdAt?: Date | string;
263
+ updatedAt?: Date | string;
264
264
  description?: string | null;
265
265
  };
266
266
  export type PermissionKeysUncheckedCreateWithoutRoleHasPermissionsInput = {
267
267
  id: string;
268
268
  resource?: string | null;
269
269
  action?: string | null;
270
- createdAt: Date | string;
271
- updatedAt: Date | string;
270
+ createdAt?: Date | string;
271
+ updatedAt?: Date | string;
272
272
  description?: string | null;
273
273
  };
274
274
  export type PermissionKeysCreateOrConnectWithoutRoleHasPermissionsInput = {
@@ -167,8 +167,8 @@ export type RoleHasPermissionsScalarWhereWithAggregatesInput = {
167
167
  updatedAt?: Prisma.DateTimeWithAggregatesFilter<"RoleHasPermissions"> | Date | string;
168
168
  };
169
169
  export type RoleHasPermissionsCreateInput = {
170
- createdAt: Date | string;
171
- updatedAt: Date | string;
170
+ createdAt?: Date | string;
171
+ updatedAt?: Date | string;
172
172
  PermissionKeys: Prisma.PermissionKeysCreateNestedOneWithoutRoleHasPermissionsInput;
173
173
  Roles: Prisma.RolesCreateNestedOneWithoutRoleHasPermissionsInput;
174
174
  };
@@ -176,8 +176,8 @@ export type RoleHasPermissionsUncheckedCreateInput = {
176
176
  id?: number;
177
177
  role: number;
178
178
  permission: string;
179
- createdAt: Date | string;
180
- updatedAt: Date | string;
179
+ createdAt?: Date | string;
180
+ updatedAt?: Date | string;
181
181
  };
182
182
  export type RoleHasPermissionsUpdateInput = {
183
183
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
@@ -196,8 +196,8 @@ export type RoleHasPermissionsCreateManyInput = {
196
196
  id?: number;
197
197
  role: number;
198
198
  permission: string;
199
- createdAt: Date | string;
200
- updatedAt: Date | string;
199
+ createdAt?: Date | string;
200
+ updatedAt?: Date | string;
201
201
  };
202
202
  export type RoleHasPermissionsUpdateManyMutationInput = {
203
203
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
@@ -324,15 +324,15 @@ export type RoleHasPermissionsUncheckedUpdateManyWithoutRolesNestedInput = {
324
324
  deleteMany?: Prisma.RoleHasPermissionsScalarWhereInput | Prisma.RoleHasPermissionsScalarWhereInput[];
325
325
  };
326
326
  export type RoleHasPermissionsCreateWithoutPermissionKeysInput = {
327
- createdAt: Date | string;
328
- updatedAt: Date | string;
327
+ createdAt?: Date | string;
328
+ updatedAt?: Date | string;
329
329
  Roles: Prisma.RolesCreateNestedOneWithoutRoleHasPermissionsInput;
330
330
  };
331
331
  export type RoleHasPermissionsUncheckedCreateWithoutPermissionKeysInput = {
332
332
  id?: number;
333
333
  role: number;
334
- createdAt: Date | string;
335
- updatedAt: Date | string;
334
+ createdAt?: Date | string;
335
+ updatedAt?: Date | string;
336
336
  };
337
337
  export type RoleHasPermissionsCreateOrConnectWithoutPermissionKeysInput = {
338
338
  where: Prisma.RoleHasPermissionsWhereUniqueInput;
@@ -366,15 +366,15 @@ export type RoleHasPermissionsScalarWhereInput = {
366
366
  updatedAt?: Prisma.DateTimeFilter<"RoleHasPermissions"> | Date | string;
367
367
  };
368
368
  export type RoleHasPermissionsCreateWithoutRolesInput = {
369
- createdAt: Date | string;
370
- updatedAt: Date | string;
369
+ createdAt?: Date | string;
370
+ updatedAt?: Date | string;
371
371
  PermissionKeys: Prisma.PermissionKeysCreateNestedOneWithoutRoleHasPermissionsInput;
372
372
  };
373
373
  export type RoleHasPermissionsUncheckedCreateWithoutRolesInput = {
374
374
  id?: number;
375
375
  permission: string;
376
- createdAt: Date | string;
377
- updatedAt: Date | string;
376
+ createdAt?: Date | string;
377
+ updatedAt?: Date | string;
378
378
  };
379
379
  export type RoleHasPermissionsCreateOrConnectWithoutRolesInput = {
380
380
  where: Prisma.RoleHasPermissionsWhereUniqueInput;
@@ -400,8 +400,8 @@ export type RoleHasPermissionsUpdateManyWithWhereWithoutRolesInput = {
400
400
  export type RoleHasPermissionsCreateManyPermissionKeysInput = {
401
401
  id?: number;
402
402
  role: number;
403
- createdAt: Date | string;
404
- updatedAt: Date | string;
403
+ createdAt?: Date | string;
404
+ updatedAt?: Date | string;
405
405
  };
406
406
  export type RoleHasPermissionsUpdateWithoutPermissionKeysInput = {
407
407
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
@@ -423,8 +423,8 @@ export type RoleHasPermissionsUncheckedUpdateManyWithoutPermissionKeysInput = {
423
423
  export type RoleHasPermissionsCreateManyRolesInput = {
424
424
  id?: number;
425
425
  permission: string;
426
- createdAt: Date | string;
427
- updatedAt: Date | string;
426
+ createdAt?: Date | string;
427
+ updatedAt?: Date | string;
428
428
  };
429
429
  export type RoleHasPermissionsUpdateWithoutRolesInput = {
430
430
  createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
@@ -152,16 +152,16 @@ export type RolesScalarWhereWithAggregatesInput = {
152
152
  };
153
153
  export type RolesCreateInput = {
154
154
  name?: string | null;
155
- createdAt: Date | string;
156
- updatedAt: Date | string;
155
+ createdAt?: Date | string;
156
+ updatedAt?: Date | string;
157
157
  ModelHasRoles?: Prisma.ModelHasRolesCreateNestedManyWithoutRolesInput;
158
158
  RoleHasPermissions?: Prisma.RoleHasPermissionsCreateNestedManyWithoutRolesInput;
159
159
  };
160
160
  export type RolesUncheckedCreateInput = {
161
161
  id?: number;
162
162
  name?: string | null;
163
- createdAt: Date | string;
164
- updatedAt: Date | string;
163
+ createdAt?: Date | string;
164
+ updatedAt?: Date | string;
165
165
  ModelHasRoles?: Prisma.ModelHasRolesUncheckedCreateNestedManyWithoutRolesInput;
166
166
  RoleHasPermissions?: Prisma.RoleHasPermissionsUncheckedCreateNestedManyWithoutRolesInput;
167
167
  };
@@ -183,8 +183,8 @@ export type RolesUncheckedUpdateInput = {
183
183
  export type RolesCreateManyInput = {
184
184
  id?: number;
185
185
  name?: string | null;
186
- createdAt: Date | string;
187
- updatedAt: Date | string;
186
+ createdAt?: Date | string;
187
+ updatedAt?: Date | string;
188
188
  };
189
189
  export type RolesUpdateManyMutationInput = {
190
190
  name?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
@@ -251,15 +251,15 @@ export type RolesUpdateOneRequiredWithoutRoleHasPermissionsNestedInput = {
251
251
  };
252
252
  export type RolesCreateWithoutModelHasRolesInput = {
253
253
  name?: string | null;
254
- createdAt: Date | string;
255
- updatedAt: Date | string;
254
+ createdAt?: Date | string;
255
+ updatedAt?: Date | string;
256
256
  RoleHasPermissions?: Prisma.RoleHasPermissionsCreateNestedManyWithoutRolesInput;
257
257
  };
258
258
  export type RolesUncheckedCreateWithoutModelHasRolesInput = {
259
259
  id?: number;
260
260
  name?: string | null;
261
- createdAt: Date | string;
262
- updatedAt: Date | string;
261
+ createdAt?: Date | string;
262
+ updatedAt?: Date | string;
263
263
  RoleHasPermissions?: Prisma.RoleHasPermissionsUncheckedCreateNestedManyWithoutRolesInput;
264
264
  };
265
265
  export type RolesCreateOrConnectWithoutModelHasRolesInput = {
@@ -290,15 +290,15 @@ export type RolesUncheckedUpdateWithoutModelHasRolesInput = {
290
290
  };
291
291
  export type RolesCreateWithoutRoleHasPermissionsInput = {
292
292
  name?: string | null;
293
- createdAt: Date | string;
294
- updatedAt: Date | string;
293
+ createdAt?: Date | string;
294
+ updatedAt?: Date | string;
295
295
  ModelHasRoles?: Prisma.ModelHasRolesCreateNestedManyWithoutRolesInput;
296
296
  };
297
297
  export type RolesUncheckedCreateWithoutRoleHasPermissionsInput = {
298
298
  id?: number;
299
299
  name?: string | null;
300
- createdAt: Date | string;
301
- updatedAt: Date | string;
300
+ createdAt?: Date | string;
301
+ updatedAt?: Date | string;
302
302
  ModelHasRoles?: Prisma.ModelHasRolesUncheckedCreateNestedManyWithoutRolesInput;
303
303
  };
304
304
  export type RolesCreateOrConnectWithoutRoleHasPermissionsInput = {
@@ -503,7 +503,7 @@ export type RolesCreateArgs<ExtArgs extends runtime.Types.Extensions.InternalArg
503
503
  select?: Prisma.RolesSelect<ExtArgs> | null;
504
504
  omit?: Prisma.RolesOmit<ExtArgs> | null;
505
505
  include?: Prisma.RolesInclude<ExtArgs> | null;
506
- data: Prisma.XOR<Prisma.RolesCreateInput, Prisma.RolesUncheckedCreateInput>;
506
+ data?: Prisma.XOR<Prisma.RolesCreateInput, Prisma.RolesUncheckedCreateInput>;
507
507
  };
508
508
  export type RolesCreateManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
509
509
  data: Prisma.RolesCreateManyInput | Prisma.RolesCreateManyInput[];
@@ -176,8 +176,8 @@ export type UsersCreateInput = {
176
176
  firstName?: string | null;
177
177
  lastName?: string | null;
178
178
  isActive?: boolean | null;
179
- createdAt: Date | string;
180
- updatedAt: Date | string;
179
+ createdAt?: Date | string;
180
+ updatedAt?: Date | string;
181
181
  ModelHasRoles?: Prisma.ModelHasRolesCreateNestedManyWithoutUsersInput;
182
182
  };
183
183
  export type UsersUncheckedCreateInput = {
@@ -185,8 +185,8 @@ export type UsersUncheckedCreateInput = {
185
185
  firstName?: string | null;
186
186
  lastName?: string | null;
187
187
  isActive?: boolean | null;
188
- createdAt: Date | string;
189
- updatedAt: Date | string;
188
+ createdAt?: Date | string;
189
+ updatedAt?: Date | string;
190
190
  ModelHasRoles?: Prisma.ModelHasRolesUncheckedCreateNestedManyWithoutUsersInput;
191
191
  };
192
192
  export type UsersUpdateInput = {
@@ -212,8 +212,8 @@ export type UsersCreateManyInput = {
212
212
  firstName?: string | null;
213
213
  lastName?: string | null;
214
214
  isActive?: boolean | null;
215
- createdAt: Date | string;
216
- updatedAt: Date | string;
215
+ createdAt?: Date | string;
216
+ updatedAt?: Date | string;
217
217
  };
218
218
  export type UsersUpdateManyMutationInput = {
219
219
  id?: Prisma.IntFieldUpdateOperationsInput | number;
@@ -285,16 +285,16 @@ export type UsersCreateWithoutModelHasRolesInput = {
285
285
  firstName?: string | null;
286
286
  lastName?: string | null;
287
287
  isActive?: boolean | null;
288
- createdAt: Date | string;
289
- updatedAt: Date | string;
288
+ createdAt?: Date | string;
289
+ updatedAt?: Date | string;
290
290
  };
291
291
  export type UsersUncheckedCreateWithoutModelHasRolesInput = {
292
292
  id: number;
293
293
  firstName?: string | null;
294
294
  lastName?: string | null;
295
295
  isActive?: boolean | null;
296
- createdAt: Date | string;
297
- updatedAt: Date | string;
296
+ createdAt?: Date | string;
297
+ updatedAt?: Date | string;
298
298
  };
299
299
  export type UsersCreateOrConnectWithoutModelHasRolesInput = {
300
300
  where: Prisma.UsersWhereUniqueInput;
@@ -5,4 +5,5 @@ export declare abstract class SecuredResource {
5
5
  export interface SecuredResourceAction {
6
6
  description?: string;
7
7
  source?: string;
8
+ resource?: string;
8
9
  }
@@ -22,11 +22,11 @@ let SentinelGuard = class SentinelGuard {
22
22
  this.reflector = reflector;
23
23
  }
24
24
  canActivate(context) {
25
- console.log(this.reflector);
26
25
  const requiredActions = this.reflector.get(can_decorator_1.Can, context.getHandler());
27
- console.log(requiredActions);
28
- if (requiredActions.length == 0)
26
+ if (!requiredActions || requiredActions.length == 0) {
27
+ common_1.Logger.warn('It seems like you used SentinelGuard without passing a SecuredResourceAction to look out for. Handler: ${context.getHandler().name}');
29
28
  return true;
29
+ }
30
30
  let sentinelAuth = '';
31
31
  if (context.getType() == 'rpc') {
32
32
  const rpcContext = context.switchToRpc().getContext();
@@ -52,7 +52,7 @@ let SentinelGuard = class SentinelGuard {
52
52
  if (!action.source) {
53
53
  return false;
54
54
  }
55
- if (abilities.can(Object.keys(action)[0], action.source))
55
+ if (abilities.can(action.resource || '', action.source))
56
56
  return true;
57
57
  }
58
58
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"sentinel.guard.js","sourceRoot":"","sources":["../../src/sentinel.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA2E;AAC3E,yDAAqD;AAIrD,uCAAyC;AACzC,wDAA2C;AAGpC,IAAM,aAAa,GAAnB,MAAM,aAAa;IAEL;IACT;IAFV,YACmB,eAAgC,EACzC,SAAoB;QADX,oBAAe,GAAf,eAAe,CAAiB;QACzC,cAAS,GAAT,SAAS,CAAW;IAC3B,CAAC;IACJ,WAAW,CAAC,OAAyB;QACnC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5B,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CACxC,mBAAG,EACH,OAAO,CAAC,UAAU,EAAE,CACrB,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC7B,IAAI,eAAe,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAE7C,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,OAAO,CAAC,OAAO,EAAE,IAAI,KAAK,EAAE,CAAC;YAC/B,MAAM,UAAU,GAAa,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,CAAC;YAChE,YAAY,GAAG,UAAU,CAAC,GAAG,CAC3B,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,IAAI,gBAAgB,CACxD,CAAC,CAAC,CAAW,CAAC;QACjB,CAAC;aAAM,IAAI,OAAO,CAAC,OAAO,EAAE,IAAI,MAAM,EAAE,CAAC;YACvC,MAAM,WAAW,GAAY,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;YACjE,MAAM,MAAM,GACV,WAAW,CAAC,OAAO,CACjB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,IAAI,gBAAgB,CACxD,CAAC;YACJ,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,QAAQ,EAAE,CAAC;gBACxC,YAAY,GAAG,MAAM,CAAC;YACxB,CAAC;QACH,CAAC;;YAAM,OAAO,KAAK,CAAC;QAEpB,IAAI,CAAC,YAAY;YAAE,OAAO,KAAK,CAAC;QAEhC,IAAI,CAAC;YACH,MAAM,OAAO,GAAkB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACzE,IAAI,CAAC,OAAO;gBAAE,OAAO,KAAK,CAAC;YAE3B,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YACpE,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;gBACrC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;oBACnB,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC;oBAAE,OAAO,IAAI,CAAC;YACxE,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CACF,CAAA;AAlDY,sCAAa;wBAAb,aAAa;IADzB,IAAA,mBAAU,GAAE;qCAGyB,kCAAe;QAC9B,gBAAS;GAHnB,aAAa,CAkDzB"}
1
+ {"version":3,"file":"sentinel.guard.js","sourceRoot":"","sources":["../../src/sentinel.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAKwB;AACxB,yDAAqD;AAIrD,uCAAyC;AACzC,wDAA2C;AAGpC,IAAM,aAAa,GAAnB,MAAM,aAAa;IAEL;IACT;IAFV,YACmB,eAAgC,EACzC,SAAoB;QADX,oBAAe,GAAf,eAAe,CAAiB;QACzC,cAAS,GAAT,SAAS,CAAW;IAC3B,CAAC;IACJ,WAAW,CAAC,OAAyB;QACnC,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CACxC,mBAAG,EACH,OAAO,CAAC,UAAU,EAAE,CACrB,CAAC;QACF,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACpD,eAAM,CAAC,IAAI,CACT,qIAAqI,CACtI,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,OAAO,CAAC,OAAO,EAAE,IAAI,KAAK,EAAE,CAAC;YAC/B,MAAM,UAAU,GAAa,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,CAAC;YAChE,YAAY,GAAG,UAAU,CAAC,GAAG,CAC3B,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,IAAI,gBAAgB,CACxD,CAAC,CAAC,CAAW,CAAC;QACjB,CAAC;aAAM,IAAI,OAAO,CAAC,OAAO,EAAE,IAAI,MAAM,EAAE,CAAC;YACvC,MAAM,WAAW,GAAY,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;YACjE,MAAM,MAAM,GACV,WAAW,CAAC,OAAO,CACjB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,IAAI,gBAAgB,CACxD,CAAC;YACJ,IAAI,MAAM,IAAI,OAAO,MAAM,IAAI,QAAQ,EAAE,CAAC;gBACxC,YAAY,GAAG,MAAM,CAAC;YACxB,CAAC;QACH,CAAC;;YAAM,OAAO,KAAK,CAAC;QAEpB,IAAI,CAAC,YAAY;YAAE,OAAO,KAAK,CAAC;QAEhC,IAAI,CAAC;YACH,MAAM,OAAO,GAAkB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACzE,IAAI,CAAC,OAAO;gBAAE,OAAO,KAAK,CAAC;YAE3B,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YACpE,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;gBACrC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;oBACnB,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC;oBAAE,OAAO,IAAI,CAAC;YACvE,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CACF,CAAA;AArDY,sCAAa;wBAAb,aAAa;IADzB,IAAA,mBAAU,GAAE;qCAGyB,kCAAe;QAC9B,gBAAS;GAHnB,aAAa,CAqDzB"}
@@ -7,7 +7,7 @@ import { PermissionKeysModel } from './generated/prisma/models';
7
7
  import { MongoAbility } from '@casl/ability';
8
8
  import { ConfigService } from '@nestjs/config';
9
9
  import { JwtService } from '@nestjs/jwt';
10
- import { SentinelModel } from './models/SentinelModel';
10
+ import { SentinelModel, SentinelModelRole, SentinelPermissionKey } from './models/SentinelModel';
11
11
  export declare class SentinelService implements OnModuleInit {
12
12
  private _options;
13
13
  private prisma;
@@ -36,4 +36,18 @@ export declare class SentinelService implements OnModuleInit {
36
36
  updatedAt: Date;
37
37
  description: string | null;
38
38
  } | null>;
39
+ syncRolePermissions(role: SentinelModelRole, permissions: SentinelPermissionKey[]): Promise<void>;
40
+ assignModelToRole(model_id: number, role: {
41
+ id: number;
42
+ }): Promise<{
43
+ id: string;
44
+ resource: string | null;
45
+ action: string | null;
46
+ createdAt: Date;
47
+ updatedAt: Date;
48
+ description: string | null;
49
+ }[] | undefined>;
50
+ removeModelFromRole(model_id: number, role: {
51
+ id: number;
52
+ }): Promise<boolean>;
39
53
  }
@@ -46,7 +46,7 @@ let SentinelService = class SentinelService {
46
46
  const { can, cannot, build } = new ability_1.AbilityBuilder(ability_1.createMongoAbility);
47
47
  for (const resource of this.resources) {
48
48
  for (const action of Object.keys(resource.actions)) {
49
- if (model.permissions.find((permissions) => permissions.action == resource.actions[action])) {
49
+ if (model.permissions.find((permissions) => permissions.action == action)) {
50
50
  can(action, resource.name);
51
51
  }
52
52
  else
@@ -68,7 +68,7 @@ let SentinelService = class SentinelService {
68
68
  const { can, cannot, build } = new ability_1.AbilityBuilder(ability_1.createMongoAbility);
69
69
  for (const resource of this.resources) {
70
70
  for (const action of Object.keys(resource.actions)) {
71
- if (model.permissions.find((permissions) => permissions.action == resource.actions[action])) {
71
+ if (model.permissions.find((permissions) => permissions.action == action)) {
72
72
  can(action, resource.name);
73
73
  }
74
74
  else
@@ -134,6 +134,61 @@ let SentinelService = class SentinelService {
134
134
  },
135
135
  });
136
136
  }
137
+ async syncRolePermissions(role, permissions) {
138
+ try {
139
+ await this.prisma.roleHasPermissions.deleteMany({
140
+ where: {
141
+ role: role.id,
142
+ },
143
+ });
144
+ }
145
+ catch (error) {
146
+ new common_1.InternalServerErrorException({
147
+ code: 'guitar',
148
+ message: "An error occurred while trying to flush the Role's existing Permissions.",
149
+ cause: error,
150
+ });
151
+ }
152
+ const permissionsToAdd = permissions.map((permission) => ({
153
+ role: role.id,
154
+ permission: permission.id,
155
+ }));
156
+ await this.prisma.roleHasPermissions.createMany({
157
+ data: permissionsToAdd,
158
+ });
159
+ }
160
+ async assignModelToRole(model_id, role) {
161
+ const existingRecord = await this.prisma.modelHasRoles.findFirst({
162
+ where: {
163
+ AND: {
164
+ model: model_id,
165
+ role: role.id,
166
+ },
167
+ },
168
+ });
169
+ if (!existingRecord) {
170
+ await this.prisma.modelHasRoles.create({
171
+ data: {
172
+ model: model_id,
173
+ role: role.id,
174
+ },
175
+ });
176
+ return await this.getModelRoles(model_id);
177
+ }
178
+ }
179
+ async removeModelFromRole(model_id, role) {
180
+ const deletedModelRole = await this.prisma.modelHasRoles.deleteMany({
181
+ where: {
182
+ AND: {
183
+ model: model_id,
184
+ role: role.id,
185
+ },
186
+ },
187
+ });
188
+ if (deletedModelRole.count)
189
+ return true;
190
+ return false;
191
+ }
137
192
  };
138
193
  exports.SentinelService = SentinelService;
139
194
  exports.SentinelService = SentinelService = __decorate([