@holoyan/adonisjs-permissions 0.1.0 → 0.5.2

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 (46) hide show
  1. package/README.md +160 -59
  2. package/build/index.d.ts +10 -4
  3. package/build/index.js +10 -5
  4. package/build/providers/role_permission_provider.d.ts +3 -0
  5. package/build/providers/role_permission_provider.js +21 -0
  6. package/build/src/acl.d.ts +10 -5
  7. package/build/src/acl.js +17 -9
  8. package/build/src/decorators.js +1 -0
  9. package/build/src/mixins/has_permissions.d.ts +58 -26
  10. package/build/src/mixins/has_permissions.js +123 -18
  11. package/build/src/model_manager.d.ts +7 -0
  12. package/build/src/model_manager.js +15 -0
  13. package/build/src/models/permission.d.ts +4 -4
  14. package/build/src/models/permission.js +2 -7
  15. package/build/src/models/role.d.ts +1 -1
  16. package/build/src/models/role.js +2 -7
  17. package/build/src/morph_map.d.ts +5 -2
  18. package/build/src/morph_map.js +16 -9
  19. package/build/src/services/helper.d.ts +2 -3
  20. package/build/src/services/helper.js +1 -7
  21. package/build/src/services/model_has_role_permissions.d.ts +41 -39
  22. package/build/src/services/model_has_role_permissions.js +92 -111
  23. package/build/src/services/model_service.d.ts +15 -6
  24. package/build/src/services/model_service.js +39 -14
  25. package/build/src/services/permissions/empty_permission.d.ts +8 -0
  26. package/build/src/services/permissions/empty_permission.js +17 -0
  27. package/build/src/services/permissions/permission_has_model_roles.d.ts +12 -8
  28. package/build/src/services/permissions/permission_has_model_roles.js +28 -19
  29. package/build/src/services/permissions/permissions_service.d.ts +42 -30
  30. package/build/src/services/permissions/permissions_service.js +198 -155
  31. package/build/src/services/query_helper.d.ts +7 -0
  32. package/build/src/services/query_helper.js +12 -0
  33. package/build/src/services/roles/empty_roles.d.ts +8 -0
  34. package/build/src/services/roles/empty_roles.js +17 -0
  35. package/build/src/services/roles/role_has_model_permissions.d.ts +32 -33
  36. package/build/src/services/roles/role_has_model_permissions.js +64 -78
  37. package/build/src/services/roles/roles_service.d.ts +20 -9
  38. package/build/src/services/roles/roles_service.js +90 -34
  39. package/build/src/types.d.ts +65 -5
  40. package/build/stubs/configs/permissions.stub +1 -1
  41. package/build/stubs/migrations/create_db.stub +8 -8
  42. package/package.json +3 -1
  43. package/build/src/mixins/has_role_permissions.d.ts +0 -128
  44. package/build/src/mixins/has_role_permissions.js +0 -10
  45. package/build/src/mixins/has_roles.d.ts +0 -1
  46. package/build/src/mixins/has_roles.js +0 -47
