@dudousxd/nestjs-authz-client 0.1.0 → 0.1.1

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/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # @dudousxd/nestjs-authz-client
2
2
 
3
+ ## 0.1.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#4](https://github.com/DavideCarvalho/nestjs-authz/pull/4) [`8b7711d`](https://github.com/DavideCarvalho/nestjs-authz/commit/8b7711d11bdb25b3407fea742f6c1158afb36296) Thanks [@DavideCarvalho](https://github.com/DavideCarvalho)! - Soften the resource-bound fetch-fallback `console.warn` and docstrings: a per-instance
8
+ `can(ability, { type, id })` cache miss under `fallback: 'fetch'` now resolves on the server
9
+ when the app registered a matching `resourceLoaders` entry for that `type` (core feature) —
10
+ it only denies when neither tier-1/2 hydration nor a loader covers it.
11
+
3
12
  ## 0.1.0
4
13
 
5
14
  ### Minor Changes
package/dist/store.d.ts CHANGED
@@ -93,13 +93,14 @@ export type CanResolver = (ability: string, resource?: ResourceRef) => boolean |
93
93
  * - **Cache miss, `fallback: 'fetch'`** → POSTs `{ ability, resource }` to the
94
94
  * endpoint and returns a `Promise<boolean>` from `{ allowed }`.
95
95
  *
96
- * **Resource-bound decisions and the fetch fallback:** per-instance decisions
97
- * (`can(ability, { type, id })`) MUST be hydrated via shared props /
98
- * `authorizeResource` (tiers 1-2). The `POST /authz/can` fetch fallback only
99
- * resolves class-level abilities and ad-hoc gates the `{ type, id }` shim it
100
- * sends never matches a `@Policy` by constructor, so a resource-bound ability
101
- * that misses the cache will DENY. On such a miss this logs a one-time
102
- * `console.warn` so the silent deny is debuggable.
96
+ * **Resource-bound decisions and the fetch fallback:** prefer hydrating per-instance
97
+ * decisions (`can(ability, { type, id })`) via shared props / `authorizeResource`
98
+ * (tiers 1-2). The `POST /authz/can` fetch fallback sends a `{ type, id }` shim; the
99
+ * server resolves it per-instance ONLY when the app registered a matching
100
+ * `resourceLoaders` entry for that `type` (which rehydrates the real entity). Without
101
+ * such hydration or loader the resource-bound ability DENIES so on a resource-bound
102
+ * cache miss under `fallback: 'fetch'` this logs a one-time `console.warn` so the
103
+ * potential silent deny is debuggable.
103
104
  */
104
105
  export declare function createCan(store: AbilityStore, options?: AbilityStoreOptions): CanResolver;
105
106
  //# sourceMappingURL=store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,0CAA0C;AAC1C,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE7C,+EAA+E;AAC/E,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,wDAAwD;AACxD,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IACtC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,6DAA6D;AAC7D,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC;AAE5C,MAAM,WAAW,mBAAmB;IAClC,qGAAqG;IACrG,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,gGAAgG;IAChG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uFAAuF;IACvF,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAOD;;;;;GAKG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAc;IAC7C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA6B;IAE/D,2CAA2C;IAC3C,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAMpC,wEAAwE;IACxE,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKtC,qDAAqD;IACrD,oBAAoB,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAKzD,2EAA2E;IAC3E,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO;IAQrD;;;OAGG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO,GAAG,SAAS;IAQlE,uBAAuB;IACvB,KAAK,IAAI,IAAI;CAKd;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,eAAe,GAAG,SAAS,GAAG,IAAI,EACzC,OAAO,SAAS,GACf,YAAY,CAMd;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,WAAW,EAChB,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAC7B,YAAY,CAGd;AAED;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAElG;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,GAAE,mBAAwB,GAAG,WAAW,CAoC7F"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,0CAA0C;AAC1C,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE7C,+EAA+E;AAC/E,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,wDAAwD;AACxD,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IACtC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,6DAA6D;AAC7D,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC;AAE5C,MAAM,WAAW,mBAAmB;IAClC,qGAAqG;IACrG,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,gGAAgG;IAChG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uFAAuF;IACvF,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAOD;;;;;GAKG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAc;IAC7C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA6B;IAE/D,2CAA2C;IAC3C,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAMpC,wEAAwE;IACxE,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKtC,qDAAqD;IACrD,oBAAoB,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAKzD,2EAA2E;IAC3E,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO;IAQrD;;;OAGG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO,GAAG,SAAS;IAQlE,uBAAuB;IACvB,KAAK,IAAI,IAAI;CAKd;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,eAAe,GAAG,SAAS,GAAG,IAAI,EACzC,OAAO,SAAS,GACf,YAAY,CAMd;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,WAAW,EAChB,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAC7B,YAAY,CAGd;AAED;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAElG;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,GAAE,mBAAwB,GAAG,WAAW,CAqC7F"}
