@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,46 +1,46 @@
1
- 'use strict';
2
- const { Sequelize } = require('sequelize');
3
- /** @type {import('sequelize-cli').Migration} */
4
- module.exports = {
5
- async up({ context: queryInterface }) {
6
- await queryInterface.createTable('RoleHasPermissions', {
7
- id: {
8
- allowNull: false,
9
- autoIncrement: true,
10
- primaryKey: true,
11
- type: Sequelize.INTEGER,
12
- },
13
- role: {
14
- type: Sequelize.INTEGER,
15
- references: {
16
- model: {
17
- tableName: 'Roles',
18
- },
19
- key: 'id',
20
- },
21
- allowNull: false,
22
- },
23
- permission: {
24
- type: Sequelize.STRING,
25
- references: {
26
- model: {
27
- tableName: 'PermissionKeys',
28
- },
29
- key: 'id',
30
- },
31
- allowNull: false,
32
- },
33
- createdAt: {
34
- allowNull: false,
35
- type: Sequelize.DATE,
36
- },
37
- updatedAt: {
38
- allowNull: false,
39
- type: Sequelize.DATE,
40
- },
41
- });
42
- },
43
- async down({ context: queryInterface }) {
44
- await queryInterface.dropTable('RoleHasPermissions');
45
- },
46
- };
1
+ 'use strict';
2
+ const { Sequelize } = require('sequelize');
3
+ /** @type {import('sequelize-cli').Migration} */
4
+ module.exports = {
5
+ async up({ context: queryInterface }) {
6
+ await queryInterface.createTable('RoleHasPermissions', {
7
+ id: {
8
+ allowNull: false,
9
+ autoIncrement: true,
10
+ primaryKey: true,
11
+ type: Sequelize.INTEGER,
12
+ },
13
+ role: {
14
+ type: Sequelize.INTEGER,
15
+ references: {
16
+ model: {
17
+ tableName: 'Roles',
18
+ },
19
+ key: 'id',
20
+ },
21
+ allowNull: false,
22
+ },
23
+ permission: {
24
+ type: Sequelize.STRING,
25
+ references: {
26
+ model: {
27
+ tableName: 'PermissionKeys',
28
+ },
29
+ key: 'id',
30
+ },
31
+ allowNull: false,
32
+ },
33
+ createdAt: {
34
+ allowNull: false,
35
+ type: Sequelize.DATE,
36
+ },
37
+ updatedAt: {
38
+ allowNull: false,
39
+ type: Sequelize.DATE,
40
+ },
41
+ });
42
+ },
43
+ async down({ context: queryInterface }) {
44
+ await queryInterface.dropTable('RoleHasPermissions');
45
+ },
46
+ };
@@ -40,7 +40,7 @@ export const resource = async (name: string, manage: boolean) => {
40
40
  `export class ${name} {}`,
41
41
  );
