@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.
- package/config/config.json +24 -24
- package/dist/bin/resource.js +2 -1
- package/dist/bin/resource.js.map +1 -1
- package/dist/models/SecuredResource.d.ts +1 -0
- package/dist/src/generated/prisma/internal/class.js +1 -1
- package/dist/src/generated/prisma/internal/class.js.map +1 -1
- package/dist/src/generated/prisma/models/ModelHasRoles.d.ts +18 -18
- package/dist/src/generated/prisma/models/PermissionKeys.d.ts +10 -10
- package/dist/src/generated/prisma/models/RoleHasPermissions.d.ts +18 -18
- package/dist/src/generated/prisma/models/Roles.d.ts +15 -15
- package/dist/src/generated/prisma/models/Users.d.ts +10 -10
- package/dist/src/models/SecuredResource.d.ts +1 -0
- package/dist/src/sentinel.guard.js +4 -4
- package/dist/src/sentinel.guard.js.map +1 -1
- package/dist/src/sentinel.service.d.ts +15 -1
- package/dist/src/sentinel.service.js +57 -2
- package/dist/src/sentinel.service.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/models/index.js +43 -43
- package/models/role.js +22 -22
- package/models/rolehaspermission.js +43 -43
- package/package.json +1 -1
- package/prisma/migrations/20260227023704_init/migration.sql +74 -74
- package/prisma/migrations/migration_lock.toml +3 -3
- package/prisma/schema.prisma +62 -62
- package/prisma.config.ts +14 -14
- package/src/bin/migrations/1-create-permission.js +32 -32
- package/src/bin/migrations/2-create-role.js +29 -29
- package/src/bin/migrations/3-create-rolepermissions.js +46 -46
- package/src/bin/resource.ts +2 -1
- package/src/generated/prisma/browser.ts +49 -49
- package/src/generated/prisma/client.ts +69 -69
- package/src/generated/prisma/commonInputTypes.ts +302 -302
- package/src/generated/prisma/enums.ts +15 -15
- package/src/generated/prisma/internal/class.ts +250 -250
- package/src/generated/prisma/internal/prismaNamespace.ts +1213 -1213
- package/src/generated/prisma/internal/prismaNamespaceBrowser.ts +163 -163
- package/src/generated/prisma/models/ModelHasRoles.ts +1521 -1521
- package/src/generated/prisma/models/PermissionKeys.ts +1362 -1362
- package/src/generated/prisma/models/RoleHasPermissions.ts +1503 -1503
- package/src/generated/prisma/models/Roles.ts +1437 -1437
- package/src/generated/prisma/models/SequelizeMeta.ts +1032 -1032
- package/src/generated/prisma/models/Users.ts +1402 -1402
- package/src/generated/prisma/models.ts +16 -16
- package/src/models/SecuredResource.d.ts +8 -8
- package/src/models/SecuredResource.ts +1 -0
- package/src/models/SentinelConfig.d.ts +4 -4
- package/src/sentinel.guard.ts +13 -5
- package/src/sentinel.service.ts +74 -7
- package/dist/src/sentinel/resources/NewResource3.d.ts +0 -4
- package/dist/src/sentinel/resources/NewResource3.js +0 -18
- package/dist/src/sentinel/resources/NewResource3.js.map +0 -1
- package/dist/src/sentinel/resources/TestResource.d.ts +0 -4
- package/dist/src/sentinel/resources/TestResource.js +0 -18
- package/dist/src/sentinel/resources/TestResource.js.map +0 -1
- package/src/sentinel/resources/.sentinel/NewResource2.d.ts +0 -4
- package/src/sentinel/resources/.sentinel/NewResource2.js +0 -13
- package/src/sentinel/resources/.sentinel/NewResource2.js.map +0 -1
- package/src/sentinel/resources/.sentinel/NewResource3.d.ts +0 -4
- package/src/sentinel/resources/.sentinel/NewResource3.js +0 -18
- package/src/sentinel/resources/.sentinel/NewResource3.js.map +0 -1
- package/src/sentinel/resources/.sentinel/TestResource.d.ts +0 -5
- package/src/sentinel/resources/.sentinel/TestResource.js +0 -19
- package/src/sentinel/resources/.sentinel/TestResource.js.map +0 -1
- package/src/sentinel/resources/.sentinel/tsconfig.tsbuildinfo +0 -1
- package/src/sentinel/resources/NewResource3.ts +0 -18
- package/src/sentinel/resources/TestResource.ts +0 -18
- package/src/sentinel/resources/tsconfig.json +0 -26
- package/src/sentinel/sentinel.config.json +0 -39
package/config/config.json
CHANGED
|
@@ -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
|
+
}
|
package/dist/bin/resource.js
CHANGED
|
@@ -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: '@
|
|
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
|
});
|
package/dist/bin/resource.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource.js","sourceRoot":"","sources":["../../src/bin/resource.ts"],"names":[],"mappings":";;;;;;AACA,4CAA4C;AAG5C,uCAAmC;AACnC,4CAAoB;AACpB,qCAA+B;AAExB,MAAM,QAAQ,GAAG,KAAK,EAAE,IAAY,EAAE,MAAe,EAAE,EAAE;IAC9D,IAAA,eAAK,EAAC,cAAc,CAAC,CAAC;IACtB,aAAG,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;IAErD,IAAI,cAAc,GAAmB;QACnC,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,EAAE;QACd,kBAAkB,EAAE,EAAE;KACvB,CAAC;IACF,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,uCAAuC,CAAC,EAAE,CAAC;QAC5E,aAAG,CAAC,KAAK,CACP,4CAA4C,OAAO,CAAC,GAAG,EAAE,GAAG,iBAAiB,6DAA6D,CAC3I,CAAC;IACJ,CAAC;IACD,IAAI,CAAC;QACH,cAAc,GAAG,CACf,MAAM,MAAM,CACV,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,uCAAuC,EACnE;YACE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SACvB,CACF,CACF,CAAC,OAAyB,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,IAAA,cAAI,EAAC,CAAC,CAAC,CAAC,CAAC;IACX,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,kBAAO,EAAE,CAAC;IAC9B,MAAM,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAC3C,OAAO,CAAC,GAAG,EAAE,GAAG,8BAA8B,GAAG,IAAI,GAAG,KAAK,EAC7D,gBAAgB,IAAI,KAAK,CAC1B,CAAC;IACF,YAAY,CAAC,oBAAoB,CAAC;QAChC,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"resource.js","sourceRoot":"","sources":["../../src/bin/resource.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,
|
|
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
|
|
175
|
-
updatedAt
|
|
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
|
|
184
|
-
updatedAt
|
|
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
|
|
204
|
-
updatedAt
|
|
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
|
|
344
|
-
updatedAt
|
|
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
|
|
351
|
-
updatedAt
|
|
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
|
|
386
|
-
updatedAt
|
|
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
|
|
393
|
-
updatedAt
|
|
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
|
|
420
|
-
updatedAt
|
|
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
|
|
443
|
-
updatedAt
|
|
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
|
|
157
|
-
updatedAt
|
|
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
|
|
166
|
-
updatedAt
|
|
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
|
|
193
|
-
updatedAt
|
|
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
|
|
263
|
-
updatedAt
|
|
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
|
|
271
|
-
updatedAt
|
|
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
|
|
171
|
-
updatedAt
|
|
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
|
|
180
|
-
updatedAt
|
|
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
|
|
200
|
-
updatedAt
|
|
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
|
|
328
|
-
updatedAt
|
|
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
|
|
335
|
-
updatedAt
|
|
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
|
|
370
|
-
updatedAt
|
|
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
|
|
377
|
-
updatedAt
|
|
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
|
|
404
|
-
updatedAt
|
|
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
|
|
427
|
-
updatedAt
|
|
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
|
|
156
|
-
updatedAt
|
|
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
|
|
164
|
-
updatedAt
|
|
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
|
|
187
|
-
updatedAt
|
|
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
|
|
255
|
-
updatedAt
|
|
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
|
|
262
|
-
updatedAt
|
|
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
|
|
294
|
-
updatedAt
|
|
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
|
|
301
|
-
updatedAt
|
|
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
|
|
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
|
|
180
|
-
updatedAt
|
|
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
|
|
189
|
-
updatedAt
|
|
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
|
|
216
|
-
updatedAt
|
|
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
|
|
289
|
-
updatedAt
|
|
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
|
|
297
|
-
updatedAt
|
|
296
|
+
createdAt?: Date | string;
|
|
297
|
+
updatedAt?: Date | string;
|
|
298
298
|
};
|
|
299
299
|
export type UsersCreateOrConnectWithoutModelHasRolesInput = {
|
|
300
300
|
where: Prisma.UsersWhereUniqueInput;
|
|
@@ -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
|
-
|
|
28
|
-
|
|
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(
|
|
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,
|
|
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 ==
|
|
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 ==
|
|
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([
|