package/dist/store.js CHANGED
@@ -98,13 +98,14 @@ export function hydrateResource(store, ref, can) {
98
98
  * - **Cache miss, `fallback: 'fetch'`** → POSTs `{ ability, resource }` to the
99
99
  * endpoint and returns a `Promise<boolean>` from `{ allowed }`.
100
100
  *
101
- * **Resource-bound decisions and the fetch fallback:** per-instance decisions
102
- * (`can(ability, { type, id })`) MUST be hydrated via shared props /
103
- * `authorizeResource` (tiers 1-2). The `POST /authz/can` fetch fallback only
104
- * resolves class-level abilities and ad-hoc gates the `{ type, id }` shim it
105
- * sends never matches a `@Policy` by constructor, so a resource-bound ability
106
- * that misses the cache will DENY. On such a miss this logs a one-time
107
- * `console.warn` so the silent deny is debuggable.
101
+ * **Resource-bound decisions and the fetch fallback:** prefer hydrating per-instance
102
+ * decisions (`can(ability, { type, id })`) via shared props / `authorizeResource`
103
+ * (tiers 1-2). The `POST /authz/can` fetch fallback sends a `{ type, id }` shim; the
104
+ * server resolves it per-instance ONLY when the app registered a matching
105
+ * `resourceLoaders` entry for that `type` (which rehydrates the real entity). Without
106
+ * such hydration or loader the resource-bound ability DENIES so on a resource-bound
107
+ * cache miss under `fallback: 'fetch'` this logs a one-time `console.warn` so the
108
+ * potential silent deny is debuggable.
108
109
  */
109
110
  export function createCan(store, options = {}) {
110
111
  const fallback = options.fallback ?? 'deny';
@@ -116,12 +117,13 @@ export function createCan(store, options = {}) {
116
117
  return cached;
117
118
  if (fallback === 'deny')
118
119
  return false;
119
- // A resource-bound ability that misses the cache cannot be resolved by the
120
- // endpoint fallback (the {type,id} shim never matches a @Policy). Warn once.
120
+ // A resource-bound ability that misses the cache is resolved by the endpoint
121
+ // fallback ONLY if the server registered a `resourceLoaders` entry for this
122
+ // `type` (otherwise the {type,id} shim never matches a @Policy and DENIES). Warn once.
121
123
  if (resource && !warnedResourceFetch) {
122
124
  warnedResourceFetch = true;
123
125
  const id = JSON.stringify(resource.id ?? null);
124
- console.warn(`[nestjs-authz] can('${ability}', { type: '${resource.type}', id: ${id} }) missed the cache and fell through to the '${endpoint}' fetch fallback, which cannot resolve per-instance policy decisions and will DENY. Hydrate resource decisions via shared props / authorizeResource (tiers 1-2) instead.`);
126
+ console.warn(`[nestjs-authz] can('${ability}', { type: '${resource.type}', id: ${id} }) missed the cache and fell through to the '${endpoint}' fetch fallback. The server resolves this per-instance only if it registered a resourceLoaders entry for '${resource.type}'; otherwise it will DENY. Hydrate resource decisions via shared props / authorizeResource (tiers 1-2), or register a resourceLoaders loader.`);
125
127
  }
126
128
  const doFetch = options.fetchImpl ?? globalThis.fetch;
127
129
  if (typeof doFetch !== 'function')
package/dist/store.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAmCH,uDAAuD;AACvD,SAAS,WAAW,CAAC,GAAgB;IACnC,OAAO,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;AACvC,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,YAAY;IACN,cAAc,GAAW,EAAE,CAAC;IAC5B,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE/D,2CAA2C;IAC3C,iBAAiB,CAAC,GAAW;QAC3B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;YAAE,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QAChF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wEAAwE;IACxE,mBAAmB,CAAC,GAAW;QAC7B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,qDAAqD;IACrD,oBAAoB,CAAC,GAAgB,EAAE,GAAW;QAChD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2EAA2E;IAC3E,GAAG,CAAC,OAAe,EAAE,QAAsB;QACzC,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9D,OAAO,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC;QACzD,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC;IACpD,CAAC;IAED;;;OAGG;IACH,IAAI,CAAC,OAAe,EAAE,QAAsB;QAC1C,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9D,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,uBAAuB;IACvB,KAAK;QACH,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;YAAE,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QAChF,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CACrC,KAAmB,EACnB,KAAyC,EACzC,OAAO,GAAG,MAAM;IAEhB,MAAM,GAAG,GAAI,KAAoD,EAAE,CAAC,OAAO,CAE9D,CAAC;IACd,IAAI,GAAG,EAAE,GAAG;QAAE,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAmB,EACnB,GAAgB,EAChB,GAA8B;IAE9B,IAAI,GAAG;QAAE,KAAK,CAAC,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC9C,OAAO,KAAK,CAAC;AACf,CAAC;AASD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,SAAS,CAAC,KAAmB,EAAE,UAA+B,EAAE;IAC9E,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC;IAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,YAAY,CAAC;IAClD,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAEhC,OAAO,CAAC,OAAe,EAAE,QAAsB,EAA8B,EAAE;QAC7E,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC7C,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;QAExC,IAAI,QAAQ,KAAK,MAAM;YAAE,OAAO,KAAK,CAAC;QAEtC,2EAA2E;QAC3E,6EAA6E;QAC7E,IAAI,QAAQ,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACrC,mBAAmB,GAAG,IAAI,CAAC;YAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;YAC/C,OAAO,CAAC,IAAI,CACV,uBAAuB,OAAO,eAAe,QAAQ,CAAC,IAAI,UAAU,EAAE,iDAAiD,QAAQ,0KAA0K,CAC1S,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,IAAI,UAAU,CAAC,KAAK,CAAC;QACtD,IAAI,OAAO,OAAO,KAAK,UAAU;YAAE,OAAO,KAAK,CAAC;QAEhD,OAAO,OAAO,CAAC,QAAQ,EAAE;YACvB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,OAAO;gBACP,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI;aAC7E,CAAC;SACH,CAAC;aACC,IAAI,CAAC,CAAC,GAAa,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAE,GAAG,CAAC,IAAI,EAAqC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aACzF,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;aACtC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dudousxd/nestjs-authz-client",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Framework-neutral, in-memory ability store + can() resolver for @dudousxd/nestjs-authz — hydrate decisions once and answer client checks with no network request.",
5
5
  "license": "MIT",
6
6
  "repository": {