@stratal/framework 0.0.13 → 0.0.15

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 (290) hide show
  1. package/dist/auth/index.d.mts +202 -0
  2. package/dist/auth/index.d.mts.map +1 -0
  3. package/dist/auth/index.mjs +323 -0
  4. package/dist/auth/index.mjs.map +1 -0
  5. package/dist/auth-context-BD2ApWg1.d.mts +38 -0
  6. package/dist/auth-context-BD2ApWg1.d.mts.map +1 -0
  7. package/dist/auth-context-CV3Ko1ew.mjs +55 -0
  8. package/dist/auth-context-CV3Ko1ew.mjs.map +1 -0
  9. package/dist/context/index.d.mts +20 -0
  10. package/dist/context/index.d.mts.map +1 -0
  11. package/dist/context/index.mjs +3 -0
  12. package/dist/database/index.d.mts +3 -0
  13. package/dist/database/index.mjs +374 -0
  14. package/dist/database/index.mjs.map +1 -0
  15. package/dist/decorate-RSane8dy.mjs +9 -0
  16. package/dist/decorateMetadata-CETItPez.mjs +6 -0
  17. package/dist/decorateParam-CcTvpNsw.mjs +8 -0
  18. package/dist/errors-C_KIIU1v.mjs +25 -0
  19. package/dist/errors-C_KIIU1v.mjs.map +1 -0
  20. package/dist/factory/index.d.mts +99 -0
  21. package/dist/factory/index.d.mts.map +1 -0
  22. package/dist/factory/index.mjs +138 -0
  23. package/dist/factory/index.mjs.map +1 -0
  24. package/dist/guards/{auth.guard.d.ts → index.d.mts} +7 -3
  25. package/dist/guards/index.d.mts.map +1 -0
  26. package/dist/guards/index.mjs +93 -0
  27. package/dist/guards/index.mjs.map +1 -0
  28. package/dist/index-Dlg8mNjq.d.mts +386 -0
  29. package/dist/index-Dlg8mNjq.d.mts.map +1 -0
  30. package/dist/index.d.mts +3 -0
  31. package/dist/index.mjs +1 -0
  32. package/dist/rbac/index.d.mts +206 -0
  33. package/dist/rbac/index.d.mts.map +1 -0
  34. package/dist/rbac/index.mjs +346 -0
  35. package/dist/rbac/index.mjs.map +1 -0
  36. package/dist/tokens-Di1ofovy.mjs +32 -0
  37. package/dist/tokens-Di1ofovy.mjs.map +1 -0
  38. package/dist/{database/types.d.ts → types-Gjk0d2qB.d.mts} +18 -15
  39. package/dist/types-Gjk0d2qB.d.mts.map +1 -0
  40. package/package.json +25 -24
  41. package/dist/auth/auth.module.d.ts +0 -37
  42. package/dist/auth/auth.module.d.ts.map +0 -1
  43. package/dist/auth/auth.module.js +0 -74
  44. package/dist/auth/auth.module.js.map +0 -1
  45. package/dist/auth/auth.tokens.d.ts +0 -5
  46. package/dist/auth/auth.tokens.d.ts.map +0 -1
  47. package/dist/auth/auth.tokens.js +0 -5
  48. package/dist/auth/auth.tokens.js.map +0 -1
  49. package/dist/auth/errors/auth-errors.d.ts +0 -74
  50. package/dist/auth/errors/auth-errors.d.ts.map +0 -1
  51. package/dist/auth/errors/auth-errors.js +0 -122
  52. package/dist/auth/errors/auth-errors.js.map +0 -1
  53. package/dist/auth/errors/index.d.ts +0 -5
  54. package/dist/auth/errors/index.d.ts.map +0 -1
  55. package/dist/auth/errors/index.js +0 -5
  56. package/dist/auth/errors/index.js.map +0 -1
  57. package/dist/auth/errors/invalid-token.error.d.ts +0 -5
  58. package/dist/auth/errors/invalid-token.error.d.ts.map +0 -1
  59. package/dist/auth/errors/invalid-token.error.js +0 -7
  60. package/dist/auth/errors/invalid-token.error.js.map +0 -1
  61. package/dist/auth/errors/token-required.error.d.ts +0 -5
  62. package/dist/auth/errors/token-required.error.d.ts.map +0 -1
  63. package/dist/auth/errors/token-required.error.js +0 -7
  64. package/dist/auth/errors/token-required.error.js.map +0 -1
  65. package/dist/auth/errors/verification-failed.error.d.ts +0 -5
  66. package/dist/auth/errors/verification-failed.error.d.ts.map +0 -1
  67. package/dist/auth/errors/verification-failed.error.js +0 -7
  68. package/dist/auth/errors/verification-failed.error.js.map +0 -1
  69. package/dist/auth/index.d.ts +0 -7
  70. package/dist/auth/index.d.ts.map +0 -1
  71. package/dist/auth/index.js +0 -7
  72. package/dist/auth/index.js.map +0 -1
  73. package/dist/auth/middleware/auth-context.middleware.d.ts +0 -12
  74. package/dist/auth/middleware/auth-context.middleware.d.ts.map +0 -1
  75. package/dist/auth/middleware/auth-context.middleware.js +0 -28
  76. package/dist/auth/middleware/auth-context.middleware.js.map +0 -1
  77. package/dist/auth/middleware/index.d.ts +0 -3
  78. package/dist/auth/middleware/index.d.ts.map +0 -1
  79. package/dist/auth/middleware/index.js +0 -3
  80. package/dist/auth/middleware/index.js.map +0 -1
  81. package/dist/auth/middleware/session-verification.middleware.d.ts +0 -18
  82. package/dist/auth/middleware/session-verification.middleware.d.ts.map +0 -1
  83. package/dist/auth/middleware/session-verification.middleware.js +0 -48
  84. package/dist/auth/middleware/session-verification.middleware.js.map +0 -1
  85. package/dist/auth/services/auth.service.d.ts +0 -32
  86. package/dist/auth/services/auth.service.d.ts.map +0 -1
  87. package/dist/auth/services/auth.service.js +0 -62
  88. package/dist/auth/services/auth.service.js.map +0 -1
  89. package/dist/auth/services/index.d.ts +0 -2
  90. package/dist/auth/services/index.d.ts.map +0 -1
  91. package/dist/auth/services/index.js +0 -2
  92. package/dist/auth/services/index.js.map +0 -1
  93. package/dist/auth/utils/auth-helpers.d.ts +0 -11
  94. package/dist/auth/utils/auth-helpers.d.ts.map +0 -1
  95. package/dist/auth/utils/auth-helpers.js +0 -31
  96. package/dist/auth/utils/auth-helpers.js.map +0 -1
  97. package/dist/auth/utils/better-auth-error-handler.d.ts +0 -11
  98. package/dist/auth/utils/better-auth-error-handler.d.ts.map +0 -1
  99. package/dist/auth/utils/better-auth-error-handler.js +0 -95
  100. package/dist/auth/utils/better-auth-error-handler.js.map +0 -1
  101. package/dist/auth/utils/index.d.ts +0 -3
  102. package/dist/auth/utils/index.d.ts.map +0 -1
  103. package/dist/auth/utils/index.js +0 -3
  104. package/dist/auth/utils/index.js.map +0 -1
  105. package/dist/context/auth-context.d.ts +0 -35
  106. package/dist/context/auth-context.d.ts.map +0 -1
  107. package/dist/context/auth-context.js +0 -65
  108. package/dist/context/auth-context.js.map +0 -1
  109. package/dist/context/errors/context-not-initialized.error.d.ts +0 -5
  110. package/dist/context/errors/context-not-initialized.error.d.ts.map +0 -1
  111. package/dist/context/errors/context-not-initialized.error.js +0 -7
  112. package/dist/context/errors/context-not-initialized.error.js.map +0 -1
  113. package/dist/context/errors/index.d.ts +0 -4
  114. package/dist/context/errors/index.d.ts.map +0 -1
  115. package/dist/context/errors/index.js +0 -4
  116. package/dist/context/errors/index.js.map +0 -1
  117. package/dist/context/errors/user-not-authenticated.error.d.ts +0 -5
  118. package/dist/context/errors/user-not-authenticated.error.d.ts.map +0 -1
  119. package/dist/context/errors/user-not-authenticated.error.js +0 -7
  120. package/dist/context/errors/user-not-authenticated.error.js.map +0 -1
  121. package/dist/context/errors/user-not-authorized.error.d.ts +0 -5
  122. package/dist/context/errors/user-not-authorized.error.d.ts.map +0 -1
  123. package/dist/context/errors/user-not-authorized.error.js +0 -7
  124. package/dist/context/errors/user-not-authorized.error.js.map +0 -1
  125. package/dist/context/index.d.ts +0 -3
  126. package/dist/context/index.d.ts.map +0 -1
  127. package/dist/context/index.js +0 -3
  128. package/dist/context/index.js.map +0 -1
  129. package/dist/database/custom-pg-types.d.ts +0 -21
  130. package/dist/database/custom-pg-types.d.ts.map +0 -1
  131. package/dist/database/custom-pg-types.js +0 -41
  132. package/dist/database/custom-pg-types.js.map +0 -1
  133. package/dist/database/database.helpers.d.ts +0 -15
  134. package/dist/database/database.helpers.d.ts.map +0 -1
  135. package/dist/database/database.helpers.js +0 -47
  136. package/dist/database/database.helpers.js.map +0 -1
  137. package/dist/database/database.module.d.ts +0 -22
  138. package/dist/database/database.module.d.ts.map +0 -1
  139. package/dist/database/database.module.js +0 -54
  140. package/dist/database/database.module.js.map +0 -1
  141. package/dist/database/database.service.d.ts +0 -18
  142. package/dist/database/database.service.d.ts.map +0 -1
  143. package/dist/database/database.service.js +0 -2
  144. package/dist/database/database.service.js.map +0 -1
  145. package/dist/database/database.tokens.d.ts +0 -7
  146. package/dist/database/database.tokens.d.ts.map +0 -1
  147. package/dist/database/database.tokens.js +0 -8
  148. package/dist/database/database.tokens.js.map +0 -1
  149. package/dist/database/decorators/inject-db.decorator.d.ts +0 -3
  150. package/dist/database/decorators/inject-db.decorator.d.ts.map +0 -1
  151. package/dist/database/decorators/inject-db.decorator.js +0 -6
  152. package/dist/database/decorators/inject-db.decorator.js.map +0 -1
  153. package/dist/database/errors/database-config.error.d.ts +0 -5
  154. package/dist/database/errors/database-config.error.d.ts.map +0 -1
  155. package/dist/database/errors/database-config.error.js +0 -8
  156. package/dist/database/errors/database-config.error.js.map +0 -1
  157. package/dist/database/errors/database-error.d.ts +0 -14
  158. package/dist/database/errors/database-error.d.ts.map +0 -1
  159. package/dist/database/errors/database-error.js +0 -20
  160. package/dist/database/errors/database-error.js.map +0 -1
  161. package/dist/database/errors/foreign-key-constraint.error.d.ts +0 -14
  162. package/dist/database/errors/foreign-key-constraint.error.d.ts.map +0 -1
  163. package/dist/database/errors/foreign-key-constraint.error.js +0 -19
  164. package/dist/database/errors/foreign-key-constraint.error.js.map +0 -1
  165. package/dist/database/errors/from-zenstack-error.d.ts +0 -22
  166. package/dist/database/errors/from-zenstack-error.d.ts.map +0 -1
  167. package/dist/database/errors/from-zenstack-error.js +0 -114
  168. package/dist/database/errors/from-zenstack-error.js.map +0 -1
  169. package/dist/database/errors/index.d.ts +0 -8
  170. package/dist/database/errors/index.d.ts.map +0 -1
  171. package/dist/database/errors/index.js +0 -8
  172. package/dist/database/errors/index.js.map +0 -1
  173. package/dist/database/errors/invalid-error-code-range.error.d.ts +0 -12
  174. package/dist/database/errors/invalid-error-code-range.error.d.ts.map +0 -1
  175. package/dist/database/errors/invalid-error-code-range.error.js +0 -14
  176. package/dist/database/errors/invalid-error-code-range.error.js.map +0 -1
  177. package/dist/database/errors/record-not-found.error.d.ts +0 -15
  178. package/dist/database/errors/record-not-found.error.d.ts.map +0 -1
  179. package/dist/database/errors/record-not-found.error.js +0 -20
  180. package/dist/database/errors/record-not-found.error.js.map +0 -1
  181. package/dist/database/errors/unique-constraint.error.d.ts +0 -15
  182. package/dist/database/errors/unique-constraint.error.d.ts.map +0 -1
  183. package/dist/database/errors/unique-constraint.error.js +0 -20
  184. package/dist/database/errors/unique-constraint.error.js.map +0 -1
  185. package/dist/database/event-types.d.ts +0 -137
  186. package/dist/database/event-types.d.ts.map +0 -1
  187. package/dist/database/event-types.js +0 -13
  188. package/dist/database/event-types.js.map +0 -1
  189. package/dist/database/i18n/en.d.ts +0 -15
  190. package/dist/database/i18n/en.d.ts.map +0 -1
  191. package/dist/database/i18n/en.js +0 -10
  192. package/dist/database/i18n/en.js.map +0 -1
  193. package/dist/database/i18n/index.d.ts +0 -2
  194. package/dist/database/i18n/index.d.ts.map +0 -1
  195. package/dist/database/i18n/index.js +0 -2
  196. package/dist/database/i18n/index.js.map +0 -1
  197. package/dist/database/index.d.ts +0 -11
  198. package/dist/database/index.d.ts.map +0 -1
  199. package/dist/database/index.js +0 -11
  200. package/dist/database/index.js.map +0 -1
  201. package/dist/database/plugins/error-handler.plugin.d.ts +0 -21
  202. package/dist/database/plugins/error-handler.plugin.d.ts.map +0 -1
  203. package/dist/database/plugins/error-handler.plugin.js +0 -24
  204. package/dist/database/plugins/error-handler.plugin.js.map +0 -1
  205. package/dist/database/plugins/event-emitter.plugin.d.ts +0 -37
  206. package/dist/database/plugins/event-emitter.plugin.d.ts.map +0 -1
  207. package/dist/database/plugins/event-emitter.plugin.js +0 -43
  208. package/dist/database/plugins/event-emitter.plugin.js.map +0 -1
  209. package/dist/database/plugins/index.d.ts +0 -4
  210. package/dist/database/plugins/index.d.ts.map +0 -1
  211. package/dist/database/plugins/index.js +0 -4
  212. package/dist/database/plugins/index.js.map +0 -1
  213. package/dist/database/plugins/schema-switcher.plugin.d.ts +0 -32
  214. package/dist/database/plugins/schema-switcher.plugin.d.ts.map +0 -1
  215. package/dist/database/plugins/schema-switcher.plugin.js +0 -27
  216. package/dist/database/plugins/schema-switcher.plugin.js.map +0 -1
  217. package/dist/database/types.d.ts.map +0 -1
  218. package/dist/database/types.js +0 -2
  219. package/dist/database/types.js.map +0 -1
  220. package/dist/factory/factory.d.ts +0 -56
  221. package/dist/factory/factory.d.ts.map +0 -1
  222. package/dist/factory/factory.js +0 -86
  223. package/dist/factory/factory.js.map +0 -1
  224. package/dist/factory/index.d.ts +0 -3
  225. package/dist/factory/index.d.ts.map +0 -1
  226. package/dist/factory/index.js +0 -3
  227. package/dist/factory/index.js.map +0 -1
  228. package/dist/factory/sequence.d.ts +0 -38
  229. package/dist/factory/sequence.d.ts.map +0 -1
  230. package/dist/factory/sequence.js +0 -54
  231. package/dist/factory/sequence.js.map +0 -1
  232. package/dist/guards/auth.guard.d.ts.map +0 -1
  233. package/dist/guards/auth.guard.js +0 -99
  234. package/dist/guards/auth.guard.js.map +0 -1
  235. package/dist/guards/index.d.ts +0 -3
  236. package/dist/guards/index.d.ts.map +0 -1
  237. package/dist/guards/index.js +0 -5
  238. package/dist/guards/index.js.map +0 -1
  239. package/dist/index.d.ts +0 -3
  240. package/dist/index.d.ts.map +0 -1
  241. package/dist/index.js +0 -2
  242. package/dist/index.js.map +0 -1
  243. package/dist/rbac/adapters/custom-zenstack-adapter.d.ts +0 -61
  244. package/dist/rbac/adapters/custom-zenstack-adapter.d.ts.map +0 -1
  245. package/dist/rbac/adapters/custom-zenstack-adapter.js +0 -159
  246. package/dist/rbac/adapters/custom-zenstack-adapter.js.map +0 -1
  247. package/dist/rbac/adapters/index.d.ts +0 -2
  248. package/dist/rbac/adapters/index.d.ts.map +0 -1
  249. package/dist/rbac/adapters/index.js +0 -2
  250. package/dist/rbac/adapters/index.js.map +0 -1
  251. package/dist/rbac/constants.d.ts +0 -8
  252. package/dist/rbac/constants.d.ts.map +0 -1
  253. package/dist/rbac/constants.js +0 -8
  254. package/dist/rbac/constants.js.map +0 -1
  255. package/dist/rbac/errors/index.d.ts +0 -2
  256. package/dist/rbac/errors/index.d.ts.map +0 -1
  257. package/dist/rbac/errors/index.js +0 -2
  258. package/dist/rbac/errors/index.js.map +0 -1
  259. package/dist/rbac/errors/insufficient-permissions.error.d.ts +0 -14
  260. package/dist/rbac/errors/insufficient-permissions.error.d.ts.map +0 -1
  261. package/dist/rbac/errors/insufficient-permissions.error.js +0 -19
  262. package/dist/rbac/errors/insufficient-permissions.error.js.map +0 -1
  263. package/dist/rbac/index.d.ts +0 -9
  264. package/dist/rbac/index.d.ts.map +0 -1
  265. package/dist/rbac/index.js +0 -8
  266. package/dist/rbac/index.js.map +0 -1
  267. package/dist/rbac/rbac.module.d.ts +0 -26
  268. package/dist/rbac/rbac.module.d.ts.map +0 -1
  269. package/dist/rbac/rbac.module.js +0 -62
  270. package/dist/rbac/rbac.module.js.map +0 -1
  271. package/dist/rbac/services/casbin-enforcer.service.d.ts +0 -37
  272. package/dist/rbac/services/casbin-enforcer.service.d.ts.map +0 -1
  273. package/dist/rbac/services/casbin-enforcer.service.js +0 -86
  274. package/dist/rbac/services/casbin-enforcer.service.js.map +0 -1
  275. package/dist/rbac/services/casbin.service.d.ts +0 -37
  276. package/dist/rbac/services/casbin.service.d.ts.map +0 -1
  277. package/dist/rbac/services/casbin.service.js +0 -174
  278. package/dist/rbac/services/casbin.service.js.map +0 -1
  279. package/dist/rbac/services/index.d.ts +0 -3
  280. package/dist/rbac/services/index.d.ts.map +0 -1
  281. package/dist/rbac/services/index.js +0 -3
  282. package/dist/rbac/services/index.js.map +0 -1
  283. package/dist/rbac/tokens.d.ts +0 -10
  284. package/dist/rbac/tokens.d.ts.map +0 -1
  285. package/dist/rbac/tokens.js +0 -10
  286. package/dist/rbac/tokens.js.map +0 -1
  287. package/dist/rbac/types.d.ts +0 -12
  288. package/dist/rbac/types.d.ts.map +0 -1
  289. package/dist/rbac/types.js +0 -2
  290. package/dist/rbac/types.js.map +0 -1
