@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.
- package/dist/auth/index.d.mts +202 -0
- package/dist/auth/index.d.mts.map +1 -0
- package/dist/auth/index.mjs +323 -0
- package/dist/auth/index.mjs.map +1 -0
- package/dist/auth-context-BD2ApWg1.d.mts +38 -0
- package/dist/auth-context-BD2ApWg1.d.mts.map +1 -0
- package/dist/auth-context-CV3Ko1ew.mjs +55 -0
- package/dist/auth-context-CV3Ko1ew.mjs.map +1 -0
- package/dist/context/index.d.mts +20 -0
- package/dist/context/index.d.mts.map +1 -0
- package/dist/context/index.mjs +3 -0
- package/dist/database/index.d.mts +3 -0
- package/dist/database/index.mjs +374 -0
- package/dist/database/index.mjs.map +1 -0
- package/dist/decorate-RSane8dy.mjs +9 -0
- package/dist/decorateMetadata-CETItPez.mjs +6 -0
- package/dist/decorateParam-CcTvpNsw.mjs +8 -0
- package/dist/errors-C_KIIU1v.mjs +25 -0
- package/dist/errors-C_KIIU1v.mjs.map +1 -0
- package/dist/factory/index.d.mts +99 -0
- package/dist/factory/index.d.mts.map +1 -0
- package/dist/factory/index.mjs +138 -0
- package/dist/factory/index.mjs.map +1 -0
- package/dist/guards/{auth.guard.d.ts → index.d.mts} +7 -3
- package/dist/guards/index.d.mts.map +1 -0
- package/dist/guards/index.mjs +93 -0
- package/dist/guards/index.mjs.map +1 -0
- package/dist/index-Dlg8mNjq.d.mts +386 -0
- package/dist/index-Dlg8mNjq.d.mts.map +1 -0
- package/dist/index.d.mts +3 -0
- package/dist/index.mjs +1 -0
- package/dist/rbac/index.d.mts +206 -0
- package/dist/rbac/index.d.mts.map +1 -0
- package/dist/rbac/index.mjs +346 -0
- package/dist/rbac/index.mjs.map +1 -0
- package/dist/tokens-Di1ofovy.mjs +32 -0
- package/dist/tokens-Di1ofovy.mjs.map +1 -0
- package/dist/{database/types.d.ts → types-Gjk0d2qB.d.mts} +18 -15
- package/dist/types-Gjk0d2qB.d.mts.map +1 -0
- package/package.json +25 -24
- package/dist/auth/auth.module.d.ts +0 -37
- package/dist/auth/auth.module.d.ts.map +0 -1
- package/dist/auth/auth.module.js +0 -74
- package/dist/auth/auth.module.js.map +0 -1
- package/dist/auth/auth.tokens.d.ts +0 -5
- package/dist/auth/auth.tokens.d.ts.map +0 -1
- package/dist/auth/auth.tokens.js +0 -5
- package/dist/auth/auth.tokens.js.map +0 -1
- package/dist/auth/errors/auth-errors.d.ts +0 -74
- package/dist/auth/errors/auth-errors.d.ts.map +0 -1
- package/dist/auth/errors/auth-errors.js +0 -122
- package/dist/auth/errors/auth-errors.js.map +0 -1
- package/dist/auth/errors/index.d.ts +0 -5
- package/dist/auth/errors/index.d.ts.map +0 -1
- package/dist/auth/errors/index.js +0 -5
- package/dist/auth/errors/index.js.map +0 -1
- package/dist/auth/errors/invalid-token.error.d.ts +0 -5
- package/dist/auth/errors/invalid-token.error.d.ts.map +0 -1
- package/dist/auth/errors/invalid-token.error.js +0 -7
- package/dist/auth/errors/invalid-token.error.js.map +0 -1
- package/dist/auth/errors/token-required.error.d.ts +0 -5
- package/dist/auth/errors/token-required.error.d.ts.map +0 -1
- package/dist/auth/errors/token-required.error.js +0 -7
- package/dist/auth/errors/token-required.error.js.map +0 -1
- package/dist/auth/errors/verification-failed.error.d.ts +0 -5
- package/dist/auth/errors/verification-failed.error.d.ts.map +0 -1
- package/dist/auth/errors/verification-failed.error.js +0 -7
- package/dist/auth/errors/verification-failed.error.js.map +0 -1
- package/dist/auth/index.d.ts +0 -7
- package/dist/auth/index.d.ts.map +0 -1
- package/dist/auth/index.js +0 -7
- package/dist/auth/index.js.map +0 -1
- package/dist/auth/middleware/auth-context.middleware.d.ts +0 -12
- package/dist/auth/middleware/auth-context.middleware.d.ts.map +0 -1
- package/dist/auth/middleware/auth-context.middleware.js +0 -28
- package/dist/auth/middleware/auth-context.middleware.js.map +0 -1
- package/dist/auth/middleware/index.d.ts +0 -3
- package/dist/auth/middleware/index.d.ts.map +0 -1
- package/dist/auth/middleware/index.js +0 -3
- package/dist/auth/middleware/index.js.map +0 -1
- package/dist/auth/middleware/session-verification.middleware.d.ts +0 -18
- package/dist/auth/middleware/session-verification.middleware.d.ts.map +0 -1
- package/dist/auth/middleware/session-verification.middleware.js +0 -48
- package/dist/auth/middleware/session-verification.middleware.js.map +0 -1
- package/dist/auth/services/auth.service.d.ts +0 -32
- package/dist/auth/services/auth.service.d.ts.map +0 -1
- package/dist/auth/services/auth.service.js +0 -62
- package/dist/auth/services/auth.service.js.map +0 -1
- package/dist/auth/services/index.d.ts +0 -2
- package/dist/auth/services/index.d.ts.map +0 -1
- package/dist/auth/services/index.js +0 -2
- package/dist/auth/services/index.js.map +0 -1
- package/dist/auth/utils/auth-helpers.d.ts +0 -11
- package/dist/auth/utils/auth-helpers.d.ts.map +0 -1
- package/dist/auth/utils/auth-helpers.js +0 -31
- package/dist/auth/utils/auth-helpers.js.map +0 -1
- package/dist/auth/utils/better-auth-error-handler.d.ts +0 -11
- package/dist/auth/utils/better-auth-error-handler.d.ts.map +0 -1
- package/dist/auth/utils/better-auth-error-handler.js +0 -95
- package/dist/auth/utils/better-auth-error-handler.js.map +0 -1
- package/dist/auth/utils/index.d.ts +0 -3
- package/dist/auth/utils/index.d.ts.map +0 -1
- package/dist/auth/utils/index.js +0 -3
- package/dist/auth/utils/index.js.map +0 -1
- package/dist/context/auth-context.d.ts +0 -35
- package/dist/context/auth-context.d.ts.map +0 -1
- package/dist/context/auth-context.js +0 -65
- package/dist/context/auth-context.js.map +0 -1
- package/dist/context/errors/context-not-initialized.error.d.ts +0 -5
- package/dist/context/errors/context-not-initialized.error.d.ts.map +0 -1
- package/dist/context/errors/context-not-initialized.error.js +0 -7
- package/dist/context/errors/context-not-initialized.error.js.map +0 -1
- package/dist/context/errors/index.d.ts +0 -4
- package/dist/context/errors/index.d.ts.map +0 -1
- package/dist/context/errors/index.js +0 -4
- package/dist/context/errors/index.js.map +0 -1
- package/dist/context/errors/user-not-authenticated.error.d.ts +0 -5
- package/dist/context/errors/user-not-authenticated.error.d.ts.map +0 -1
- package/dist/context/errors/user-not-authenticated.error.js +0 -7
- package/dist/context/errors/user-not-authenticated.error.js.map +0 -1
- package/dist/context/errors/user-not-authorized.error.d.ts +0 -5
- package/dist/context/errors/user-not-authorized.error.d.ts.map +0 -1
- package/dist/context/errors/user-not-authorized.error.js +0 -7
- package/dist/context/errors/user-not-authorized.error.js.map +0 -1
- package/dist/context/index.d.ts +0 -3
- package/dist/context/index.d.ts.map +0 -1
- package/dist/context/index.js +0 -3
- package/dist/context/index.js.map +0 -1
- package/dist/database/custom-pg-types.d.ts +0 -21
- package/dist/database/custom-pg-types.d.ts.map +0 -1
- package/dist/database/custom-pg-types.js +0 -41
- package/dist/database/custom-pg-types.js.map +0 -1
- package/dist/database/database.helpers.d.ts +0 -15
- package/dist/database/database.helpers.d.ts.map +0 -1
- package/dist/database/database.helpers.js +0 -47
- package/dist/database/database.helpers.js.map +0 -1
- package/dist/database/database.module.d.ts +0 -22
- package/dist/database/database.module.d.ts.map +0 -1
- package/dist/database/database.module.js +0 -54
- package/dist/database/database.module.js.map +0 -1
- package/dist/database/database.service.d.ts +0 -18
- package/dist/database/database.service.d.ts.map +0 -1
- package/dist/database/database.service.js +0 -2
- package/dist/database/database.service.js.map +0 -1
- package/dist/database/database.tokens.d.ts +0 -7
- package/dist/database/database.tokens.d.ts.map +0 -1
- package/dist/database/database.tokens.js +0 -8
- package/dist/database/database.tokens.js.map +0 -1
- package/dist/database/decorators/inject-db.decorator.d.ts +0 -3
- package/dist/database/decorators/inject-db.decorator.d.ts.map +0 -1
- package/dist/database/decorators/inject-db.decorator.js +0 -6
- package/dist/database/decorators/inject-db.decorator.js.map +0 -1
- package/dist/database/errors/database-config.error.d.ts +0 -5
- package/dist/database/errors/database-config.error.d.ts.map +0 -1
- package/dist/database/errors/database-config.error.js +0 -8
- package/dist/database/errors/database-config.error.js.map +0 -1
- package/dist/database/errors/database-error.d.ts +0 -14
- package/dist/database/errors/database-error.d.ts.map +0 -1
- package/dist/database/errors/database-error.js +0 -20
- package/dist/database/errors/database-error.js.map +0 -1
- package/dist/database/errors/foreign-key-constraint.error.d.ts +0 -14
- package/dist/database/errors/foreign-key-constraint.error.d.ts.map +0 -1
- package/dist/database/errors/foreign-key-constraint.error.js +0 -19
- package/dist/database/errors/foreign-key-constraint.error.js.map +0 -1
- package/dist/database/errors/from-zenstack-error.d.ts +0 -22
- package/dist/database/errors/from-zenstack-error.d.ts.map +0 -1
- package/dist/database/errors/from-zenstack-error.js +0 -114
- package/dist/database/errors/from-zenstack-error.js.map +0 -1
- package/dist/database/errors/index.d.ts +0 -8
- package/dist/database/errors/index.d.ts.map +0 -1
- package/dist/database/errors/index.js +0 -8
- package/dist/database/errors/index.js.map +0 -1
- package/dist/database/errors/invalid-error-code-range.error.d.ts +0 -12
- package/dist/database/errors/invalid-error-code-range.error.d.ts.map +0 -1
- package/dist/database/errors/invalid-error-code-range.error.js +0 -14
- package/dist/database/errors/invalid-error-code-range.error.js.map +0 -1
- package/dist/database/errors/record-not-found.error.d.ts +0 -15
- package/dist/database/errors/record-not-found.error.d.ts.map +0 -1
- package/dist/database/errors/record-not-found.error.js +0 -20
- package/dist/database/errors/record-not-found.error.js.map +0 -1
- package/dist/database/errors/unique-constraint.error.d.ts +0 -15
- package/dist/database/errors/unique-constraint.error.d.ts.map +0 -1
- package/dist/database/errors/unique-constraint.error.js +0 -20
- package/dist/database/errors/unique-constraint.error.js.map +0 -1
- package/dist/database/event-types.d.ts +0 -137
- package/dist/database/event-types.d.ts.map +0 -1
- package/dist/database/event-types.js +0 -13
- package/dist/database/event-types.js.map +0 -1
- package/dist/database/i18n/en.d.ts +0 -15
- package/dist/database/i18n/en.d.ts.map +0 -1
- package/dist/database/i18n/en.js +0 -10
- package/dist/database/i18n/en.js.map +0 -1
- package/dist/database/i18n/index.d.ts +0 -2
- package/dist/database/i18n/index.d.ts.map +0 -1
- package/dist/database/i18n/index.js +0 -2
- package/dist/database/i18n/index.js.map +0 -1
- package/dist/database/index.d.ts +0 -11
- package/dist/database/index.d.ts.map +0 -1
- package/dist/database/index.js +0 -11
- package/dist/database/index.js.map +0 -1
- package/dist/database/plugins/error-handler.plugin.d.ts +0 -21
- package/dist/database/plugins/error-handler.plugin.d.ts.map +0 -1
- package/dist/database/plugins/error-handler.plugin.js +0 -24
- package/dist/database/plugins/error-handler.plugin.js.map +0 -1
- package/dist/database/plugins/event-emitter.plugin.d.ts +0 -37
- package/dist/database/plugins/event-emitter.plugin.d.ts.map +0 -1
- package/dist/database/plugins/event-emitter.plugin.js +0 -43
- package/dist/database/plugins/event-emitter.plugin.js.map +0 -1
- package/dist/database/plugins/index.d.ts +0 -4
- package/dist/database/plugins/index.d.ts.map +0 -1
- package/dist/database/plugins/index.js +0 -4
- package/dist/database/plugins/index.js.map +0 -1
- package/dist/database/plugins/schema-switcher.plugin.d.ts +0 -32
- package/dist/database/plugins/schema-switcher.plugin.d.ts.map +0 -1
- package/dist/database/plugins/schema-switcher.plugin.js +0 -27
- package/dist/database/plugins/schema-switcher.plugin.js.map +0 -1
- package/dist/database/types.d.ts.map +0 -1
- package/dist/database/types.js +0 -2
- package/dist/database/types.js.map +0 -1
- package/dist/factory/factory.d.ts +0 -56
- package/dist/factory/factory.d.ts.map +0 -1
- package/dist/factory/factory.js +0 -86
- package/dist/factory/factory.js.map +0 -1
- package/dist/factory/index.d.ts +0 -3
- package/dist/factory/index.d.ts.map +0 -1
- package/dist/factory/index.js +0 -3
- package/dist/factory/index.js.map +0 -1
- package/dist/factory/sequence.d.ts +0 -38
- package/dist/factory/sequence.d.ts.map +0 -1
- package/dist/factory/sequence.js +0 -54
- package/dist/factory/sequence.js.map +0 -1
- package/dist/guards/auth.guard.d.ts.map +0 -1
- package/dist/guards/auth.guard.js +0 -99
- package/dist/guards/auth.guard.js.map +0 -1
- package/dist/guards/index.d.ts +0 -3
- package/dist/guards/index.d.ts.map +0 -1
- package/dist/guards/index.js +0 -5
- package/dist/guards/index.js.map +0 -1
- package/dist/index.d.ts +0 -3
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -2
- package/dist/index.js.map +0 -1
- package/dist/rbac/adapters/custom-zenstack-adapter.d.ts +0 -61
- package/dist/rbac/adapters/custom-zenstack-adapter.d.ts.map +0 -1
- package/dist/rbac/adapters/custom-zenstack-adapter.js +0 -159
- package/dist/rbac/adapters/custom-zenstack-adapter.js.map +0 -1
- package/dist/rbac/adapters/index.d.ts +0 -2
- package/dist/rbac/adapters/index.d.ts.map +0 -1
- package/dist/rbac/adapters/index.js +0 -2
- package/dist/rbac/adapters/index.js.map +0 -1
- package/dist/rbac/constants.d.ts +0 -8
- package/dist/rbac/constants.d.ts.map +0 -1
- package/dist/rbac/constants.js +0 -8
- package/dist/rbac/constants.js.map +0 -1
- package/dist/rbac/errors/index.d.ts +0 -2
- package/dist/rbac/errors/index.d.ts.map +0 -1
- package/dist/rbac/errors/index.js +0 -2
- package/dist/rbac/errors/index.js.map +0 -1
- package/dist/rbac/errors/insufficient-permissions.error.d.ts +0 -14
- package/dist/rbac/errors/insufficient-permissions.error.d.ts.map +0 -1
- package/dist/rbac/errors/insufficient-permissions.error.js +0 -19
- package/dist/rbac/errors/insufficient-permissions.error.js.map +0 -1
- package/dist/rbac/index.d.ts +0 -9
- package/dist/rbac/index.d.ts.map +0 -1
- package/dist/rbac/index.js +0 -8
- package/dist/rbac/index.js.map +0 -1
- package/dist/rbac/rbac.module.d.ts +0 -26
- package/dist/rbac/rbac.module.d.ts.map +0 -1
- package/dist/rbac/rbac.module.js +0 -62
- package/dist/rbac/rbac.module.js.map +0 -1
- package/dist/rbac/services/casbin-enforcer.service.d.ts +0 -37
- package/dist/rbac/services/casbin-enforcer.service.d.ts.map +0 -1
- package/dist/rbac/services/casbin-enforcer.service.js +0 -86
- package/dist/rbac/services/casbin-enforcer.service.js.map +0 -1
- package/dist/rbac/services/casbin.service.d.ts +0 -37
- package/dist/rbac/services/casbin.service.d.ts.map +0 -1
- package/dist/rbac/services/casbin.service.js +0 -174
- package/dist/rbac/services/casbin.service.js.map +0 -1
- package/dist/rbac/services/index.d.ts +0 -3
- package/dist/rbac/services/index.d.ts.map +0 -1
- package/dist/rbac/services/index.js +0 -3
- package/dist/rbac/services/index.js.map +0 -1
- package/dist/rbac/tokens.d.ts +0 -10
- package/dist/rbac/tokens.d.ts.map +0 -1
- package/dist/rbac/tokens.js +0 -10
- package/dist/rbac/tokens.js.map +0 -1
- package/dist/rbac/types.d.ts +0 -12
- package/dist/rbac/types.d.ts.map +0 -1
- package/dist/rbac/types.js +0 -2
- package/dist/rbac/types.js.map +0 -1
package/dist/factory/factory.js
DELETED
|
@@ -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"}
|
package/dist/factory/index.d.ts
DELETED
|
@@ -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"}
|
package/dist/factory/index.js
DELETED
|
@@ -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"}
|
package/dist/factory/sequence.js
DELETED
|
@@ -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"}
|
package/dist/guards/index.d.ts
DELETED
|
@@ -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"}
|
package/dist/guards/index.js
DELETED
|
@@ -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
|
package/dist/guards/index.js.map
DELETED
|
@@ -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
package/dist/index.d.ts.map
DELETED
|
@@ -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
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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rbac/adapters/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rbac/adapters/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA"}
|
package/dist/rbac/constants.d.ts
DELETED
|
@@ -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"}
|
package/dist/rbac/constants.js
DELETED
|
@@ -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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rbac/errors/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAA"}
|