@@ -14,10 +14,10 @@ export default class extends BaseSchema {
14
14
  table.increments('id')
15
15
 
16
16
  table.string('slug').index()
17
- table.string('title')
18
- table.string('entity_type')
19
- table.bigint('entity_id').unsigned()
20
- table.integer('scope').unsigned()
17
+ table.string('title').nullable()
18
+ table.string('entity_type').defaultTo('*')
19
+ table.bigint('entity_id').unsigned().nullable()
20
+ table.integer('scope').unsigned().defaultTo(0)
21
21
  table.boolean('allowed').defaultTo(true)
22
22
 
23
23
  /**
@@ -52,10 +52,10 @@ export default class extends BaseSchema {
52
52
  table.increments('id')
53
53
 
54
54
  table.string('slug').index()
55
- table.string('title')
56
- table.string('entity_type')
57
- table.bigint('entity_id').unsigned()
58
- table.integer('scope').unsigned()
55
+ table.string('title').nullable()
56
+ table.string('entity_type').defaultTo('*')
57
+ table.bigint('entity_id').unsigned().nullable()
58
+ table.integer('scope').unsigned().defaultTo('*')
59
59
  table.boolean('allowed').defaultTo(true)
60
60
 
61
61
  /**
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@holoyan/adonisjs-permissions",
3
3
  "description": "Adonisjs roles and permissions system",
4
- "version": "0.1.0",
4
+ "version": "0.5.2",
5
5
  "engines": {
6
6
  "node": ">=18.16.0"
7
7
  },
@@ -57,6 +57,8 @@
57
57
  "copyfiles": "^2.4.1",
58
58
  "del-cli": "^5.0.0",
59
59
  "eslint": "^8.38.0",
60
+ "mssql": "^10.0.2",
61
+ "mysql2": "^3.9.3",
60
62
  "np": "^9.2.0",
61
63
  "pg": "^8.11.3",
62
64
  "prettier": "^3.1.1",
@@ -1,128 +0,0 @@
1
- import type { NormalizeConstructor } from '@adonisjs/core/types/helpers';
2
- declare const _default: <Model extends NormalizeConstructor<import("@adonisjs/lucid/types/model").LucidModel>>(superclass: Model) => {
3
- new (...args: any[]): {
4
- getMorphMapName(): string;
5
- getModelId(): number;
6
- $attributes: import("@adonisjs/lucid/types/model").ModelObject;
7
- $extras: import("@adonisjs/lucid/types/model").ModelObject;
8
- $original: import("@adonisjs/lucid/types/model").ModelObject;
9
- $preloaded: {
10
- [relation: string]: import("@adonisjs/lucid/types/model").LucidRow | import("@adonisjs/lucid/types/model").LucidRow[];
11
- };
12
- $columns: undefined;
13
- $sideloaded: import("@adonisjs/lucid/types/model").ModelObject;
14
- $primaryKeyValue?: string | number | undefined;
15
- $isPersisted: boolean;
16
- $isNew: boolean;
17
- $isLocal: boolean;
18
- $dirty: import("@adonisjs/lucid/types/model").ModelObject;
19
- $isDirty: boolean;
20
- $isDeleted: boolean;
21
- $options?: import("@adonisjs/lucid/types/model").ModelOptions | undefined;
22
- $trx?: import("@adonisjs/lucid/types/database").TransactionClientContract | undefined;
23
- $setOptionsAndTrx(options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions | undefined): void;
24
- useTransaction(trx: import("@adonisjs/lucid/types/database").TransactionClientContract): any;
25
- useConnection(connection: string): any;
26
- $getQueryFor(action: "insert", client: import("@adonisjs/lucid/types/database").QueryClientContract): import("@adonisjs/lucid/types/querybuilder").InsertQueryBuilderContract<unknown[]>;
27
- $getQueryFor(action: "delete" | "refresh" | "update", client: import("@adonisjs/lucid/types/database").QueryClientContract): import("@adonisjs/lucid/types/model").ModelQueryBuilderContract<import("@adonisjs/lucid/types/model").LucidModel, import("@adonisjs/lucid/types/model").LucidRow>;
28
- $setAttribute(key: string, value: any): void;
29
- $getAttribute(key: string): any;
30
- $getAttributeFromCache(key: string, callback: (value: any) => any): any;
31
- $hasRelated(key: string): boolean;
32
- $setRelated(key: string, result: import("@adonisjs/lucid/types/querybuilder").OneOrMany<import("@adonisjs/lucid/types/model").LucidRow> | null): void;
33
- $pushRelated(key: string, result: import("@adonisjs/lucid/types/querybuilder").OneOrMany<import("@adonisjs/lucid/types/model").LucidRow> | null): void;
34
- $getRelated(key: string, defaultValue?: any): import("@adonisjs/lucid/types/querybuilder").OneOrMany<import("@adonisjs/lucid/types/model").LucidRow> | null | undefined;
35
- $consumeAdapterResult(adapterResult: import("@adonisjs/lucid/types/model").ModelObject, sideloadAttributes?: import("@adonisjs/lucid/types/model").ModelObject | undefined): void;
36
- $hydrateOriginals(): void;
37
- fill(value: Partial<{}>, allowExtraProperties?: boolean | undefined): any;
38
- merge(value: Partial<{}>, allowExtraProperties?: boolean | undefined): any;
39
- enableForceUpdate(): any;
40
- save(): Promise<any>;
41
- delete(): Promise<void>;
42
- refresh(): Promise<any>;
43
- load: import("@adonisjs/lucid/types/model").LucidRowPreload<any>;
44
- preload: import("@adonisjs/lucid/types/model").LucidRowPreload<any>;
45
- loadAggregate: <Self extends any, Name extends import("@adonisjs/lucid/types/relations").ExtractModelRelations<Self>, RelatedBuilder = Self[Name] extends import("@adonisjs/lucid/types/relations").ModelRelations<import("@adonisjs/lucid/types/model").LucidModel, import("@adonisjs/lucid/types/model").LucidModel> ? Self[Name]["subQuery"] : never>(name: Name, callback: (builder: RelatedBuilder) => void) => import("@adonisjs/lucid/types/model").LazyLoadAggregatesContract<Self>;
46
- loadCount: <Self_1 extends any, Name_1 extends import("@adonisjs/lucid/types/relations").ExtractModelRelations<Self_1>, RelatedBuilder_1 = Self_1[Name_1] extends import("@adonisjs/lucid/types/relations").ModelRelations<import("@adonisjs/lucid/types/model").LucidModel, import("@adonisjs/lucid/types/model").LucidModel> ? Self_1[Name_1]["subQuery"] : never>(name: Name_1, callback?: ((builder: RelatedBuilder_1) => void) | undefined) => import("@adonisjs/lucid/types/model").LazyLoadAggregatesContract<Self_1>;
47
- serializeAttributes(fields?: import("@adonisjs/lucid/types/model").CherryPickFields | undefined, raw?: boolean | undefined): import("@adonisjs/lucid/types/model").ModelObject;
48
- serializeComputed(fields?: import("@adonisjs/lucid/types/model").CherryPickFields | undefined): import("@adonisjs/lucid/types/model").ModelObject;
49
- serializeRelations(fields: undefined, raw: true): {
50
- [key: string]: import("@adonisjs/lucid/types/model").LucidRow | import("@adonisjs/lucid/types/model").LucidRow[];
51
- };
52
- serializeRelations(cherryPick: {
53
- [relation: string]: import("@adonisjs/lucid/types/model").CherryPick;
54
- } | undefined, raw: false | undefined): import("@adonisjs/lucid/types/model").ModelObject;
55
- serializeRelations(cherryPick?: {
56
- [relation: string]: import("@adonisjs/lucid/types/model").CherryPick;
57
- } | undefined, raw?: boolean | undefined): import("@adonisjs/lucid/types/model").ModelObject;
58
- serialize(cherryPick?: import("@adonisjs/lucid/types/model").CherryPick | undefined): import("@adonisjs/lucid/types/model").ModelObject;
59
- toObject(): import("@adonisjs/lucid/types/model").ModelObject;
60
- toJSON(): import("@adonisjs/lucid/types/model").ModelObject;
61
- related<Name_2 extends undefined>(relation: Name_2): any[Name_2] extends import("@adonisjs/lucid/types/relations").ModelRelations<import("@adonisjs/lucid/types/model").LucidModel, import("@adonisjs/lucid/types/model").LucidModel> ? any[Name_2]["client"] : never;
62
- };
63
- find: <T extends import("@adonisjs/lucid/types/model").LucidModel>(this: T, value: any, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions | undefined) => Promise<InstanceType<T> | null>;
64
- readonly booted: boolean;
65
- boot: () => void;
66
- $columnsDefinitions: Map<string, import("@adonisjs/lucid/types/model").ModelColumnOptions>;
67
- $relationsDefinitions: Map<string, import("@adonisjs/lucid/types/relations").RelationshipsContract>;
68
- $computedDefinitions: Map<string, import("@adonisjs/lucid/types/model").ComputedOptions>;
69
- primaryKey: string;
70
- connection?: string | undefined;
71
- namingStrategy: import("@adonisjs/lucid/types/model").NamingStrategyContract;
72
- table: string;
73
- selfAssignPrimaryKey: boolean;
74
- $adapter: import("@adonisjs/lucid/types/model").AdapterContract;
75
- useAdapter: (adapter: import("@adonisjs/lucid/types/model").AdapterContract) => void;
76
- $hooks: import("@poppinss/hooks").default<any>;
77
- $keys: {
78
- attributesToColumns: import("@adonisjs/lucid/types/model").ModelKeysContract;
79
- attributesToSerialized: import("@adonisjs/lucid/types/model").ModelKeysContract;
80
- columnsToAttributes: import("@adonisjs/lucid/types/model").ModelKeysContract;
81
- columnsToSerialized: import("@adonisjs/lucid/types/model").ModelKeysContract;
82
- serializedToColumns: import("@adonisjs/lucid/types/model").ModelKeysContract;
83
- serializedToAttributes: import("@adonisjs/lucid/types/model").ModelKeysContract;
84
- };
85
- $createFromAdapterResult: <T_1 extends import("@adonisjs/lucid/types/model").LucidModel>(this: T_1, result?: import("@adonisjs/lucid/types/model").ModelObject | undefined, sideloadAttributes?: import("@adonisjs/lucid/types/model").ModelObject | undefined, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions | undefined) => InstanceType<T_1> | null;
86
- $createMultipleFromAdapterResult: <T_2 extends import("@adonisjs/lucid/types/model").LucidModel>(this: T_2, results: import("@adonisjs/lucid/types/model").ModelObject[], sideloadAttributes?: import("@adonisjs/lucid/types/model").ModelObject | undefined, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions | undefined) => InstanceType<T_2>[];
87
- $addColumn: (name: string, options: Partial<import("@adonisjs/lucid/types/model").ColumnOptions>) => import("@adonisjs/lucid/types/model").ColumnOptions;
88
- $hasColumn: (name: string) => boolean;
89
- $getColumn: (name: string) => import("@adonisjs/lucid/types/model").ModelColumnOptions | undefined;
90
- $addComputed: (name: string, options: Partial<import("@adonisjs/lucid/types/model").ComputedOptions>) => import("@adonisjs/lucid/types/model").ComputedOptions;
91
- $hasComputed: (name: string) => boolean;
92
- $getComputed: (name: string) => import("@adonisjs/lucid/types/model").ComputedOptions | undefined;
93
- $addRelation: (name: string, type: "hasOne" | "hasMany" | "belongsTo" | "manyToMany" | "hasManyThrough", relatedModel: () => import("@adonisjs/lucid/types/model").LucidModel, options: import("@adonisjs/lucid/types/model").ModelRelationOptions) => void;
94
- $hasRelation: (name: string) => boolean;
95
- $getRelation: {
96
- <Model_1 extends import("@adonisjs/lucid/types/model").LucidModel, Name_3 extends import("@adonisjs/lucid/types/relations").ExtractModelRelations<InstanceType<Model_1>>>(this: Model_1, name: Name_3): InstanceType<Model_1>[Name_3] extends import("@adonisjs/lucid/types/relations").ModelRelations<import("@adonisjs/lucid/types/model").LucidModel, import("@adonisjs/lucid/types/model").LucidModel> ? InstanceType<Model_1>[Name_3]["client"]["relation"] : import("@adonisjs/lucid/types/relations").RelationshipsContract;
97
- <Model_2 extends import("@adonisjs/lucid/types/model").LucidModel>(this: Model_2, name: string): import("@adonisjs/lucid/types/relations").RelationshipsContract;
98
- };
99
- $defineProperty: <Model_3 extends import("@adonisjs/lucid/types/model").LucidModel, Prop extends keyof Model_3>(this: Model_3, propertyName: Prop, defaultValue: Model_3[Prop], strategy: "inherit" | "define" | ((value: Model_3[Prop]) => Model_3[Prop])) => void;
100
- before: {
101
- <Model_4 extends import("@adonisjs/lucid/types/model").LucidModel, Event_1 extends "find" | "fetch">(this: Model_4, event: Event_1, handler: import("@adonisjs/lucid/types/model").HooksHandler<import("@adonisjs/lucid/types/model").ModelQueryBuilderContract<Model_4, InstanceType<Model_4>>, Event_1>): void;
102
- <Model_5 extends import("@adonisjs/lucid/types/model").LucidModel>(this: Model_5, event: "paginate", handler: import("@adonisjs/lucid/types/model").HooksHandler<[import("@adonisjs/lucid/types/model").ModelQueryBuilderContract<Model_5, InstanceType<Model_5>>, import("@adonisjs/lucid/types/model").ModelQueryBuilderContract<Model_5, InstanceType<Model_5>>], "paginate">): void;
103
- <Model_6 extends import("@adonisjs/lucid/types/model").LucidModel, Event_2 extends import("@adonisjs/lucid/types/model").EventsList>(this: Model_6, event: Event_2, handler: import("@adonisjs/lucid/types/model").HooksHandler<InstanceType<Model_6>, Event_2>): void;
104
- };
105
- after: {
106
- <Model_7 extends import("@adonisjs/lucid/types/model").LucidModel>(this: Model_7, event: "fetch", handler: import("@adonisjs/lucid/types/model").HooksHandler<InstanceType<Model_7>[], "fetch">): void;
107
- <Model_8 extends import("@adonisjs/lucid/types/model").LucidModel>(this: Model_8, event: "paginate", handler: import("@adonisjs/lucid/types/model").HooksHandler<import("@adonisjs/lucid/types/model").ModelPaginatorContract<InstanceType<Model_8>>, "paginate">): void;
108
- <Model_9 extends import("@adonisjs/lucid/types/model").LucidModel, Event_3 extends import("@adonisjs/lucid/types/model").EventsList>(this: Model_9, event: Event_3, handler: import("@adonisjs/lucid/types/model").HooksHandler<InstanceType<Model_9>, Event_3>): void;
109
- };
110
- create: <T_3 extends import("@adonisjs/lucid/types/model").LucidModel>(this: T_3, values: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T_3>>>, options?: import("@adonisjs/lucid/types/model").ModelAssignOptions | undefined) => Promise<InstanceType<T_3>>;
111
- createMany: <T_4 extends import("@adonisjs/lucid/types/model").LucidModel>(this: T_4, values: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T_4>>>[], options?: import("@adonisjs/lucid/types/model").ModelAssignOptions | undefined) => Promise<InstanceType<T_4>[]>;
112
- findOrFail: <T_5 extends import("@adonisjs/lucid/types/model").LucidModel>(this: T_5, value: any, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions | undefined) => Promise<InstanceType<T_5>>;
113
- findBy: <T_6 extends import("@adonisjs/lucid/types/model").LucidModel>(this: T_6, key: string, value: any, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions | undefined) => Promise<InstanceType<T_6> | null>;
114
- findByOrFail: <T_7 extends import("@adonisjs/lucid/types/model").LucidModel>(this: T_7, key: string, value: any, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions | undefined) => Promise<InstanceType<T_7>>;
115
- first: <T_8 extends import("@adonisjs/lucid/types/model").LucidModel>(this: T_8, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions | undefined) => Promise<InstanceType<T_8> | null>;
116
- firstOrFail: <T_9 extends import("@adonisjs/lucid/types/model").LucidModel>(this: T_9, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions | undefined) => Promise<InstanceType<T_9>>;
117
- findMany: <T_10 extends import("@adonisjs/lucid/types/model").LucidModel>(this: T_10, value: any[], options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions | undefined) => Promise<InstanceType<T_10>[]>;
118
- firstOrNew: <T_11 extends import("@adonisjs/lucid/types/model").LucidModel>(this: T_11, searchPayload: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T_11>>>, savePayload?: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T_11>>> | undefined, options?: import("@adonisjs/lucid/types/model").ModelAssignOptions | undefined) => Promise<InstanceType<T_11>>;
119
- firstOrCreate: <T_12 extends import("@adonisjs/lucid/types/model").LucidModel>(this: T_12, searchPayload: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T_12>>>, savePayload?: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T_12>>> | undefined, options?: import("@adonisjs/lucid/types/model").ModelAssignOptions | undefined) => Promise<InstanceType<T_12>>;
120
- updateOrCreate: <T_13 extends import("@adonisjs/lucid/types/model").LucidModel>(this: T_13, searchPayload: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T_13>>>, updatePayload: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T_13>>>, options?: import("@adonisjs/lucid/types/model").ModelAssignOptions | undefined) => Promise<InstanceType<T_13>>;
121
- fetchOrNewUpMany: <T_14 extends import("@adonisjs/lucid/types/model").LucidModel>(this: T_14, predicate: keyof import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T_14>> | (keyof import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T_14>>)[], payload: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T_14>>>[], options?: import("@adonisjs/lucid/types/model").ModelAssignOptions | undefined) => Promise<InstanceType<T_14>[]>;
122
- fetchOrCreateMany: <T_15 extends import("@adonisjs/lucid/types/model").LucidModel>(this: T_15, predicate: keyof import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T_15>> | (keyof import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T_15>>)[], payload: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T_15>>>[], options?: import("@adonisjs/lucid/types/model").ModelAssignOptions | undefined) => Promise<InstanceType<T_15>[]>;
123
- updateOrCreateMany: <T_16 extends import("@adonisjs/lucid/types/model").LucidModel>(this: T_16, predicate: keyof import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T_16>> | (keyof import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T_16>>)[], payload: Partial<import("@adonisjs/lucid/types/model").ModelAttributes<InstanceType<T_16>>>[], options?: import("@adonisjs/lucid/types/model").ModelAssignOptions | undefined) => Promise<InstanceType<T_16>[]>;
124
- all: <T_17 extends import("@adonisjs/lucid/types/model").LucidModel>(this: T_17, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions | undefined) => Promise<InstanceType<T_17>[]>;
125
- query: <Model_10 extends import("@adonisjs/lucid/types/model").LucidModel, Result = InstanceType<Model_10>>(this: Model_10, options?: import("@adonisjs/lucid/types/model").ModelAdapterOptions | undefined) => import("@adonisjs/lucid/types/model").ModelQueryBuilderContract<Model_10, Result>;
126
- truncate: (cascade?: boolean | undefined) => Promise<void>;
127
- } & Model;
128
- export default _default;
@@ -1,10 +0,0 @@
1
- export default (superclass) => {
2
- return class extends superclass {
3
- getMorphMapName() {
4
- throw new Error('method getMorphMapName must be implemented in target model, which will return string alias for model class');
5
- }
6
- getModelId() {
7
- throw new Error('method getModelId must be implemented in target model, which will return key for current object');
8
- }
9
- };
10
- };
@@ -1 +0,0 @@
1
- export {};
@@ -1,47 +0,0 @@
1
- // import Role from '../models/role.js'
2
- // import type { NormalizeConstructor } from '@adonisjs/core/types/helpers'
3
- // import RolesService from '../services/roles_service.js'
4
- export {};
5
- // export default <
6
- // Model extends NormalizeConstructor<import('@adonisjs/lucid/types/model').LucidModel>,
7
- // >(
8
- // superclass: Model
9
- // ) => {
10
- // class HasRolesMixin extends superclass {
11
- // getMorphMapName(): string {
12
- // throw new Error(
13
- // 'method getMorphMapName must be implemented in target model, which will return string alias for model class'
14
- // )
15
- // }
16
- // getModelId(): number | null {
17
- // throw new Error(
18
- // 'method getModelId must be implemented in target model, which will return key for current object'
19
- // )
20
- // }
21
- // roles(): Promise<Role[] | null> {
22
- // const service = new RolesService()
23
- // return service.all(this.getMorphMapName(), this.getModelId())
24
- // }
25
- // hasRole(role: string | Role) {
26
- // const service = new RolesService()
27
- // return service.has(this.getMorphMapName(), this.getModelId(), role)
28
- // }
29
- // hasAllRoles(role: (string | Role)[]) {
30
- // const service = new RolesService()
31
- // return service.hasAll(this.getMorphMapName(), this.getModelId(), role)
32
- // }
33
- // hasAnyRole(role: (string | Role)[]) {
34
- // const service = new RolesService()
35
- // return service.hasAny(this.getMorphMapName(), this.getModelId(), role)
36
- // }
37
- // assigneRole(role: string | Role) {
38
- // const service = new RolesService()
39
- // return service.assigne(role, this)
40
- // }
41
- // revokeRole(role: string | Role) {
42
- // const service = new RolesService()
43
- // return service.revoke(role, this)
44
- // }
45
- // }
46
- // return HasRolesMixin
47
- // }