@venizia/ignis 0.0.9-7 → 0.0.9-8
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/components/auth/authorize/adapters/drizzle-casbin.d.ts +2 -0
- package/dist/components/auth/authorize/adapters/drizzle-casbin.d.ts.map +1 -1
- package/dist/components/auth/authorize/adapters/drizzle-casbin.js +9 -20
- package/dist/components/auth/authorize/adapters/drizzle-casbin.js.map +1 -1
- package/package.json +2 -2
|
@@ -26,6 +26,8 @@ export declare class DrizzleCasbinAdapter extends BaseFilteredAdapter<IDrizzleCa
|
|
|
26
26
|
private static readonly DEFAULT_SCHEMA;
|
|
27
27
|
private get connector();
|
|
28
28
|
constructor(opts: IDrizzleCasbinAdapterOptions);
|
|
29
|
+
/** Resolve an entity's schema, defaulting to `public`. */
|
|
30
|
+
private schemaOf;
|
|
29
31
|
protected buildDirectPolicies(opts: {
|
|
30
32
|
filter: ICasbinPolicyFilter;
|
|
31
33
|
rolePrincipal: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drizzle-casbin.d.ts","sourceRoot":"","sources":["../../../../../src/components/auth/authorize/adapters/drizzle-casbin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAiB,MAAM,oBAAoB,CAAC;AAGhE,OAAO,EACL,mBAAmB,EACnB,KAAK,4BAA4B,EACjC,KAAK,mBAAmB,EAEzB,MAAM,iBAAiB,CAAC;AACzB,MAAM,WAAW,sBAAuB,SAAQ,4BAA4B;IAC1E,UAAU,EAAE;QACV,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,IAAI,EAAE;QACJ,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,gBAAgB,EAAE;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,MAAM,WAAW,4BAA4B;IAC3C,UAAU,EAAE,WAAW,CAAC;IACxB,QAAQ,EAAE,sBAAsB,CAAC;CAClC;AAID,qBAAa,oBAAqB,SAAQ,mBAAmB,CAAC,sBAAsB,CAAC;IACnF,OAAO,CAAC,UAAU,CAAc;IAEhC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAY;IAElD,OAAO,KAAK,SAAS,GAEpB;gBAEW,IAAI,EAAE,4BAA4B;
|
|
1
|
+
{"version":3,"file":"drizzle-casbin.d.ts","sourceRoot":"","sources":["../../../../../src/components/auth/authorize/adapters/drizzle-casbin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAiB,MAAM,oBAAoB,CAAC;AAGhE,OAAO,EACL,mBAAmB,EACnB,KAAK,4BAA4B,EACjC,KAAK,mBAAmB,EAEzB,MAAM,iBAAiB,CAAC;AACzB,MAAM,WAAW,sBAAuB,SAAQ,4BAA4B;IAC1E,UAAU,EAAE;QACV,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,IAAI,EAAE;QACJ,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,gBAAgB,EAAE;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,MAAM,WAAW,4BAA4B;IAC3C,UAAU,EAAE,WAAW,CAAC;IACxB,QAAQ,EAAE,sBAAsB,CAAC;CAClC;AAID,qBAAa,oBAAqB,SAAQ,mBAAmB,CAAC,sBAAsB,CAAC;IACnF,OAAO,CAAC,UAAU,CAAc;IAEhC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAY;IAElD,OAAO,KAAK,SAAS,GAEpB;gBAEW,IAAI,EAAE,4BAA4B;IAK9C,0DAA0D;IAC1D,OAAO,CAAC,QAAQ;cAKA,mBAAmB,CAAC,IAAI,EAAE;QACxC,MAAM,EAAE,mBAAmB,CAAC;QAC5B,aAAa,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;cAiCL,kBAAkB,CAAC,IAAI,EAAE;QACvC,MAAM,EAAE,mBAAmB,CAAC;KAC7B,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;KAAE,CAAC;cAqC9C,iBAAiB,CAAC,IAAI,EAAE;QACtC,OAAO,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;QAC7B,aAAa,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAoCtB"}
|
|
@@ -11,24 +11,13 @@ class DrizzleCasbinAdapter extends base_filtered_1.BaseFilteredAdapter {
|
|
|
11
11
|
return this.dataSource.connector;
|
|
12
12
|
}
|
|
13
13
|
constructor(opts) {
|
|
14
|
-
// set default schema
|
|
15
|
-
if (opts.entities) {
|
|
16
|
-
if (opts.entities.permission) {
|
|
17
|
-
opts.entities.permission.schemaName =
|
|
18
|
-
opts.entities.permission.schemaName ?? DrizzleCasbinAdapter.DEFAULT_SCHEMA;
|
|
19
|
-
}
|
|
20
|
-
if (opts.entities.role) {
|
|
21
|
-
opts.entities.role.schemaName =
|
|
22
|
-
opts.entities.role.schemaName ?? DrizzleCasbinAdapter.DEFAULT_SCHEMA;
|
|
23
|
-
}
|
|
24
|
-
if (opts.entities.policyDefinition) {
|
|
25
|
-
opts.entities.policyDefinition.schemaName =
|
|
26
|
-
opts.entities.policyDefinition.schemaName ?? DrizzleCasbinAdapter.DEFAULT_SCHEMA;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
14
|
super({ scope: DrizzleCasbinAdapter.name, entities: opts.entities });
|
|
30
15
|
this.dataSource = opts.dataSource;
|
|
31
16
|
}
|
|
17
|
+
/** Resolve an entity's schema, defaulting to `public`. */
|
|
18
|
+
schemaOf(opts) {
|
|
19
|
+
return opts.entity.schemaName ?? DrizzleCasbinAdapter.DEFAULT_SCHEMA;
|
|
20
|
+
}
|
|
32
21
|
// Query builders
|
|
33
22
|
async buildDirectPolicies(opts) {
|
|
34
23
|
const { permission: perm, policyDefinition: pd } = this.entities;
|
|
@@ -37,8 +26,8 @@ class DrizzleCasbinAdapter extends base_filtered_1.BaseFilteredAdapter {
|
|
|
37
26
|
SELECT pd.variant, p.code, pd.action,
|
|
38
27
|
pd.subject_type AS "subjectType", pd.subject_id AS "subjectId",
|
|
39
28
|
pd.effect, pd.domain
|
|
40
|
-
FROM ${drizzle_orm_1.sql.identifier(pd
|
|
41
|
-
INNER JOIN ${drizzle_orm_1.sql.identifier(perm
|
|
29
|
+
FROM ${drizzle_orm_1.sql.identifier(this.schemaOf({ entity: pd }))}.${drizzle_orm_1.sql.identifier(pd.tableName)} pd
|
|
30
|
+
INNER JOIN ${drizzle_orm_1.sql.identifier(this.schemaOf({ entity: perm }))}.${drizzle_orm_1.sql.identifier(perm.tableName)} p ON pd.target_id = p.id
|
|
42
31
|
WHERE pd.variant = ${common_1.CasbinRuleVariants.POLICY}
|
|
43
32
|
AND pd.subject_type = ${principalType}
|
|
44
33
|
AND pd.subject_id = ${principalValue}
|
|
@@ -62,7 +51,7 @@ class DrizzleCasbinAdapter extends base_filtered_1.BaseFilteredAdapter {
|
|
|
62
51
|
const { principalType, principalValue } = opts.filter;
|
|
63
52
|
const result = await this.connector.execute((0, drizzle_orm_1.sql) `
|
|
64
53
|
SELECT pd.target_id AS "targetId", pd.domain
|
|
65
|
-
FROM ${drizzle_orm_1.sql.identifier(pd
|
|
54
|
+
FROM ${drizzle_orm_1.sql.identifier(this.schemaOf({ entity: pd }))}.${drizzle_orm_1.sql.identifier(pd.tableName)} pd
|
|
66
55
|
WHERE pd.variant = ${common_1.CasbinRuleVariants.GROUP}
|
|
67
56
|
AND pd.subject_type = ${principalType}
|
|
68
57
|
AND pd.subject_id = ${principalValue}
|
|
@@ -90,8 +79,8 @@ class DrizzleCasbinAdapter extends base_filtered_1.BaseFilteredAdapter {
|
|
|
90
79
|
SELECT pd.variant, p.code, pd.action,
|
|
91
80
|
pd.subject_type AS "subjectType", pd.subject_id AS "subjectId",
|
|
92
81
|
pd.effect, pd.domain
|
|
93
|
-
FROM ${drizzle_orm_1.sql.identifier(pd
|
|
94
|
-
INNER JOIN ${drizzle_orm_1.sql.identifier(perm
|
|
82
|
+
FROM ${drizzle_orm_1.sql.identifier(this.schemaOf({ entity: pd }))}.${drizzle_orm_1.sql.identifier(pd.tableName)} pd
|
|
83
|
+
INNER JOIN ${drizzle_orm_1.sql.identifier(this.schemaOf({ entity: perm }))}.${drizzle_orm_1.sql.identifier(perm.tableName)} p ON pd.target_id = p.id
|
|
95
84
|
WHERE pd.variant = ${common_1.CasbinRuleVariants.POLICY}
|
|
96
85
|
AND pd.subject_type = ${rol.principalType}
|
|
97
86
|
AND pd.subject_id IN (${drizzle_orm_1.sql.join(roleIds.map(id => (0, drizzle_orm_1.sql) `${id}`), (0, drizzle_orm_1.sql) `, `)})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drizzle-casbin.js","sourceRoot":"","sources":["../../../../../src/components/auth/authorize/adapters/drizzle-casbin.ts"],"names":[],"mappings":";;;AACA,6CAAkC;AAClC,sCAA+C;AAC/C,mDAKyB;AAwBzB,2EAA2E;AAE3E,MAAa,oBAAqB,SAAQ,mCAA2C;aAG3D,mBAAc,GAAG,QAAQ,CAAC;IAElD,IAAY,SAAS;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;IACnC,CAAC;IAED,YAAY,IAAkC;QAC5C,
|
|
1
|
+
{"version":3,"file":"drizzle-casbin.js","sourceRoot":"","sources":["../../../../../src/components/auth/authorize/adapters/drizzle-casbin.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@venizia/ignis",
|
|
3
|
-
"version": "0.0.9-
|
|
3
|
+
"version": "0.0.9-8",
|
|
4
4
|
"description": "High-performance TypeScript server infrastructure combining LoopBack 4 enterprise architecture (decorator-based DI, repository pattern, component system) with Hono speed (~140k req/s). Features auto-generated OpenAPI docs, Drizzle ORM type-safe SQL, JWT/Basic authentication, Casbin authorization, convention-based bootstrapping, and pluggable components for health checks, Swagger UI, mail, Socket.IO, and static assets. Built for Bun and Node.js.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"access-control",
|
|
@@ -146,7 +146,7 @@
|
|
|
146
146
|
},
|
|
147
147
|
"dependencies": {
|
|
148
148
|
"@venizia/ignis-boot": "^0.0.5-8",
|
|
149
|
-
"@venizia/ignis-helpers": "^0.0.8-
|
|
149
|
+
"@venizia/ignis-helpers": "^0.0.8-10",
|
|
150
150
|
"@venizia/ignis-inversion": "^0.0.6-2",
|
|
151
151
|
"lodash": "^4.18.1",
|
|
152
152
|
"reflect-metadata": "^0.2.2"
|