@@ -1,86 +0,0 @@
1
- import { faker } from '@faker-js/faker';
2
- /**
3
- * Factory
4
- *
5
- * Abstract base class for creating test data.
6
- * Integrates with Faker.js for data generation.
7
- *
8
- * @example Define a factory
9
- * ```typescript
10
- * import { Factory } from '@stratal/framework/factory'
11
- * import type { User, UserCreateInput } from '@your-app/db'
12
- *
13
- * export class UserFactory extends Factory<User, UserCreateInput> {
14
- * protected model = 'user'
15
- *
16
- * protected definition(): UserCreateInput {
17
- * return {
18
- * email: this.faker.internet.email(),
19
- * firstName: this.faker.person.firstName(),
20
- * lastName: this.faker.person.lastName(),
21
- * emailVerified: true,
22
- * }
23
- * }
24
- *
25
- * admin() {
26
- * return this.state(attrs => ({ ...attrs, role: 'admin' }))
27
- * }
28
- * }
29
- * ```
30
- *
31
- * @example Usage
32
- * ```typescript
33
- * const user = await new UserFactory().create(ctx.db)
34
- * const admin = await new UserFactory().admin().create(ctx.db)
35
- * const users = await new UserFactory().count(10).createManyAndReturn(ctx.db)
36
- * ```
37
- */
38
- export class Factory {
39
- faker = faker;
40
- states = [];
41
- _count = 1;
42
- state(modifier) {
43
- const clone = this.clone();
44
- clone.states.push(modifier);
45
- return clone;
46
- }
47
- count(n) {
48
- const clone = this.clone();
49
- clone._count = n;
50
- return clone;
51
- }
52
- make() {
53
- let attrs = this.definition();
54
- for (const modifier of this.states) {
55
- attrs = { ...attrs, ...modifier(attrs) };
56
- }
57
- return attrs;
58
- }
59
- makeMany(count) {
60
- const n = count ?? this._count;
61
- return Array.from({ length: n }, () => this.make());
62
- }
63
- async create(db) {
64
- const data = this.make();
65
- const model = db[this.model];
66
- return model.create({ data });
67
- }
68
- async createMany(db, count) {
69
- const data = this.makeMany(count);
70
- const model = db[this.model];
71
- return model.createMany({ data });
72
- }
73
- async createManyAndReturn(db, count) {
74
- const data = this.makeMany(count);
75
- const model = db[this.model];
76
- return model.createManyAndReturn({ data });
77
- }
78
- clone() {
79
- const FactoryClass = this.constructor;
80
- const clone = new FactoryClass();
81
- clone.states = [...this.states];
82
- clone._count = this._count;
83
- return clone;
84
- }
85
- }
86
- //# sourceMappingURL=factory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/factory/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAc,MAAM,iBAAiB,CAAA;AAGnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,OAAgB,OAAO;IACR,KAAK,GAAU,KAAK,CAAA;IAI/B,MAAM,GAAuD,EAAE,CAAA;IAC/D,MAAM,GAAG,CAAC,CAAA;IAElB,KAAK,CAAC,QAAwD;QAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAC1B,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC3B,OAAO,KAAK,CAAA;IACd,CAAC;IAED,KAAK,CAAC,CAAS;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAC1B,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA;QAChB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI;QACF,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;QAC7B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACnC,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAA;QAC1C,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,QAAQ,CAAC,KAAc;QACrB,MAAM,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,MAAM,CAAA;QAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;IACrD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAmB;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QACxB,MAAM,KAAK,GAAI,EAA+F,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC1H,OAAO,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/B,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAmB,EAAE,KAAc;QAClD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACjC,MAAM,KAAK,GAAI,EAAgH,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC3I,OAAO,KAAK,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IACnC,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,EAAmB,EAAE,KAAc;QAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACjC,MAAM,KAAK,GAAI,EAAgH,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC3I,OAAO,KAAK,CAAC,mBAAmB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IAC5C,CAAC;IAES,KAAK;QACb,MAAM,YAAY,GAAG,IAAI,CAAC,WAA6B,CAAA;QACvD,MAAM,KAAK,GAAG,IAAI,YAAY,EAAE,CAAA;QAChC,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAA;QAC/B,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAC1B,OAAO,KAAK,CAAA;IACd,CAAC;CACF"}
@@ -1,3 +0,0 @@
1
- export { Factory } from './factory';
2
- export { Sequence } from './sequence';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/factory/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA"}
@@ -1,3 +0,0 @@
1
- export { Factory } from './factory';
2
- export { Sequence } from './sequence';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/factory/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA"}
@@ -1,38 +0,0 @@
1
- /**
2
- * Sequence
3
- *
4
- * Auto-incrementing sequence generator for creating unique values.
5
- *
6
- * @example Basic usage
7
- * ```typescript
8
- * const emailSeq = new Sequence((n) => `user${n}@example.com`)
9
- *
10
- * emailSeq.next() // 'user1@example.com'
11
- * emailSeq.next() // 'user2@example.com'
12
- * emailSeq.reset()
13
- * emailSeq.next() // 'user1@example.com'
14
- * ```
15
- *
16
- * @example With factory
17
- * ```typescript
18
- * const orderSeq = new Sequence((n) => `ORD-${String(n).padStart(6, '0')}`)
19
- *
20
- * export class OrderFactory extends Factory<Order, OrderCreateInput> {
21
- * protected definition() {
22
- * return {
23
- * orderNumber: orderSeq.next(),
24
- * // ...
25
- * }
26
- * }
27
- * }
28
- * ```
29
- */
30
- export declare class Sequence<T = number> {
31
- private readonly generator?;
32
- private current;
33
- constructor(generator?: ((n: number) => T) | undefined);
34
- next(): T;
35
- peek(): T;
36
- reset(): void;
37
- }
38
- //# sourceMappingURL=sequence.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sequence.d.ts","sourceRoot":"","sources":["../../src/factory/sequence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,QAAQ,CAAC,CAAC,GAAG,MAAM;IAGlB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;IAFvC,OAAO,CAAC,OAAO,CAAI;gBAEU,SAAS,CAAC,GAAE,CAAC,CAAC,EAAE,MAAM,KAAK,CAAC,aAAA;IAEzD,IAAI,IAAI,CAAC;IAQT,IAAI,IAAI,CAAC;IAQT,KAAK,IAAI,IAAI;CAGd"}
@@ -1,54 +0,0 @@
1
- /**
2
- * Sequence
3
- *
4
- * Auto-incrementing sequence generator for creating unique values.
5
- *
6
- * @example Basic usage
7
- * ```typescript
8
- * const emailSeq = new Sequence((n) => `user${n}@example.com`)
9
- *
10
- * emailSeq.next() // 'user1@example.com'
11
- * emailSeq.next() // 'user2@example.com'
12
- * emailSeq.reset()
13
- * emailSeq.next() // 'user1@example.com'
14
- * ```
15
- *
16
- * @example With factory
17
- * ```typescript
18
- * const orderSeq = new Sequence((n) => `ORD-${String(n).padStart(6, '0')}`)
19
- *
20
- * export class OrderFactory extends Factory<Order, OrderCreateInput> {
21
- * protected definition() {
22
- * return {
23
- * orderNumber: orderSeq.next(),
24
- * // ...
25
- * }
26
- * }
27
- * }
28
- * ```
29
- */
30
- export class Sequence {
31
- generator;
32
- current = 0;
33
- constructor(generator) {
34
- this.generator = generator;
35
- }
36
- next() {
37
- this.current++;
38
- if (this.generator) {
39
- return this.generator(this.current);
40
- }
41
- return this.current;
42
- }
43
- peek() {
44
- const value = this.current + 1;
45
- if (this.generator) {
46
- return this.generator(value);
47
- }
48
- return value;
49
- }
50
- reset() {
51
- this.current = 0;
52
- }
53
- }
54
- //# sourceMappingURL=sequence.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sequence.js","sourceRoot":"","sources":["../../src/factory/sequence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,OAAO,QAAQ;IAGU;IAFrB,OAAO,GAAG,CAAC,CAAA;IAEnB,YAA6B,SAA4B;QAA5B,cAAS,GAAT,SAAS,CAAmB;IAAG,CAAC;IAE7D,IAAI;QACF,IAAI,CAAC,OAAO,EAAE,CAAA;QACd,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACrC,CAAC;QACD,OAAO,IAAI,CAAC,OAAY,CAAA;IAC1B,CAAC;IAED,IAAI;QACF,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAA;QAC9B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QAC9B,CAAC;QACD,OAAO,KAAU,CAAA;IACnB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,CAAC,CAAA;IAClB,CAAC;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.guard.d.ts","sourceRoot":"","sources":["../../src/guards/auth.guard.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAe,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAU/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,UAAU,CAsDhE"}
@@ -1,99 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- 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;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
- var __param = (this && this.__param) || function (paramIndex, decorator) {
11
- return function (target, key) { decorator(target, key, paramIndex); }
12
- };
13
- import { DI_TOKENS, Transient } from 'stratal/di';
14
- import { LOGGER_TOKENS } from 'stratal/logger';
15
- import { inject } from 'tsyringe';
16
- import { UserNotAuthenticatedError } from '../context/errors';
17
- import { InsufficientPermissionsError } from '../rbac/errors/insufficient-permissions.error';
18
- import { RBAC_TOKENS } from '../rbac/tokens';
19
- /**
20
- * AuthGuard Factory
21
- *
22
- * Creates a guard class that enforces authentication and optional authorization.
23
- *
24
- * **Authentication (no scopes):**
25
- * - Checks if user is authenticated via AuthContext.isAuthenticated()
26
- * - Throws UserNotAuthenticatedError (401) if not authenticated
27
- *
28
- * **Authorization (with scopes):**
29
- * - First verifies authentication
30
- * - Then checks permissions via CasbinService
31
- * - Throws InsufficientPermissionsError (403) if unauthorized
32
- *
33
- * @param options - Configuration options
34
- * @param options.scopes - Required permissions for authorization
35
- * @returns Guard class for use with @UseGuards decorator
36
- *
37
- * @example Authentication only
38
- * ```typescript
39
- * @UseGuards(AuthGuard())
40
- * export class ProfileController { }
41
- * ```
42
- *
43
- * @example Authentication with permissions
44
- * ```typescript
45
- * @UseGuards(AuthGuard({ scopes: ['students:read'] }))
46
- * export class StudentsController { }
47
- * ```
48
- */
49
- export function AuthGuard(options) {
50
- const scopes = options?.scopes;
51
- let ConfiguredAuthGuard = class ConfiguredAuthGuard {
52
- authContext;
53
- logger;
54
- casbinService;
55
- constructor(authContext, logger, casbinService) {
56
- this.authContext = authContext;
57
- this.logger = logger;
58
- this.casbinService = casbinService;
59
- }
60
- async canActivate(context) {
61
- if (!this.authContext.isAuthenticated()) {
62
- this.logger.debug('Auth guard: User not authenticated');
63
- throw new UserNotAuthenticatedError();
64
- }
65
- if (!scopes || scopes.length === 0) {
66
- this.logger.debug('Auth guard: Authentication passed (no scopes required)');
67
- return true;
68
- }
69
- const userId = this.authContext.getUserId();
70
- if (!userId) {
71
- this.logger.debug('Auth guard: No user ID in context');
72
- throw new InsufficientPermissionsError(scopes, undefined);
73
- }
74
- const httpMethod = context.c.req.method.toLowerCase();
75
- if (this.casbinService) {
76
- const hasPermission = await this.casbinService.hasAnyPermission(userId, scopes, httpMethod);
77
- this.logger.debug('Auth guard: Authorization check', {
78
- userId,
79
- scopes,
80
- httpMethod,
81
- hasPermission,
82
- });
83
- if (!hasPermission) {
84
- throw new InsufficientPermissionsError(scopes, userId);
85
- }
86
- }
87
- return true;
88
- }
89
- };
90
- ConfiguredAuthGuard = __decorate([
91
- Transient(),
92
- __param(0, inject(DI_TOKENS.AuthContext)),
93
- __param(1, inject(LOGGER_TOKENS.LoggerService)),
94
- __param(2, inject(RBAC_TOKENS.CasbinService, { isOptional: true })),
95
- __metadata("design:paramtypes", [Function, Function, Function])
96
- ], ConfiguredAuthGuard);
97
- return ConfiguredAuthGuard;
98
- }
99
- //# sourceMappingURL=auth.guard.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.guard.js","sourceRoot":"","sources":["../../src/guards/auth.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEjD,OAAO,EAAE,aAAa,EAAsB,MAAM,gBAAgB,CAAA;AAElE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAA;AAE5F,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,SAAS,CAAC,OAA0B;IAClD,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,CAAA;IAE9B,IACM,mBAAmB,GADzB,MACM,mBAAmB;QAE2B;QACM;QACoB;QAH5E,YACkD,WAAwB,EAClB,MAAqB,EACD,aAA6B;YAFvD,gBAAW,GAAX,WAAW,CAAa;YAClB,WAAM,GAAN,MAAM,CAAe;YACD,kBAAa,GAAb,aAAa,CAAgB;QACrG,CAAC;QAEL,KAAK,CAAC,WAAW,CAAC,OAAsB;YACtC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,EAAE,CAAC;gBACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAA;gBACvD,MAAM,IAAI,yBAAyB,EAAE,CAAA;YACvC,CAAC;YAED,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAA;gBAC3E,OAAO,IAAI,CAAA;YACb,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAA;YAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAA;gBACtD,MAAM,IAAI,4BAA4B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;YAC3D,CAAC;YAED,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAA;YAErD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAC7D,MAAM,EACN,MAAM,EACN,UAAU,CACX,CAAA;gBAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE;oBACnD,MAAM;oBACN,MAAM;oBACN,UAAU;oBACV,aAAa;iBACd,CAAC,CAAA;gBAEF,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,MAAM,IAAI,4BAA4B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;gBACxD,CAAC;YACH,CAAC;YAED,OAAO,IAAI,CAAA;QACb,CAAC;KACF,CAAA;IA/CK,mBAAmB;QADxB,SAAS,EAAE;QAGP,WAAA,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;QAC7B,WAAA,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,CAAA;QACnC,WAAA,MAAM,CAAC,WAAW,CAAC,aAAa,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;;OAJtD,mBAAmB,CA+CxB;IAED,OAAO,mBAAmB,CAAA;AAC5B,CAAC"}
@@ -1,3 +0,0 @@
1
- export { UseGuards, getControllerGuards, getMethodGuards, GuardExecutionService, GUARD_METADATA_KEY, type CanActivate, type Guard, type GuardClass, type GuardMetadata, type AuthGuardOptions, } from 'stratal/guards';
2
- export { AuthGuard } from './auth.guard';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/guards/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,KAAK,WAAW,EAChB,KAAK,KAAK,EACV,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,gBAAgB,GACtB,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA"}
@@ -1,5 +0,0 @@
1
- // Re-export guard utilities from stratal core
2
- export { UseGuards, getControllerGuards, getMethodGuards, GuardExecutionService, GUARD_METADATA_KEY, } from 'stratal/guards';
3
- // Export framework-specific guards
4
- export { AuthGuard } from './auth.guard';
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/guards/index.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,kBAAkB,GAMnB,MAAM,gBAAgB,CAAA;AAEvB,mCAAmC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA"}
package/dist/index.d.ts DELETED
@@ -1,3 +0,0 @@
1
- export type { StratalDatabase, ConnectionName, DefaultConnectionName, InferConnectionSchema, InferAnySchema } from './database/types';
2
- export type { CustomEventRegistry, EventName } from 'stratal/events';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACrI,YAAY,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA"}
package/dist/index.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
@@ -1,61 +0,0 @@
1
- import type { Adapter, Model } from 'casbin';
2
- /**
3
- * Minimal interface for the database client used by the adapter.
4
- * The actual DatabaseService extends ZenStackClient which provides these methods
5
- * when the schema includes a `casbinRule` model.
6
- */
7
- export interface CasbinDbClient {
8
- casbinRule: {
9
- findMany(args?: {
10
- where?: Record<string, unknown>;
11
- }): Promise<unknown[]>;
12
- create(args: {
13
- data: CasbinRuleCreateInput;
14
- }): Promise<unknown>;
15
- createMany(args: {
16
- data: CasbinRuleCreateInput[];
17
- }): Promise<unknown>;
18
- deleteMany(args: {
19
- where: CasbinRuleCreateInput;
20
- }): Promise<{
21
- count: number;
22
- }>;
23
- };
24
- $executeRawUnsafe(query: string, ...values: unknown[]): Promise<unknown>;
25
- }
26
- interface CasbinRuleCreateInput {
27
- ptype: string;
28
- v0?: string | null;
29
- v1?: string | null;
30
- v2?: string | null;
31
- v3?: string | null;
32
- v4?: string | null;
33
- v5?: string | null;
34
- }
35
- /**
36
- * Custom ZenStack adapter for Casbin that works with Cloudflare Workers.
37
- *
38
- * Based on the original casbin-prisma-adapter but modified to:
39
- * - Work with ZenStack v3 ORM clients
40
- * - Avoid bundling errors in Cloudflare Workers
41
- * - Accept pre-connected ZenStack clients (request-scoped)
42
- */
43
- export declare class CustomZenStackAdapter implements Adapter {
44
- #private;
45
- filtered: boolean;
46
- isFiltered(): boolean;
47
- enableFiltered(enabled: boolean): void;
48
- constructor(db: CasbinDbClient);
49
- loadPolicy(model: Model): Promise<void>;
50
- loadFilteredPolicy(model: Model, filter: Record<string, string[][]>): Promise<void>;
51
- savePolicy(model: Model): Promise<boolean>;
52
- addPolicy(_sec: string, ptype: string, rule: string[]): Promise<void>;
53
- addPolicies(_sec: string, ptype: string, rules: string[][]): Promise<void>;
54
- removePolicy(_sec: string, ptype: string, rule: string[]): Promise<void>;
55
- removePolicies(_sec: string, ptype: string, rules: string[][]): Promise<void>;
56
- removeFilteredPolicy(_sec: string, ptype: string, fieldIndex: number, ...fieldValues: string[]): Promise<void>;
57
- close(): Promise<void>;
58
- static newAdapter(db: CasbinDbClient): CustomZenStackAdapter;
59
- }
60
- export {};
61
- //# sourceMappingURL=custom-zenstack-adapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"custom-zenstack-adapter.d.ts","sourceRoot":"","sources":["../../../src/rbac/adapters/custom-zenstack-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAI5C;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE;QACV,QAAQ,CAAC,IAAI,CAAC,EAAE;YAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;QACxE,MAAM,CAAC,IAAI,EAAE;YAAE,IAAI,EAAE,qBAAqB,CAAA;SAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;QAC/D,UAAU,CAAC,IAAI,EAAE;YAAE,IAAI,EAAE,qBAAqB,EAAE,CAAA;SAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;QACrE,UAAU,CAAC,IAAI,EAAE;YAAE,KAAK,EAAE,qBAAqB,CAAA;SAAE,GAAG,OAAO,CAAC;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAC/E,CAAA;IACD,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CACzE;AAED,UAAU,qBAAqB;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACnB;AAaD;;;;;;;GAOG;AACH,qBAAa,qBAAsB,YAAW,OAAO;;IAGnD,QAAQ,UAAQ;IAET,UAAU,IAAI,OAAO;IAIrB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;gBAIjC,EAAE,EAAE,cAAc;IAIxB,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAQvC,kBAAkB,CACtB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,GACjC,OAAO,CAAC,IAAI,CAAC;IA0BV,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IAyB1C,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrE,WAAW,CACf,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EAAE,EAAE,GAChB,OAAO,CAAC,IAAI,CAAC;IAWV,YAAY,CAChB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EAAE,GACb,OAAO,CAAC,IAAI,CAAC;IAKV,cAAc,CAClB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EAAE,EAAE,GAChB,OAAO,CAAC,IAAI,CAAC;IAWV,oBAAoB,CACxB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,GAAG,WAAW,EAAE,MAAM,EAAE,GACvB,OAAO,CAAC,IAAI,CAAC;IA0BV,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,cAAc,GAAG,qBAAqB;CA0C7D"}
@@ -1,159 +0,0 @@
1
- import { Helper } from 'casbin';
2
- /**
3
- * Custom ZenStack adapter for Casbin that works with Cloudflare Workers.
4
- *
5
- * Based on the original casbin-prisma-adapter but modified to:
6
- * - Work with ZenStack v3 ORM clients
7
- * - Avoid bundling errors in Cloudflare Workers
8
- * - Accept pre-connected ZenStack clients (request-scoped)
9
- */
10
- export class CustomZenStackAdapter {
11
- #db;
12
- filtered = false;
13
- isFiltered() {
14
- return this.filtered;
15
- }
16
- enableFiltered(enabled) {
17
- this.filtered = enabled;
18
- }
19
- constructor(db) {
20
- this.#db = db;
21
- }
22
- async loadPolicy(model) {
23
- const lines = await this.#db.casbinRule.findMany();
24
- for (const line of lines) {
25
- this.#loadPolicyLine(line, model);
26
- }
27
- }
28
- async loadFilteredPolicy(model, filter) {
29
- const whereFilter = Object.keys(filter)
30
- .map((ptype) => {
31
- const policyPatterns = filter[ptype];
32
- return policyPatterns.map((policyPattern) => {
33
- return {
34
- ptype,
35
- ...(policyPattern[0] && { v0: policyPattern[0] }),
36
- ...(policyPattern[1] && { v1: policyPattern[1] }),
37
- ...(policyPattern[2] && { v2: policyPattern[2] }),
38
- ...(policyPattern[3] && { v3: policyPattern[3] }),
39
- ...(policyPattern[4] && { v4: policyPattern[4] }),
40
- ...(policyPattern[5] && { v5: policyPattern[5] }),
41
- };
42
- });
43
- })
44
- .flat();
45
- const lines = await this.#db.casbinRule.findMany({
46
- where: {
47
- OR: whereFilter,
48
- },
49
- });
50
- lines.forEach((line) => this.#loadPolicyLine(line, model));
51
- this.enableFiltered(true);
52
- }
53
- async savePolicy(model) {
54
- await this.#db.$executeRawUnsafe('DELETE FROM casbin_rule');
55
- const lines = [];
56
- const savePolicyType = (ptype) => {
57
- const astMap = model.model.get(ptype);
58
- if (astMap) {
59
- for (const [ptype, ast] of astMap) {
60
- for (const rule of ast.policy) {
61
- const line = this.#savePolicyLine(ptype, rule);
62
- lines.push(line);
63
- }
64
- }
65
- }
66
- };
67
- savePolicyType('p');
68
- savePolicyType('g');
69
- await this.#db.casbinRule.createMany({ data: lines });
70
- return true;
71
- }
72
- async addPolicy(_sec, ptype, rule) {
73
- const line = this.#savePolicyLine(ptype, rule);
74
- await this.#db.casbinRule.create({ data: line });
75
- }
76
- async addPolicies(_sec, ptype, rules) {
77
- const processes = [];
78
- for (const rule of rules) {
79
- const line = this.#savePolicyLine(ptype, rule);
80
- const p = this.#db.casbinRule.create({ data: line });
81
- processes.push(p);
82
- }
83
- await Promise.all(processes);
84
- }
85
- async removePolicy(_sec, ptype, rule) {
86
- const line = this.#savePolicyLine(ptype, rule);
87
- await this.#db.casbinRule.deleteMany({ where: line });
88
- }
89
- async removePolicies(_sec, ptype, rules) {
90
- const processes = [];
91
- for (const rule of rules) {
92
- const line = this.#savePolicyLine(ptype, rule);
93
- const p = this.#db.casbinRule.deleteMany({ where: line });
94
- processes.push(p);
95
- }
96
- await Promise.all(processes);
97
- }
98
- async removeFilteredPolicy(_sec, ptype, fieldIndex, ...fieldValues) {
99
- const line = { ptype };
100
- const idx = fieldIndex + fieldValues.length;
101
- if (fieldIndex <= 0 && 0 < idx) {
102
- line.v0 = fieldValues[0 - fieldIndex];
103
- }
104
- if (fieldIndex <= 1 && 1 < idx) {
105
- line.v1 = fieldValues[1 - fieldIndex];
106
- }
107
- if (fieldIndex <= 2 && 2 < idx) {
108
- line.v2 = fieldValues[2 - fieldIndex];
109
- }
110
- if (fieldIndex <= 3 && 3 < idx) {
111
- line.v3 = fieldValues[3 - fieldIndex];
112
- }
113
- if (fieldIndex <= 4 && 4 < idx) {
114
- line.v4 = fieldValues[4 - fieldIndex];
115
- }
116
- if (fieldIndex <= 5 && 5 < idx) {
117
- line.v5 = fieldValues[5 - fieldIndex];
118
- }
119
- await this.#db.casbinRule.deleteMany({ where: line });
120
- }
121
- async close() {
122
- // No-op: ZenStack uses pg.Pool for connection management
123
- }
124
- static newAdapter(db) {
125
- const adapter = new CustomZenStackAdapter(db);
126
- return adapter;
127
- }
128
- #loadPolicyLine = (line, model) => {
129
- const result = line.ptype +
130
- ', ' +
131
- [line.v0, line.v1, line.v2, line.v3, line.v4, line.v5]
132
- .filter((n) => n)
133
- .join(', ');
134
- Helper.loadPolicyLine(result, model);
135
- };
136
- #savePolicyLine = (ptype, rule) => {
137
- const line = { ptype };
138
- if (rule.length > 0) {
139
- line.v0 = rule[0];
140
- }
141
- if (rule.length > 1) {
142
- line.v1 = rule[1];
143
- }
144
- if (rule.length > 2) {
145
- line.v2 = rule[2];
146
- }
147
- if (rule.length > 3) {
148
- line.v3 = rule[3];
149
- }
150
- if (rule.length > 4) {
151
- line.v4 = rule[4];
152
- }
153
- if (rule.length > 5) {
154
- line.v5 = rule[5];
155
- }
156
- return line;
157
- };
158
- }
159
- //# sourceMappingURL=custom-zenstack-adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"custom-zenstack-adapter.js","sourceRoot":"","sources":["../../../src/rbac/adapters/custom-zenstack-adapter.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export * from './custom-zenstack-adapter';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rbac/adapters/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA"}
@@ -1,2 +0,0 @@
1
- export * from './custom-zenstack-adapter';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rbac/adapters/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA"}
@@ -1,8 +0,0 @@
1
- /**
2
- * RBAC Constants
3
- */
4
- export declare const RBAC_CONTEXT_KEYS: {
5
- /** Key for storing required authorization scopes (permissions) in context */
6
- readonly AUTH_SCOPES: symbol;
7
- };
8
- //# sourceMappingURL=constants.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/rbac/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,iBAAiB;IAC5B,6EAA6E;;CAErE,CAAA"}
@@ -1,8 +0,0 @@
1
- /**
2
- * RBAC Constants
3
- */
4
- export const RBAC_CONTEXT_KEYS = {
5
- /** Key for storing required authorization scopes (permissions) in context */
6
- AUTH_SCOPES: Symbol('rbac:authScopes'),
7
- };
8
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/rbac/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,6EAA6E;IAC7E,WAAW,EAAE,MAAM,CAAC,iBAAiB,CAAC;CAC9B,CAAA"}
@@ -1,2 +0,0 @@
1
- export * from './insufficient-permissions.error';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rbac/errors/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAA"}
@@ -1,2 +0,0 @@
1
- export * from './insufficient-permissions.error';
2
- //# sourceMappingURL=index.js.map