42
42
  resourceFile.addImportDeclaration({
43
- moduleSpecifier: '@luminotion/sentinel',
43
+ moduleSpecifier: '@illustrisinteractive/sentinel',
44
44
  namedImports: [
45
45
  { name: 'SecuredResource' },
46
46
  { name: 'SecuredResourceAction' },
@@ -68,6 +68,7 @@ export const resource = async (name: string, manage: boolean) => {
68
68
  statements: [
69
69
  `Object.keys(${name}.actions).forEach((key) => {
70
70
  ${name}.actions[key].source = '${name}';
71
+ ${name}.actions[key].resource = key;
71
72
  });`,
72
73
  ],
73
74
  });
@@ -1,49 +1,49 @@
1
-
2
- /* !!! This is code generated by Prisma. Do not edit directly. !!! */
3
- /* eslint-disable */
4
- // biome-ignore-all lint: generated file
5
- // @ts-nocheck
6
- /*
7
- * This file should be your main import to use Prisma-related types and utilities in a browser.
8
- * Use it to get access to models, enums, and input types.
9
- *
10
- * This file does not contain a `PrismaClient` class, nor several other helpers that are intended as server-side only.
11
- * See `client.ts` for the standard, server-side entry point.
12
- *
13
- * 🟢 You can import this file directly.
14
- */
15
-
16
- import * as Prisma from './internal/prismaNamespaceBrowser.js'
17
- export { Prisma }
18
- export * as $Enums from './enums.js'
19
- export * from './enums.js';
20
- /**
21
- * Model ModelHasRoles
22
- *
23
- */
24
- export type ModelHasRoles = Prisma.ModelHasRolesModel
25
- /**
26
- * Model PermissionKeys
27
- *
28
- */
29
- export type PermissionKeys = Prisma.PermissionKeysModel
30
- /**
31
- * Model RoleHasPermissions
32
- *
33
- */
34
- export type RoleHasPermissions = Prisma.RoleHasPermissionsModel
35
- /**
36
- * Model Roles
37
- *
38
- */
39
- export type Roles = Prisma.RolesModel
40
- /**
41
- * Model SequelizeMeta
42
- *
43
- */
44
- export type SequelizeMeta = Prisma.SequelizeMetaModel
45
- /**
46
- * Model Users
47
- *
48
- */
49
- export type Users = Prisma.UsersModel
1
+
2
+ /* !!! This is code generated by Prisma. Do not edit directly. !!! */
3
+ /* eslint-disable */
4
+ // biome-ignore-all lint: generated file
5
+ // @ts-nocheck
6
+ /*
7
+ * This file should be your main import to use Prisma-related types and utilities in a browser.
8
+ * Use it to get access to models, enums, and input types.
9
+ *
10
+ * This file does not contain a `PrismaClient` class, nor several other helpers that are intended as server-side only.
11
+ * See `client.ts` for the standard, server-side entry point.
12
+ *
13
+ * 🟢 You can import this file directly.
14
+ */
15
+
16
+ import * as Prisma from './internal/prismaNamespaceBrowser.js'
17
+ export { Prisma }
18
+ export * as $Enums from './enums.js'
19
+ export * from './enums.js';
20
+ /**
21
+ * Model ModelHasRoles
22
+ *
23
+ */
24
+ export type ModelHasRoles = Prisma.ModelHasRolesModel
25
+ /**
26
+ * Model PermissionKeys
27
+ *
28
+ */
29
+ export type PermissionKeys = Prisma.PermissionKeysModel
30
+ /**
31
+ * Model RoleHasPermissions
32
+ *
33
+ */
34
+ export type RoleHasPermissions = Prisma.RoleHasPermissionsModel
35
+ /**
36
+ * Model Roles
37
+ *
38
+ */
39
+ export type Roles = Prisma.RolesModel
40
+ /**
41
+ * Model SequelizeMeta
42
+ *
43
+ */
44
+ export type SequelizeMeta = Prisma.SequelizeMetaModel
45
+ /**
46
+ * Model Users
47
+ *
48
+ */
49
+ export type Users = Prisma.UsersModel
@@ -1,69 +1,69 @@
1
-
2
- /* !!! This is code generated by Prisma. Do not edit directly. !!! */
3
- /* eslint-disable */
4
- // biome-ignore-all lint: generated file
5
- // @ts-nocheck
6
- /*
7
- * This file should be your main import to use Prisma. Through it you get access to all the models, enums, and input types.
8
- * If you're looking for something you can import in the client-side of your application, please refer to the `browser.ts` file instead.
9
- *
10
- * 🟢 You can import this file directly.
11
- */
12
-
13
- import * as process from 'node:process'
14
- import * as path from 'node:path'
15
-
16
- import * as runtime from "@prisma/client/runtime/client"
17
- import * as $Enums from "./enums.js"
18
- import * as $Class from "./internal/class.js"
19
- import * as Prisma from "./internal/prismaNamespace.js"
20
-
21
- export * as $Enums from './enums.js'
22
- export * from "./enums.js"
23
- /**
24
- * ## Prisma Client
25
- *
26
- * Type-safe database client for TypeScript
27
- * @example
28
- * ```
29
- * const prisma = new PrismaClient()
30
- * // Fetch zero or more ModelHasRoles
31
- * const modelHasRoles = await prisma.modelHasRoles.findMany()
32
- * ```
33
- *
34
- * Read more in our [docs](https://pris.ly/d/client).
35
- */
36
- export const PrismaClient = $Class.getPrismaClientClass()
37
- export type PrismaClient<LogOpts extends Prisma.LogLevel = never, OmitOpts extends Prisma.PrismaClientOptions["omit"] = Prisma.PrismaClientOptions["omit"], ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = $Class.PrismaClient<LogOpts, OmitOpts, ExtArgs>
38
- export { Prisma }
39
-
40
- /**
41
- * Model ModelHasRoles
42
- *
43
- */
44
- export type ModelHasRoles = Prisma.ModelHasRolesModel
45
- /**
46
- * Model PermissionKeys
47
- *
48
- */
49
- export type PermissionKeys = Prisma.PermissionKeysModel
50
- /**
51
- * Model RoleHasPermissions
52
- *
53
- */
54
- export type RoleHasPermissions = Prisma.RoleHasPermissionsModel
55
- /**
56
- * Model Roles
57
- *
58
- */
59
- export type Roles = Prisma.RolesModel
60
- /**
61
- * Model SequelizeMeta
62
- *
63
- */
64
- export type SequelizeMeta = Prisma.SequelizeMetaModel
65
- /**
66
- * Model Users
67
- *
68
- */
69
- export type Users = Prisma.UsersModel
1
+
2
+ /* !!! This is code generated by Prisma. Do not edit directly. !!! */
3
+ /* eslint-disable */
4
+ // biome-ignore-all lint: generated file
5
+ // @ts-nocheck
6
+ /*
7
+ * This file should be your main import to use Prisma. Through it you get access to all the models, enums, and input types.
8
+ * If you're looking for something you can import in the client-side of your application, please refer to the `browser.ts` file instead.
9
+ *
10
+ * 🟢 You can import this file directly.
11
+ */
12
+
13
+ import * as process from 'node:process'
14
+ import * as path from 'node:path'
15
+
16
+ import * as runtime from "@prisma/client/runtime/client"
17
+ import * as $Enums from "./enums.js"
18
+ import * as $Class from "./internal/class.js"
19
+ import * as Prisma from "./internal/prismaNamespace.js"
20
+
21
+ export * as $Enums from './enums.js'
22
+ export * from "./enums.js"
23
+ /**
24
+ * ## Prisma Client
25
+ *
26
+ * Type-safe database client for TypeScript
27
+ * @example
28
+ * ```
29
+ * const prisma = new PrismaClient()
30
+ * // Fetch zero or more ModelHasRoles
31
+ * const modelHasRoles = await prisma.modelHasRoles.findMany()
32
+ * ```
33
+ *
34
+ * Read more in our [docs](https://pris.ly/d/client).
35
+ */
36
+ export const PrismaClient = $Class.getPrismaClientClass()
37
+ export type PrismaClient<LogOpts extends Prisma.LogLevel = never, OmitOpts extends Prisma.PrismaClientOptions["omit"] = Prisma.PrismaClientOptions["omit"], ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = $Class.PrismaClient<LogOpts, OmitOpts, ExtArgs>
38
+ export { Prisma }
39
+
40
+ /**
41
+ * Model ModelHasRoles
42
+ *
43
+ */
44
+ export type ModelHasRoles = Prisma.ModelHasRolesModel
45
+ /**
46
+ * Model PermissionKeys
47
+ *
48
+ */
49
+ export type PermissionKeys = Prisma.PermissionKeysModel
50
+ /**
51
+ * Model RoleHasPermissions
52
+ *
53
+ */
54
+ export type RoleHasPermissions = Prisma.RoleHasPermissionsModel
55
+ /**
56
+ * Model Roles
57
+ *
58
+ */
59
+ export type Roles = Prisma.RolesModel
60
+ /**
61
+ * Model SequelizeMeta
62
+ *
63
+ */
64
+ export type SequelizeMeta = Prisma.SequelizeMetaModel
65
+ /**
66
+ * Model Users
67
+ *
68
+ */
69
+ export type Users = Prisma.UsersModel