@gaias/basenode 1.0.46 → 1.0.49

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 (65) hide show
  1. package/dist/example/controllers/UserController.d.ts +1 -1
  2. package/dist/example/utils/index.d.ts +2 -0
  3. package/dist/example/utils/index.d.ts.map +1 -1
  4. package/dist/example/utils/index.js +2 -0
  5. package/dist/example/utils/index.js.map +1 -1
  6. package/dist/src/libs/casbin/CasbinAdapter.d.ts +40 -0
  7. package/dist/src/libs/casbin/CasbinAdapter.d.ts.map +1 -0
  8. package/dist/src/libs/casbin/CasbinAdapter.js +355 -0
  9. package/dist/src/libs/casbin/CasbinAdapter.js.map +1 -0
  10. package/dist/src/libs/casbin/CasbinLoader.d.ts +3 -0
  11. package/dist/src/libs/casbin/CasbinLoader.d.ts.map +1 -0
  12. package/dist/src/libs/casbin/CasbinLoader.js +44 -0
  13. package/dist/src/libs/casbin/CasbinLoader.js.map +1 -0
  14. package/dist/src/libs/casbin/CasbinRule.d.ts +14 -0
  15. package/dist/src/libs/casbin/CasbinRule.d.ts.map +1 -0
  16. package/dist/src/libs/casbin/CasbinRule.js +85 -0
  17. package/dist/src/libs/casbin/CasbinRule.js.map +1 -0
  18. package/dist/src/libs/casbin/FilterCondition.d.ts +10 -0
  19. package/dist/src/libs/casbin/FilterCondition.d.ts.map +1 -0
  20. package/dist/src/libs/casbin/FilterCondition.js +3 -0
  21. package/dist/src/libs/casbin/FilterCondition.js.map +1 -0
  22. package/dist/src/libs/casbin/index.d.ts +5 -0
  23. package/dist/src/libs/casbin/index.d.ts.map +1 -0
  24. package/dist/src/libs/casbin/index.js +21 -0
  25. package/dist/src/libs/casbin/index.js.map +1 -0
  26. package/dist/src/libs/cls/FSBackendMiddleware.d.ts +2 -0
  27. package/dist/src/libs/cls/FSBackendMiddleware.d.ts.map +1 -0
  28. package/dist/src/libs/cls/FSBackendMiddleware.js +32 -0
  29. package/dist/src/libs/cls/FSBackendMiddleware.js.map +1 -0
  30. package/dist/src/libs/cls/index.d.ts +2 -0
  31. package/dist/src/libs/cls/index.d.ts.map +1 -0
  32. package/dist/src/libs/cls/index.js +18 -0
  33. package/dist/src/libs/cls/index.js.map +1 -0
  34. package/dist/src/libs/index.d.ts +3 -0
  35. package/dist/src/libs/index.d.ts.map +1 -1
  36. package/dist/src/libs/index.js +3 -0
  37. package/dist/src/libs/index.js.map +1 -1
  38. package/dist/src/libs/koa/KoaLoader.d.ts.map +1 -1
  39. package/dist/src/libs/koa/KoaLoader.js +6 -4
  40. package/dist/src/libs/koa/KoaLoader.js.map +1 -1
  41. package/dist/src/libs/pagination/index.d.ts +1 -1
  42. package/dist/src/libs/pagination/index.d.ts.map +1 -1
  43. package/dist/src/libs/pagination/index.js +1 -1
  44. package/dist/src/libs/pagination/index.js.map +1 -1
  45. package/dist/src/libs/restful/RestClientLoader.d.ts +3 -0
  46. package/dist/src/libs/restful/RestClientLoader.d.ts.map +1 -0
  47. package/dist/src/libs/restful/RestClientLoader.js +19 -0
  48. package/dist/src/libs/restful/RestClientLoader.js.map +1 -0
  49. package/dist/src/libs/restful/index.d.ts +2 -0
  50. package/dist/src/libs/restful/index.d.ts.map +1 -0
  51. package/dist/src/libs/restful/index.js +18 -0
  52. package/dist/src/libs/restful/index.js.map +1 -0
  53. package/dist/src/libs/type/index.d.ts +1 -1
  54. package/dist/src/libs/type/index.d.ts.map +1 -1
  55. package/dist/src/libs/type/index.js +1 -1
  56. package/dist/src/libs/type/index.js.map +1 -1
  57. package/dist/src/libs/universal/UniversalService.d.ts +1 -1
  58. package/dist/src/server/bootstrap.d.ts.map +1 -1
  59. package/dist/src/server/bootstrap.js +2 -2
  60. package/dist/src/server/bootstrap.js.map +1 -1
  61. package/dist/src/utils/YamlUtil.d.ts.map +1 -1
  62. package/dist/src/utils/YamlUtil.js +1 -3
  63. package/dist/src/utils/YamlUtil.js.map +1 -1
  64. package/dist/tools/DBSchemaGenerator.js.map +1 -1
  65. package/package.json +8 -3
@@ -20,7 +20,7 @@ export declare class UserController extends UniversalController {
20
20
  createUser(user: UserVo): Promise<void>;
21
21
  getUser(id: string): Promise<User | null>;
22
22
  modifyUser(id: string, user: UserVo): Promise<import("typeorm").UpdateResult>;
23
- removeUser(id: string): Promise<import("typeorm").UpdateResult | import("typeorm").DeleteResult>;
23
+ removeUser(id: string): Promise<import("typeorm").DeleteResult | import("typeorm").UpdateResult>;
24
24
  getAllUsers(): Promise<UserVo[]>;
25
25
  queryUser(search: UserSearch): Promise<import("../../src").PaginationOut<any, User>>;
26
26
  allUsers(email: string, reset: string, cache: string, update: string, del: string): Promise<void | {
@@ -1,3 +1,5 @@
1
+ export * from './MyUtils.example';
1
2
  export * from './MyUtils';
3
+ export * from './QueryBuilderHelper.example';
2
4
  export * from './QueryBuilderHelper';
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../example/utils/index.ts"],"names":[],"mappings":"AACA,cAAc,WAAW,CAAC;AAC1B,cAAe,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../example/utils/index.ts"],"names":[],"mappings":"AAEA,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC"}
@@ -14,6 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./MyUtils.example"), exports);
17
18
  __exportStar(require("./MyUtils"), exports);
19
+ __exportStar(require("./QueryBuilderHelper.example"), exports);
18
20
  __exportStar(require("./QueryBuilderHelper"), exports);
19
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../example/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,4CAA0B;AAC1B,uDAAqC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../example/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAEA,oDAAkC;AAClC,4CAA0B;AAC1B,+DAA6C;AAC7C,uDAAqC"}
@@ -0,0 +1,40 @@
1
+ import { FilteredAdapter, Model } from 'casbin';
2
+ import { DataSource, DataSourceOptions, Repository } from 'typeorm';
3
+ import { CasbinRule } from './CasbinRule';
4
+ import { FilterCondition } from './FilterCondition';
5
+ type GenericCasbinRule = CasbinRule;
6
+ export default class CasbinAdapter implements FilteredAdapter {
7
+ private option;
8
+ private dataSource;
9
+ private repository;
10
+ private filtered;
11
+ private readonly connectionName;
12
+ private constructor();
13
+ isFiltered(): boolean;
14
+ static newAdapter(option: DataSourceOptions): Promise<CasbinAdapter>;
15
+ private open;
16
+ close(): Promise<void>;
17
+ private ensureConnected;
18
+ private clearTable;
19
+ private loadPolicyLine;
20
+ loadPolicy(model: Model): Promise<void>;
21
+ loadFilteredPolicy(model: Model, filter: FilterCondition): Promise<void>;
22
+ private savePolicyLine;
23
+ savePolicy(model: Model): Promise<boolean>;
24
+ addPolicy(sec: string, ptype: string, rule: string[]): Promise<void>;
25
+ addPolicies(sec: string, ptype: string, rules: string[][]): Promise<void>;
26
+ removePolicy(sec: string, ptype: string, rule: string[]): Promise<void>;
27
+ removePolicies(sec: string, ptype: string, rules: string[][]): Promise<void>;
28
+ removeFilteredPolicy(sec: string, ptype: string, fieldIndex: number, ...fieldValues: string[]): Promise<void>;
29
+ private getCasbinRuleConstructor;
30
+ private static getCasbinRuleType;
31
+ getAllRules(): Promise<GenericCasbinRule[]>;
32
+ getPolicyCount(): Promise<{
33
+ total: number;
34
+ byType: Record<string, number>;
35
+ }>;
36
+ getDataSource(): DataSource;
37
+ getRepository(): Repository<GenericCasbinRule>;
38
+ }
39
+ export {};
40
+ //# sourceMappingURL=CasbinAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CasbinAdapter.d.ts","sourceRoot":"","sources":["../../../../src/libs/casbin/CasbinAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAU,KAAK,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,KAAK,iBAAiB,GAAG,UAAU,CAAC;AA4BpC,MAAM,CAAC,OAAO,OAAO,aAAc,YAAW,eAAe;IAC3D,OAAO,CAAC,MAAM,CAAoB;IAElC,OAAO,CAAC,UAAU,CAAa;IAE/B,OAAO,CAAC,UAAU,CAAgC;IAElD,OAAO,CAAC,QAAQ,CAAS;IAEzB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IAExC,OAAO;IAQA,UAAU,IAAI,OAAO;WAsBR,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;YAwBnE,IAAI;IAgBL,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAcnC,OAAO,CAAC,eAAe;YAST,UAAU;IAYxB,OAAO,CAAC,cAAc;IAYT,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BvC,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAkCrF,OAAO,CAAC,cAAc;IAwBT,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IA0D1C,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAepE,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAsCzE,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBvE,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAqC5E,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAgD1H,OAAO,CAAC,wBAAwB;IAUhC,OAAO,CAAC,MAAM,CAAC,iBAAiB;IASnB,WAAW,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAY3C,cAAc,IAAI,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAuBlF,aAAa,IAAI,UAAU;IAO3B,aAAa,IAAI,UAAU,CAAC,iBAAiB,CAAC;CAGtD"}
@@ -0,0 +1,355 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const casbin_1 = require("casbin");
4
+ const typeorm_1 = require("typeorm");
5
+ const CasbinRule_1 = require("./CasbinRule");
6
+ const generator_1 = require("../../libs/generator");
7
+ class CasbinAdapter {
8
+ constructor(option) {
9
+ this.filtered = false;
10
+ this.option = option;
11
+ this.connectionName = option.name || 'casbin-connection';
12
+ }
13
+ isFiltered() {
14
+ return this.filtered;
15
+ }
16
+ static async newAdapter(option) {
17
+ const defaults = {
18
+ synchronize: true,
19
+ logging: false,
20
+ };
21
+ const entities = {
22
+ entities: [this.getCasbinRuleType(option.type)],
23
+ };
24
+ const configuration = {
25
+ ...defaults,
26
+ ...option,
27
+ ...entities,
28
+ name: option.name || 'casbin-connection',
29
+ };
30
+ const adapter = new CasbinAdapter(configuration);
31
+ await adapter.open();
32
+ return adapter;
33
+ }
34
+ async open() {
35
+ try {
36
+ this.dataSource = new typeorm_1.DataSource(this.option);
37
+ if (!this.dataSource.isInitialized) {
38
+ await this.dataSource.initialize();
39
+ }
40
+ this.repository = this.dataSource.getRepository(this.getCasbinRuleConstructor());
41
+ }
42
+ catch (error) {
43
+ throw new Error(`Failed to initialize Casbin database connection: ${error.message}`);
44
+ }
45
+ }
46
+ async close() {
47
+ if (this.dataSource?.isInitialized) {
48
+ try {
49
+ await this.dataSource.destroy();
50
+ }
51
+ catch (error) {
52
+ console.error('Error closing Casbin database connection:', error);
53
+ throw error;
54
+ }
55
+ }
56
+ }
57
+ ensureConnected() {
58
+ if (!this.dataSource?.isInitialized) {
59
+ throw new Error('Casbin database connection is not initialized');
60
+ }
61
+ }
62
+ async clearTable() {
63
+ this.ensureConnected();
64
+ try {
65
+ await this.repository.clear();
66
+ }
67
+ catch (error) {
68
+ throw new Error(`Failed to clear Casbin table: ${error.message}`);
69
+ }
70
+ }
71
+ loadPolicyLine(line, model) {
72
+ const values = [line.v0, line.v1, line.v2, line.v3, line.v4, line.v5].filter((n) => n !== null && n !== undefined && n !== '');
73
+ const result = line.ptype + ', ' + values.join(', ');
74
+ casbin_1.Helper.loadPolicyLine(result, model);
75
+ }
76
+ async loadPolicy(model) {
77
+ this.ensureConnected();
78
+ try {
79
+ const lines = await this.repository.find();
80
+ for (const line of lines) {
81
+ this.loadPolicyLine(line, model);
82
+ }
83
+ this.filtered = false;
84
+ }
85
+ catch (error) {
86
+ throw new Error(`Failed to load Casbin policy: ${error.message}`);
87
+ }
88
+ }
89
+ async loadFilteredPolicy(model, filter) {
90
+ this.ensureConnected();
91
+ if (!filter || Object.keys(filter).length === 0) {
92
+ throw new Error('Filter cannot be empty when loading filtered policy');
93
+ }
94
+ try {
95
+ const where = {};
96
+ if (filter.ptype !== undefined)
97
+ where.ptype = filter.ptype;
98
+ if (filter.v0 !== undefined)
99
+ where.v0 = filter.v0;
100
+ if (filter.v1 !== undefined)
101
+ where.v1 = filter.v1;
102
+ if (filter.v2 !== undefined)
103
+ where.v2 = filter.v2;
104
+ if (filter.v3 !== undefined)
105
+ where.v3 = filter.v3;
106
+ if (filter.v4 !== undefined)
107
+ where.v4 = filter.v4;
108
+ if (filter.v5 !== undefined)
109
+ where.v5 = filter.v5;
110
+ const filteredLines = await this.repository.find({ where });
111
+ for (const line of filteredLines) {
112
+ this.loadPolicyLine(line, model);
113
+ }
114
+ this.filtered = true;
115
+ }
116
+ catch (error) {
117
+ throw new Error(`Failed to load filtered Casbin policy: ${error.message}`);
118
+ }
119
+ }
120
+ savePolicyLine(ptype, rule, genId = true) {
121
+ const line = new (this.getCasbinRuleConstructor())();
122
+ if (genId) {
123
+ line.id = (0, generator_1.id)();
124
+ }
125
+ line.ptype = ptype;
126
+ if (rule.length > 0)
127
+ line.v0 = rule[0];
128
+ if (rule.length > 1)
129
+ line.v1 = rule[1];
130
+ if (rule.length > 2)
131
+ line.v2 = rule[2];
132
+ if (rule.length > 3)
133
+ line.v3 = rule[3];
134
+ if (rule.length > 4)
135
+ line.v4 = rule[4];
136
+ if (rule.length > 5)
137
+ line.v5 = rule[5];
138
+ return line;
139
+ }
140
+ async savePolicy(model) {
141
+ this.ensureConnected();
142
+ const queryRunner = this.dataSource.createQueryRunner();
143
+ await queryRunner.connect();
144
+ await queryRunner.startTransaction();
145
+ try {
146
+ await queryRunner.manager.clear(this.getCasbinRuleConstructor());
147
+ const lines = [];
148
+ let astMap = model.model.get('p');
149
+ if (astMap) {
150
+ for (const [ptype, ast] of astMap) {
151
+ for (const rule of ast.policy) {
152
+ const line = this.savePolicyLine(ptype, rule);
153
+ lines.push(line);
154
+ }
155
+ }
156
+ }
157
+ astMap = model.model.get('g');
158
+ if (astMap) {
159
+ for (const [ptype, ast] of astMap) {
160
+ for (const rule of ast.policy) {
161
+ const line = this.savePolicyLine(ptype, rule);
162
+ lines.push(line);
163
+ }
164
+ }
165
+ }
166
+ if (lines.length > 0) {
167
+ const batchSize = 100;
168
+ for (let i = 0; i < lines.length; i += batchSize) {
169
+ const batch = lines.slice(i, i + batchSize);
170
+ await queryRunner.manager.save(batch);
171
+ }
172
+ }
173
+ await queryRunner.commitTransaction();
174
+ return true;
175
+ }
176
+ catch (error) {
177
+ await queryRunner.rollbackTransaction();
178
+ throw new Error(`Failed to save Casbin policy: ${error.message}`);
179
+ }
180
+ finally {
181
+ await queryRunner.release();
182
+ }
183
+ }
184
+ async addPolicy(sec, ptype, rule) {
185
+ this.ensureConnected();
186
+ try {
187
+ const line = this.savePolicyLine(ptype, rule);
188
+ await this.repository.save(line);
189
+ }
190
+ catch (error) {
191
+ throw new Error(`Failed to add Casbin policy: ${error.message}`);
192
+ }
193
+ }
194
+ async addPolicies(sec, ptype, rules) {
195
+ this.ensureConnected();
196
+ if (!rules || rules.length === 0) {
197
+ return;
198
+ }
199
+ const queryRunner = this.dataSource.createQueryRunner();
200
+ await queryRunner.connect();
201
+ await queryRunner.startTransaction();
202
+ try {
203
+ const lines = [];
204
+ for (const rule of rules) {
205
+ const line = this.savePolicyLine(ptype, rule);
206
+ lines.push(line);
207
+ }
208
+ const batchSize = 100;
209
+ for (let i = 0; i < lines.length; i += batchSize) {
210
+ const batch = lines.slice(i, i + batchSize);
211
+ await queryRunner.manager.save(batch);
212
+ }
213
+ await queryRunner.commitTransaction();
214
+ }
215
+ catch (error) {
216
+ await queryRunner.rollbackTransaction();
217
+ throw new Error(`Failed to add Casbin policies: ${error.message}`);
218
+ }
219
+ finally {
220
+ await queryRunner.release();
221
+ }
222
+ }
223
+ async removePolicy(sec, ptype, rule) {
224
+ this.ensureConnected();
225
+ try {
226
+ const line = this.savePolicyLine(ptype, rule, false);
227
+ const criteria = { ptype: line.ptype };
228
+ if (line.v0)
229
+ criteria.v0 = line.v0;
230
+ if (line.v1)
231
+ criteria.v1 = line.v1;
232
+ if (line.v2)
233
+ criteria.v2 = line.v2;
234
+ if (line.v3)
235
+ criteria.v3 = line.v3;
236
+ if (line.v4)
237
+ criteria.v4 = line.v4;
238
+ if (line.v5)
239
+ criteria.v5 = line.v5;
240
+ await this.repository.delete(criteria);
241
+ }
242
+ catch (error) {
243
+ throw new Error(`Failed to remove Casbin policy: ${error.message}`);
244
+ }
245
+ }
246
+ async removePolicies(sec, ptype, rules) {
247
+ this.ensureConnected();
248
+ if (!rules || rules.length === 0) {
249
+ return;
250
+ }
251
+ const queryRunner = this.dataSource.createQueryRunner();
252
+ const type = CasbinAdapter.getCasbinRuleType(this.option.type);
253
+ await queryRunner.connect();
254
+ await queryRunner.startTransaction();
255
+ try {
256
+ for (const rule of rules) {
257
+ const line = this.savePolicyLine(ptype, rule, false);
258
+ await queryRunner.manager.delete(type, line);
259
+ }
260
+ await queryRunner.commitTransaction();
261
+ }
262
+ catch (error) {
263
+ await queryRunner.rollbackTransaction();
264
+ throw new Error(`Failed to remove Casbin policies: ${error.message}`);
265
+ }
266
+ finally {
267
+ await queryRunner.release();
268
+ }
269
+ }
270
+ async removeFilteredPolicy(sec, ptype, fieldIndex, ...fieldValues) {
271
+ this.ensureConnected();
272
+ if (fieldIndex < 0 || fieldIndex > 5) {
273
+ throw new Error(`Invalid field index: ${fieldIndex}. Must be between 0 and 5.`);
274
+ }
275
+ try {
276
+ const line = new (this.getCasbinRuleConstructor())();
277
+ line.ptype = ptype;
278
+ if (fieldIndex <= 0 && 0 < fieldIndex + fieldValues.length) {
279
+ line.v0 = fieldValues[0 - fieldIndex];
280
+ }
281
+ if (fieldIndex <= 1 && 1 < fieldIndex + fieldValues.length) {
282
+ line.v1 = fieldValues[1 - fieldIndex];
283
+ }
284
+ if (fieldIndex <= 2 && 2 < fieldIndex + fieldValues.length) {
285
+ line.v2 = fieldValues[2 - fieldIndex];
286
+ }
287
+ if (fieldIndex <= 3 && 3 < fieldIndex + fieldValues.length) {
288
+ line.v3 = fieldValues[3 - fieldIndex];
289
+ }
290
+ if (fieldIndex <= 4 && 4 < fieldIndex + fieldValues.length) {
291
+ line.v4 = fieldValues[4 - fieldIndex];
292
+ }
293
+ if (fieldIndex <= 5 && 5 < fieldIndex + fieldValues.length) {
294
+ line.v5 = fieldValues[5 - fieldIndex];
295
+ }
296
+ const criteria = { ptype: line.ptype };
297
+ if (line.v0)
298
+ criteria.v0 = line.v0;
299
+ if (line.v1)
300
+ criteria.v1 = line.v1;
301
+ if (line.v2)
302
+ criteria.v2 = line.v2;
303
+ if (line.v3)
304
+ criteria.v3 = line.v3;
305
+ if (line.v4)
306
+ criteria.v4 = line.v4;
307
+ if (line.v5)
308
+ criteria.v5 = line.v5;
309
+ await this.repository.delete(criteria);
310
+ }
311
+ catch (error) {
312
+ throw new Error(`Failed to remove filtered Casbin policy: ${error.message}`);
313
+ }
314
+ }
315
+ getCasbinRuleConstructor() {
316
+ return CasbinAdapter.getCasbinRuleType(this.option.type);
317
+ }
318
+ static getCasbinRuleType(type) {
319
+ return CasbinRule_1.CasbinRule;
320
+ }
321
+ async getAllRules() {
322
+ this.ensureConnected();
323
+ try {
324
+ return await this.repository.find();
325
+ }
326
+ catch (error) {
327
+ throw new Error(`Failed to get all Casbin rules: ${error.message}`);
328
+ }
329
+ }
330
+ async getPolicyCount() {
331
+ this.ensureConnected();
332
+ try {
333
+ const rules = await this.repository.find();
334
+ const byType = {};
335
+ rules.forEach((rule) => {
336
+ byType[rule.ptype] = (byType[rule.ptype] || 0) + 1;
337
+ });
338
+ return {
339
+ total: rules.length,
340
+ byType,
341
+ };
342
+ }
343
+ catch (error) {
344
+ throw new Error(`Failed to get Casbin policy count: ${error.message}`);
345
+ }
346
+ }
347
+ getDataSource() {
348
+ return this.dataSource;
349
+ }
350
+ getRepository() {
351
+ return this.repository;
352
+ }
353
+ }
354
+ exports.default = CasbinAdapter;
355
+ //# sourceMappingURL=CasbinAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CasbinAdapter.js","sourceRoot":"","sources":["../../../../src/libs/casbin/CasbinAdapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { BootstrapLoader } from '../../server/BootstrapLoader';
2
+ export declare const casbinLoader: (modelPath?: string) => BootstrapLoader;
3
+ //# sourceMappingURL=CasbinLoader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CasbinLoader.d.ts","sourceRoot":"","sources":["../../../../src/libs/casbin/CasbinLoader.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAyB/D,eAAO,MAAM,YAAY,GAAI,YAAW,MAA6C,KAAG,eA6CvF,CAAC"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.casbinLoader = void 0;
7
+ const typedi_1 = require("typedi");
8
+ const typeorm_1 = require("typeorm");
9
+ const casbin_1 = require("casbin");
10
+ const redis_watcher_1 = require("redis-watcher");
11
+ const fs_1 = require("fs");
12
+ const path_1 = require("path");
13
+ const configure_1 = require("../configure");
14
+ const CasbinAdapter_1 = __importDefault(require("./CasbinAdapter"));
15
+ const logger_1 = require("../logger");
16
+ const casbinLoader = (modelPath = './cfg/rbac_with_domains_model.conf') => {
17
+ return async (settings) => {
18
+ const logger = logger_1.Logger.getLogger('CasbinLoader');
19
+ const absoluteModelPath = (0, path_1.resolve)(modelPath);
20
+ if (!(0, fs_1.existsSync)(absoluteModelPath)) {
21
+ const errorMsg = `Casbin model file not found: ${absoluteModelPath}\n` +
22
+ `Please ensure the model configuration file exists at the specified path.\n` +
23
+ `Original path: ${modelPath}`;
24
+ logger.error(errorMsg);
25
+ throw new Error(errorMsg);
26
+ }
27
+ logger.info(`Loading Casbin model from: ${absoluteModelPath}`);
28
+ const redis = configure_1.ConfigManager.getConfig('redis');
29
+ const dataSource = typedi_1.Container.get(typeorm_1.DataSource);
30
+ const adapter = await CasbinAdapter_1.default.newAdapter(Object.assign({}, dataSource.options, { synchronize: false, logging: 'error' }));
31
+ const enforcer = await (0, casbin_1.newEnforcer)(absoluteModelPath, adapter);
32
+ const watcher = await redis_watcher_1.RedisWatcher.newWatcher(redis.redis);
33
+ enforcer.setWatcher(watcher);
34
+ typedi_1.Container.set(casbin_1.Enforcer, enforcer);
35
+ await enforcer.loadPolicy();
36
+ settings?.onShutdown(async () => {
37
+ logger.info('Shutting down Casbin adapter...');
38
+ await adapter.close();
39
+ });
40
+ logger.info('✅ Casbin RBAC module loaded successfully');
41
+ };
42
+ };
43
+ exports.casbinLoader = casbinLoader;
44
+ //# sourceMappingURL=CasbinLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CasbinLoader.js","sourceRoot":"","sources":["../../../../src/libs/casbin/CasbinLoader.ts"],"names":[],"mappings":";;;;;;AACA,mCAAmC;AACnC,qCAAqC;AACrC,mCAA+C;AAC/C,iDAA6C;AAC7C,2BAAgC;AAChC,+BAA+B;AAC/B,4CAA0D;AAC1D,oEAA4C;AAE5C,sCAAmC;AAwB5B,MAAM,YAAY,GAAG,CAAC,YAAoB,oCAAoC,EAAmB,EAAE;IACxG,OAAO,KAAK,EAAE,QAAiC,EAAE,EAAE;QACjD,MAAM,MAAM,GAAG,eAAM,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QAGhD,MAAM,iBAAiB,GAAG,IAAA,cAAO,EAAC,SAAS,CAAC,CAAC;QAG7C,IAAI,CAAC,IAAA,eAAU,EAAC,iBAAiB,CAAC,EAAE,CAAC;YACnC,MAAM,QAAQ,GACZ,gCAAgC,iBAAiB,IAAI;gBACrD,4EAA4E;gBAC5E,kBAAkB,SAAS,EAAE,CAAC;YAChC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,8BAA8B,iBAAiB,EAAE,CAAC,CAAC;QAE/D,MAAM,KAAK,GAAG,yBAAa,CAAC,SAAS,CAAc,OAAO,CAAC,CAAC;QAE5D,MAAM,UAAU,GAAG,kBAAS,CAAC,GAAG,CAAC,oBAAU,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,MAAM,uBAAa,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QAGhI,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAW,EAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QAG/D,MAAM,OAAO,GAAG,MAAM,4BAAY,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3D,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAG7B,kBAAS,CAAC,GAAG,CAAC,iBAAQ,EAAE,QAAQ,CAAC,CAAC;QAGlC,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;QAG5B,QAAQ,EAAE,UAAU,CAAC,KAAK,IAAI,EAAE;YAC9B,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;YAC/C,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;IAC1D,CAAC,CAAC;AACJ,CAAC,CAAC;AA7CW,QAAA,YAAY,gBA6CvB"}
@@ -0,0 +1,14 @@
1
+ export declare class CasbinRule {
2
+ id: string;
3
+ ptype: string;
4
+ v0: string;
5
+ v1: string;
6
+ v2: string;
7
+ v3: string;
8
+ v4: string;
9
+ v5: string;
10
+ toString(): string;
11
+ toArray(): string[];
12
+ static create(id: string, ptype: string, values: string[]): CasbinRule;
13
+ }
14
+ //# sourceMappingURL=CasbinRule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CasbinRule.d.ts","sourceRoot":"","sources":["../../../../src/libs/casbin/CasbinRule.ts"],"names":[],"mappings":"AAqBA,qBAKa,UAAU;IAKrB,EAAE,EAAE,MAAM,CAAC;IAOX,KAAK,EAAE,MAAM,CAAC;IAQd,EAAE,EAAE,MAAM,CAAC;IAQX,EAAE,EAAE,MAAM,CAAC;IAQX,EAAE,EAAE,MAAM,CAAC;IAOX,EAAE,EAAE,MAAM,CAAC;IAOX,EAAE,EAAE,MAAM,CAAC;IAOX,EAAE,EAAE,MAAM,CAAC;IAMX,QAAQ,IAAI,MAAM;IAWlB,OAAO,IAAI,MAAM,EAAE;IAYnB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU;CAavE"}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var CasbinRule_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.CasbinRule = void 0;
14
+ const typeorm_1 = require("typeorm");
15
+ let CasbinRule = CasbinRule_1 = class CasbinRule {
16
+ toString() {
17
+ const values = [this.v0, this.v1, this.v2, this.v3, this.v4, this.v5]
18
+ .filter((v) => v !== null && v !== undefined && v !== '')
19
+ .join(', ');
20
+ return `${this.ptype}, ${values}`;
21
+ }
22
+ toArray() {
23
+ return [this.v0, this.v1, this.v2, this.v3, this.v4, this.v5]
24
+ .filter((v) => v !== null && v !== undefined && v !== '');
25
+ }
26
+ static create(id, ptype, values) {
27
+ const rule = new CasbinRule_1();
28
+ rule.id = id;
29
+ rule.ptype = ptype;
30
+ if (values.length > 0)
31
+ rule.v0 = values[0];
32
+ if (values.length > 1)
33
+ rule.v1 = values[1];
34
+ if (values.length > 2)
35
+ rule.v2 = values[2];
36
+ if (values.length > 3)
37
+ rule.v3 = values[3];
38
+ if (values.length > 4)
39
+ rule.v4 = values[4];
40
+ if (values.length > 5)
41
+ rule.v5 = values[5];
42
+ return rule;
43
+ }
44
+ };
45
+ exports.CasbinRule = CasbinRule;
46
+ __decorate([
47
+ (0, typeorm_1.PrimaryColumn)('varchar', { name: 'id', length: 64 }),
48
+ __metadata("design:type", String)
49
+ ], CasbinRule.prototype, "id", void 0);
50
+ __decorate([
51
+ (0, typeorm_1.Column)('varchar', { length: 100, nullable: false }),
52
+ __metadata("design:type", String)
53
+ ], CasbinRule.prototype, "ptype", void 0);
54
+ __decorate([
55
+ (0, typeorm_1.Column)('varchar', { length: 255, nullable: true, default: null }),
56
+ __metadata("design:type", String)
57
+ ], CasbinRule.prototype, "v0", void 0);
58
+ __decorate([
59
+ (0, typeorm_1.Column)('varchar', { length: 255, nullable: true, default: null }),
60
+ __metadata("design:type", String)
61
+ ], CasbinRule.prototype, "v1", void 0);
62
+ __decorate([
63
+ (0, typeorm_1.Column)('varchar', { length: 255, nullable: true, default: null }),
64
+ __metadata("design:type", String)
65
+ ], CasbinRule.prototype, "v2", void 0);
66
+ __decorate([
67
+ (0, typeorm_1.Column)('varchar', { length: 255, nullable: true, default: null }),
68
+ __metadata("design:type", String)
69
+ ], CasbinRule.prototype, "v3", void 0);
70
+ __decorate([
71
+ (0, typeorm_1.Column)('varchar', { length: 255, nullable: true, default: null }),
72
+ __metadata("design:type", String)
73
+ ], CasbinRule.prototype, "v4", void 0);
74
+ __decorate([
75
+ (0, typeorm_1.Column)('varchar', { length: 255, nullable: true, default: null }),
76
+ __metadata("design:type", String)
77
+ ], CasbinRule.prototype, "v5", void 0);
78
+ exports.CasbinRule = CasbinRule = CasbinRule_1 = __decorate([
79
+ (0, typeorm_1.Entity)('casbin_rule'),
80
+ (0, typeorm_1.Index)(['ptype']),
81
+ (0, typeorm_1.Index)(['ptype', 'v0']),
82
+ (0, typeorm_1.Index)(['ptype', 'v0', 'v1']),
83
+ (0, typeorm_1.Index)(['ptype', 'v0', 'v1', 'v2'])
84
+ ], CasbinRule);
85
+ //# sourceMappingURL=CasbinRule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CasbinRule.js","sourceRoot":"","sources":["../../../../src/libs/casbin/CasbinRule.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,qCAA+D;AA0BxD,IAAM,UAAU,kBAAhB,MAAM,UAAU;IA+DrB,QAAQ;QACN,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;aAClE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC;aACxD,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,OAAO,GAAG,IAAI,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;IACpC,CAAC;IAMD,OAAO;QACL,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;aAC1D,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC9D,CAAC;IASD,MAAM,CAAC,MAAM,CAAC,EAAU,EAAE,KAAa,EAAE,MAAgB;QACvD,MAAM,IAAI,GAAG,IAAI,YAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAE3C,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAnGY,gCAAU;AAKrB;IADC,IAAA,uBAAa,EAAC,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;;sCAC1C;AAOX;IADC,IAAA,gBAAM,EAAC,SAAS,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;yCACtC;AAQd;IADC,IAAA,gBAAM,EAAC,SAAS,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;sCACvD;AAQX;IADC,IAAA,gBAAM,EAAC,SAAS,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;sCACvD;AAQX;IADC,IAAA,gBAAM,EAAC,SAAS,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;sCACvD;AAOX;IADC,IAAA,gBAAM,EAAC,SAAS,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;sCACvD;AAOX;IADC,IAAA,gBAAM,EAAC,SAAS,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;sCACvD;AAOX;IADC,IAAA,gBAAM,EAAC,SAAS,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;sCACvD;qBAzDA,UAAU;IALtB,IAAA,gBAAM,EAAC,aAAa,CAAC;IACrB,IAAA,eAAK,EAAC,CAAC,OAAO,CAAC,CAAC;IAChB,IAAA,eAAK,EAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACtB,IAAA,eAAK,EAAC,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,IAAA,eAAK,EAAC,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;GACtB,UAAU,CAmGtB"}
@@ -0,0 +1,10 @@
1
+ export interface FilterCondition {
2
+ ptype?: string;
3
+ v0?: string;
4
+ v1?: string;
5
+ v2?: string;
6
+ v3?: string;
7
+ v4?: string;
8
+ v5?: string;
9
+ }
10
+ //# sourceMappingURL=FilterCondition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterCondition.d.ts","sourceRoot":"","sources":["../../../../src/libs/casbin/FilterCondition.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;CACb"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=FilterCondition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterCondition.js","sourceRoot":"","sources":["../../../../src/libs/casbin/FilterCondition.ts"],"names":[],"mappings":""}