@spinajs/authz-http-admin 3.0.13 → 3.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/README.md +9 -8
- package/lib/cjs/controllers/AuthzAdminController.d.ts +35 -29
- package/lib/cjs/controllers/AuthzAdminController.d.ts.map +1 -1
- package/lib/cjs/controllers/AuthzAdminController.js +172 -175
- package/lib/cjs/controllers/AuthzAdminController.js.map +1 -1
- package/lib/cjs/dto/assignments.d.ts +33 -0
- package/lib/cjs/dto/assignments.d.ts.map +1 -0
- package/lib/cjs/dto/assignments.js +39 -0
- package/lib/cjs/dto/assignments.js.map +1 -0
- package/lib/cjs/dto/attributes.d.ts +20 -0
- package/lib/cjs/dto/attributes.d.ts.map +1 -0
- package/lib/cjs/dto/attributes.js +29 -0
- package/lib/cjs/dto/attributes.js.map +1 -0
- package/lib/cjs/dto/batch.d.ts +11 -0
- package/lib/cjs/dto/batch.d.ts.map +1 -0
- package/lib/cjs/dto/batch.js +10 -0
- package/lib/cjs/dto/batch.js.map +1 -0
- package/lib/cjs/dto/index.d.ts +9 -0
- package/lib/cjs/dto/index.d.ts.map +1 -0
- package/lib/cjs/dto/index.js +25 -0
- package/lib/cjs/dto/index.js.map +1 -0
- package/lib/cjs/dto/input.d.ts +8 -0
- package/lib/cjs/dto/input.d.ts.map +1 -0
- package/lib/cjs/dto/input.js +19 -0
- package/lib/cjs/dto/input.js.map +1 -0
- package/lib/cjs/dto/links.d.ts +28 -0
- package/lib/cjs/dto/links.d.ts.map +1 -0
- package/lib/cjs/dto/links.js +40 -0
- package/lib/cjs/dto/links.js.map +1 -0
- package/lib/cjs/dto/params.d.ts +19 -0
- package/lib/cjs/dto/params.d.ts.map +1 -0
- package/lib/cjs/dto/params.js +9 -0
- package/lib/cjs/dto/params.js.map +1 -0
- package/lib/cjs/dto/queries.d.ts +37 -0
- package/lib/cjs/dto/queries.d.ts.map +1 -0
- package/lib/cjs/dto/queries.js +70 -0
- package/lib/cjs/dto/queries.js.map +1 -0
- package/lib/cjs/dto/rules.d.ts +18 -0
- package/lib/cjs/dto/rules.d.ts.map +1 -0
- package/lib/cjs/dto/rules.js +34 -0
- package/lib/cjs/dto/rules.js.map +1 -0
- package/lib/cjs/index.d.ts +1 -0
- package/lib/cjs/index.d.ts.map +1 -1
- package/lib/cjs/index.js +1 -0
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/routes/answers.d.ts +22 -0
- package/lib/cjs/routes/answers.d.ts.map +1 -0
- package/lib/cjs/routes/answers.js +121 -0
- package/lib/cjs/routes/answers.js.map +1 -0
- package/lib/cjs/routes/args.d.ts +59 -0
- package/lib/cjs/routes/args.d.ts.map +1 -0
- package/lib/cjs/routes/args.js +167 -0
- package/lib/cjs/routes/args.js.map +1 -0
- package/lib/cjs/routes/index.d.ts +3 -0
- package/lib/cjs/routes/index.d.ts.map +1 -1
- package/lib/cjs/routes/index.js +3 -0
- package/lib/cjs/routes/index.js.map +1 -1
- package/lib/cjs/routes/no-store.d.ts +10 -0
- package/lib/cjs/routes/no-store.d.ts.map +1 -0
- package/lib/cjs/routes/no-store.js +18 -0
- package/lib/cjs/routes/no-store.js.map +1 -0
- package/lib/cjs/routes/query.d.ts +6 -7
- package/lib/cjs/routes/query.d.ts.map +1 -1
- package/lib/cjs/routes/query.js +15 -62
- package/lib/cjs/routes/query.js.map +1 -1
- package/lib/cjs/schemas/answers.d.ts +7 -0
- package/lib/cjs/schemas/answers.d.ts.map +1 -0
- package/lib/cjs/schemas/answers.js +14 -0
- package/lib/cjs/schemas/answers.js.map +1 -0
- package/lib/cjs/schemas/commands.d.ts +4 -0
- package/lib/cjs/schemas/commands.d.ts.map +1 -1
- package/lib/cjs/schemas/commands.js +20 -12
- package/lib/cjs/schemas/commands.js.map +1 -1
- package/lib/cjs/schemas/document.d.ts +8 -17
- package/lib/cjs/schemas/document.d.ts.map +1 -1
- package/lib/cjs/schemas/document.js +53 -64
- package/lib/cjs/schemas/document.js.map +1 -1
- package/lib/cjs/schemas/index.d.ts +1 -1
- package/lib/cjs/schemas/index.d.ts.map +1 -1
- package/lib/cjs/schemas/index.js +1 -1
- package/lib/cjs/schemas/index.js.map +1 -1
- package/lib/cjs/schemas/primitives.d.ts +8 -1
- package/lib/cjs/schemas/primitives.d.ts.map +1 -1
- package/lib/cjs/schemas/primitives.js +25 -15
- package/lib/cjs/schemas/primitives.js.map +1 -1
- package/lib/cjs/schemas/provider.d.ts +4 -4
- package/lib/cjs/schemas/provider.d.ts.map +1 -1
- package/lib/cjs/schemas/provider.js +6 -6
- package/lib/cjs/schemas/provider.js.map +1 -1
- package/lib/mjs/controllers/AuthzAdminController.d.ts +35 -29
- package/lib/mjs/controllers/AuthzAdminController.d.ts.map +1 -1
- package/lib/mjs/controllers/AuthzAdminController.js +174 -177
- package/lib/mjs/controllers/AuthzAdminController.js.map +1 -1
- package/lib/mjs/dto/assignments.d.ts +33 -0
- package/lib/mjs/dto/assignments.d.ts.map +1 -0
- package/lib/mjs/dto/assignments.js +36 -0
- package/lib/mjs/dto/assignments.js.map +1 -0
- package/lib/mjs/dto/attributes.d.ts +20 -0
- package/lib/mjs/dto/attributes.d.ts.map +1 -0
- package/lib/mjs/dto/attributes.js +26 -0
- package/lib/mjs/dto/attributes.js.map +1 -0
- package/lib/mjs/dto/batch.d.ts +11 -0
- package/lib/mjs/dto/batch.d.ts.map +1 -0
- package/lib/mjs/dto/batch.js +7 -0
- package/lib/mjs/dto/batch.js.map +1 -0
- package/lib/mjs/dto/index.d.ts +9 -0
- package/lib/mjs/dto/index.d.ts.map +1 -0
- package/lib/mjs/dto/index.js +9 -0
- package/lib/mjs/dto/index.js.map +1 -0
- package/lib/mjs/dto/input.d.ts +8 -0
- package/lib/mjs/dto/input.d.ts.map +1 -0
- package/lib/mjs/dto/input.js +15 -0
- package/lib/mjs/dto/input.js.map +1 -0
- package/lib/mjs/dto/links.d.ts +28 -0
- package/lib/mjs/dto/links.d.ts.map +1 -0
- package/lib/mjs/dto/links.js +37 -0
- package/lib/mjs/dto/links.js.map +1 -0
- package/lib/mjs/dto/params.d.ts +19 -0
- package/lib/mjs/dto/params.d.ts.map +1 -0
- package/lib/mjs/dto/params.js +6 -0
- package/lib/mjs/dto/params.js.map +1 -0
- package/lib/mjs/dto/queries.d.ts +37 -0
- package/lib/mjs/dto/queries.d.ts.map +1 -0
- package/lib/mjs/dto/queries.js +66 -0
- package/lib/mjs/dto/queries.js.map +1 -0
- package/lib/mjs/dto/rules.d.ts +18 -0
- package/lib/mjs/dto/rules.d.ts.map +1 -0
- package/lib/mjs/dto/rules.js +31 -0
- package/lib/mjs/dto/rules.js.map +1 -0
- package/lib/mjs/index.d.ts +1 -0
- package/lib/mjs/index.d.ts.map +1 -1
- package/lib/mjs/index.js +1 -0
- package/lib/mjs/index.js.map +1 -1
- package/lib/mjs/routes/answers.d.ts +22 -0
- package/lib/mjs/routes/answers.d.ts.map +1 -0
- package/lib/mjs/routes/answers.js +115 -0
- package/lib/mjs/routes/answers.js.map +1 -0
- package/lib/mjs/routes/args.d.ts +59 -0
- package/lib/mjs/routes/args.d.ts.map +1 -0
- package/lib/mjs/routes/args.js +160 -0
- package/lib/mjs/routes/args.js.map +1 -0
- package/lib/mjs/routes/index.d.ts +3 -0
- package/lib/mjs/routes/index.d.ts.map +1 -1
- package/lib/mjs/routes/index.js +3 -0
- package/lib/mjs/routes/index.js.map +1 -1
- package/lib/mjs/routes/no-store.d.ts +10 -0
- package/lib/mjs/routes/no-store.d.ts.map +1 -0
- package/lib/mjs/routes/no-store.js +14 -0
- package/lib/mjs/routes/no-store.js.map +1 -0
- package/lib/mjs/routes/query.d.ts +6 -7
- package/lib/mjs/routes/query.d.ts.map +1 -1
- package/lib/mjs/routes/query.js +15 -62
- package/lib/mjs/routes/query.js.map +1 -1
- package/lib/mjs/schemas/answers.d.ts +7 -0
- package/lib/mjs/schemas/answers.d.ts.map +1 -0
- package/lib/mjs/schemas/answers.js +11 -0
- package/lib/mjs/schemas/answers.js.map +1 -0
- package/lib/mjs/schemas/commands.d.ts +4 -0
- package/lib/mjs/schemas/commands.d.ts.map +1 -1
- package/lib/mjs/schemas/commands.js +19 -12
- package/lib/mjs/schemas/commands.js.map +1 -1
- package/lib/mjs/schemas/document.d.ts +8 -17
- package/lib/mjs/schemas/document.d.ts.map +1 -1
- package/lib/mjs/schemas/document.js +53 -63
- package/lib/mjs/schemas/document.js.map +1 -1
- package/lib/mjs/schemas/index.d.ts +1 -1
- package/lib/mjs/schemas/index.d.ts.map +1 -1
- package/lib/mjs/schemas/index.js +1 -1
- package/lib/mjs/schemas/index.js.map +1 -1
- package/lib/mjs/schemas/primitives.d.ts +8 -1
- package/lib/mjs/schemas/primitives.d.ts.map +1 -1
- package/lib/mjs/schemas/primitives.js +22 -14
- package/lib/mjs/schemas/primitives.js.map +1 -1
- package/lib/mjs/schemas/provider.d.ts +4 -4
- package/lib/mjs/schemas/provider.d.ts.map +1 -1
- package/lib/mjs/schemas/provider.js +6 -6
- package/lib/mjs/schemas/provider.js.map +1 -1
- package/lib/tsconfig.cjs.tsbuildinfo +1 -1
- package/lib/tsconfig.mjs.tsbuildinfo +1 -1
- package/package.json +13 -12
- package/lib/cjs/schemas/bodies.d.ts +0 -17
- package/lib/cjs/schemas/bodies.d.ts.map +0 -1
- package/lib/cjs/schemas/bodies.js +0 -35
- package/lib/cjs/schemas/bodies.js.map +0 -1
- package/lib/mjs/schemas/bodies.d.ts +0 -17
- package/lib/mjs/schemas/bodies.d.ts.map +0 -1
- package/lib/mjs/schemas/bodies.js +0 -32
- package/lib/mjs/schemas/bodies.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@spinajs/authz-http-admin",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.15",
|
|
4
4
|
"description": "Admin routes over the SpinaJS authorization management API",
|
|
5
5
|
"main": "lib/cjs/index.js",
|
|
6
6
|
"module": "lib/mjs/index.js",
|
|
@@ -52,18 +52,19 @@
|
|
|
52
52
|
},
|
|
53
53
|
"homepage": "https://github.com/spinajs/main#readme",
|
|
54
54
|
"dependencies": {
|
|
55
|
-
"@spinajs/authz": "3.0.
|
|
56
|
-
"@spinajs/authz-http": "3.0.
|
|
57
|
-
"@spinajs/configuration": "3.0.
|
|
58
|
-
"@spinajs/di": "3.0.
|
|
59
|
-
"@spinajs/
|
|
60
|
-
"@spinajs/
|
|
61
|
-
"@spinajs/
|
|
55
|
+
"@spinajs/authz": "3.0.15",
|
|
56
|
+
"@spinajs/authz-http": "3.0.15",
|
|
57
|
+
"@spinajs/configuration": "3.0.15",
|
|
58
|
+
"@spinajs/di": "3.0.15",
|
|
59
|
+
"@spinajs/exceptions": "3.0.15",
|
|
60
|
+
"@spinajs/http": "3.0.15",
|
|
61
|
+
"@spinajs/util": "3.0.15",
|
|
62
|
+
"@spinajs/validation": "3.0.15"
|
|
62
63
|
},
|
|
63
64
|
"devDependencies": {
|
|
64
|
-
"@spinajs/authz-testing": "3.0.
|
|
65
|
-
"@spinajs/fs": "3.0.
|
|
66
|
-
"@spinajs/http-swagger": "3.0.
|
|
67
|
-
"@spinajs/log": "3.0.
|
|
65
|
+
"@spinajs/authz-testing": "3.0.15",
|
|
66
|
+
"@spinajs/fs": "3.0.15",
|
|
67
|
+
"@spinajs/http-swagger": "3.0.15",
|
|
68
|
+
"@spinajs/log": "3.0.15"
|
|
68
69
|
}
|
|
69
70
|
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { JsonSchema } from './primitives.js';
|
|
2
|
-
/** Over the built-in command schemas; AuthzAdminSchemaProvider serves it over every registered source. */
|
|
3
|
-
export declare const AuthzAdminBatch: JsonSchema;
|
|
4
|
-
export declare const AuthzAssignmentGrant: JsonSchema;
|
|
5
|
-
export declare const AuthzAssignmentPatch: JsonSchema;
|
|
6
|
-
export declare const AuthzLinkCreate: JsonSchema;
|
|
7
|
-
export declare const AuthzLinkPatch: JsonSchema;
|
|
8
|
-
export declare const AuthzRuleBody: JsonSchema;
|
|
9
|
-
export declare const AuthzPolicyBody: JsonSchema;
|
|
10
|
-
export declare const AuthzAttributesPatch: JsonSchema;
|
|
11
|
-
export declare const AuthzAttributesBody: JsonSchema;
|
|
12
|
-
export declare const AuthzAdminError: JsonSchema;
|
|
13
|
-
export declare const AuthzCommandResult: JsonSchema;
|
|
14
|
-
export declare const AuthzAdminResults: JsonSchema;
|
|
15
|
-
export declare const AuthzAdminPage: JsonSchema;
|
|
16
|
-
export declare const AuthzAdminAttributes: JsonSchema;
|
|
17
|
-
//# sourceMappingURL=bodies.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bodies.d.ts","sourceRoot":"","sources":["../../../src/schemas/bodies.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAKlD,0GAA0G;AAC1G,eAAO,MAAM,eAAe,EAAE,UAAyC,CAAC;AAExE,eAAO,MAAM,oBAAoB,EAAE,UAA2S,CAAC;AAE/U,eAAO,MAAM,oBAAoB,EAAE,UAIlC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,UAA4T,CAAC;AAE3V,eAAO,MAAM,cAAc,EAAE,UAI5B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,UAA4H,CAAC;AACzJ,eAAO,MAAM,eAAe,EAAE,UAA2I,CAAC;AAC1K,eAAO,MAAM,oBAAoB,EAAE,UAAyH,CAAC;AAC7J,eAAO,MAAM,mBAAmB,EAAE,UAA+G,CAAC;AAIlJ,eAAO,MAAM,eAAe,EAAE,UAA+Z,CAAC;AAM9b,eAAO,MAAM,kBAAkB,EAAE,UAA4E,CAAC;AAE9G,eAAO,MAAM,iBAAiB,EAAE,UAAyR,CAAC;AAE1T,eAAO,MAAM,cAAc,EAAE,UAA+T,CAAC;AAE7V,eAAO,MAAM,oBAAoB,EAAE,UAAuE,CAAC"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AuthzAdminAttributes = exports.AuthzAdminPage = exports.AuthzAdminResults = exports.AuthzCommandResult = exports.AuthzAdminError = exports.AuthzAttributesBody = exports.AuthzAttributesPatch = exports.AuthzPolicyBody = exports.AuthzRuleBody = exports.AuthzLinkPatch = exports.AuthzLinkCreate = exports.AuthzAssignmentPatch = exports.AuthzAssignmentGrant = exports.AuthzAdminBatch = void 0;
|
|
4
|
-
const commands_js_1 = require("./commands.js");
|
|
5
|
-
const primitives_js_1 = require("./primitives.js");
|
|
6
|
-
const { id: _ruleId, ...ruleFields } = commands_js_1.ruleBody.properties;
|
|
7
|
-
const { id: _policyId, ...policyFields } = commands_js_1.policyBody.properties;
|
|
8
|
-
/** Over the built-in command schemas; AuthzAdminSchemaProvider serves it over every registered source. */
|
|
9
|
-
exports.AuthzAdminBatch = (0, primitives_js_1.commandBatch)(commands_js_1.commandSchemas);
|
|
10
|
-
exports.AuthzAssignmentGrant = (0, primitives_js_1.obj)(['subject', 'role', 'scope'], { subject: primitives_js_1.assignmentSubject, role: primitives_js_1.text, scope: primitives_js_1.resourceRef, tags: primitives_js_1.tags, expiresAt: primitives_js_1.nullableDateTime, replaceLadder: { type: 'boolean' } }, 'POST /authz/assignments: the fields of assignment.grant (reason, idempotencyKey and dryRun go in the query string)');
|
|
11
|
-
exports.AuthzAssignmentPatch = {
|
|
12
|
-
...(0, primitives_js_1.obj)([], { tags: { ...primitives_js_1.tags, description: 'replaces the tags' }, addTags: primitives_js_1.tags, removeTags: primitives_js_1.tags, expiresAt: primitives_js_1.nullableDateTime }, 'PATCH /authz/assignments/{id}: at least one key; the keys run as assignment.setTags, addTags, removeTags and setExpiry in one batch'),
|
|
13
|
-
additionalProperties: false,
|
|
14
|
-
anyOf: ['tags', 'addTags', 'removeTags', 'expiresAt'].map((k) => ({ required: [k] })),
|
|
15
|
-
};
|
|
16
|
-
exports.AuthzLinkCreate = (0, primitives_js_1.obj)(['scope', 'role'], { scope: primitives_js_1.resourceRef, role: primitives_js_1.text, tags: primitives_js_1.tags, expiresAt: primitives_js_1.nullableDateTime, attributes: primitives_js_1.anyObject }, 'POST /authz/links: the fields of link.create; the answer carries the token, shown once and sent with Cache-Control: no-store (reason, idempotencyKey and dryRun go in the query string)');
|
|
17
|
-
exports.AuthzLinkPatch = {
|
|
18
|
-
...(0, primitives_js_1.obj)([], { id: { ...primitives_js_1.text, description: 'optional; must equal the path id' }, expiresAt: primitives_js_1.nullableDateTime, attributes: primitives_js_1.anyObject, role: primitives_js_1.text, tags: { ...primitives_js_1.tags, description: 'replaces the tags of the role the link grants' } }, 'PATCH /authz/links/{id}: at least one of expiresAt, attributes, role, tags; runs as one link.update'),
|
|
19
|
-
additionalProperties: false,
|
|
20
|
-
anyOf: ['expiresAt', 'attributes', 'role', 'tags'].map((k) => ({ required: [k] })),
|
|
21
|
-
};
|
|
22
|
-
exports.AuthzRuleBody = (0, primitives_js_1.obj)(['kind', 'scope'], ruleFields, 'PUT /authz/rules/{id}: a rule; an `id` in the body must equal the path id');
|
|
23
|
-
exports.AuthzPolicyBody = (0, primitives_js_1.obj)(['effect', 'permissions'], policyFields, 'PUT /authz/policies/{id}: a policy; an `id` in the body must equal the path id');
|
|
24
|
-
exports.AuthzAttributesPatch = { ...primitives_js_1.anyObject, description: 'PATCH /authz/scopes/{type}/{id}/attributes: deep merge; null deletes a path' };
|
|
25
|
-
exports.AuthzAttributesBody = { ...primitives_js_1.anyObject, description: 'PUT /authz/scopes/{type}/{id}/attributes: replaces all attributes' };
|
|
26
|
-
const errorShape = (0, primitives_js_1.obj)(['code', 'message'], { code: primitives_js_1.text, message: primitives_js_1.text, field: { ...primitives_js_1.text, description: 'the offending field, when one is known' } });
|
|
27
|
-
exports.AuthzAdminError = (0, primitives_js_1.obj)(['error'], { error: errorShape }, 'The body of a refused request. Codes: invalid_request, invalid_query, invalid_batch, invalid_command, unknown_role, not_assignable, wrong_scope_type, unknown_ladder, unknown_permission, rule_not_compilable, invalid_attributes, set_cycle, set_too_deep (400); forbidden, escalation, last_holder, self_lockout, protected_role (403); not_found (404); conflict (409)');
|
|
28
|
-
const commandResult = {
|
|
29
|
-
oneOf: [(0, primitives_js_1.obj)(['ok', 'kind', 'affected'], { ok: { type: 'boolean', enum: [true] }, kind: primitives_js_1.text, id: primitives_js_1.text, token: { ...primitives_js_1.text, description: 'link.create only, shown once' }, affected: { type: 'integer' } }), (0, primitives_js_1.obj)(['ok', 'kind', 'error'], { ok: { type: 'boolean', enum: [false] }, kind: primitives_js_1.text, error: errorShape })],
|
|
30
|
-
};
|
|
31
|
-
exports.AuthzCommandResult = { ...commandResult, description: 'The outcome of one command' };
|
|
32
|
-
exports.AuthzAdminResults = (0, primitives_js_1.obj)(['results'], { results: { type: 'array', items: commandResult, description: 'one per command, in order; the first failure ends the list' } }, 'The answer of a write route: 200 when every command succeeded, else the status of the first failure, with the same body');
|
|
33
|
-
exports.AuthzAdminPage = (0, primitives_js_1.obj)(['items', 'total'], { items: { type: 'array', items: primitives_js_1.anyObject }, total: { type: 'integer', description: 'rows matching before paging' }, next: { type: 'string', description: 'pass it as `after` to read the following page; absent on the last page and on offset pages' } }, 'The answer of a list route');
|
|
34
|
-
exports.AuthzAdminAttributes = { ...primitives_js_1.anyObject, description: 'The attributes of a scope' };
|
|
35
|
-
//# sourceMappingURL=bodies.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bodies.js","sourceRoot":"","sources":["../../../src/schemas/bodies.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { JsonSchema } from './primitives.js';
|
|
2
|
-
/** Over the built-in command schemas; AuthzAdminSchemaProvider serves it over every registered source. */
|
|
3
|
-
export declare const AuthzAdminBatch: JsonSchema;
|
|
4
|
-
export declare const AuthzAssignmentGrant: JsonSchema;
|
|
5
|
-
export declare const AuthzAssignmentPatch: JsonSchema;
|
|
6
|
-
export declare const AuthzLinkCreate: JsonSchema;
|
|
7
|
-
export declare const AuthzLinkPatch: JsonSchema;
|
|
8
|
-
export declare const AuthzRuleBody: JsonSchema;
|
|
9
|
-
export declare const AuthzPolicyBody: JsonSchema;
|
|
10
|
-
export declare const AuthzAttributesPatch: JsonSchema;
|
|
11
|
-
export declare const AuthzAttributesBody: JsonSchema;
|
|
12
|
-
export declare const AuthzAdminError: JsonSchema;
|
|
13
|
-
export declare const AuthzCommandResult: JsonSchema;
|
|
14
|
-
export declare const AuthzAdminResults: JsonSchema;
|
|
15
|
-
export declare const AuthzAdminPage: JsonSchema;
|
|
16
|
-
export declare const AuthzAdminAttributes: JsonSchema;
|
|
17
|
-
//# sourceMappingURL=bodies.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bodies.d.ts","sourceRoot":"","sources":["../../../src/schemas/bodies.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAKlD,0GAA0G;AAC1G,eAAO,MAAM,eAAe,EAAE,UAAyC,CAAC;AAExE,eAAO,MAAM,oBAAoB,EAAE,UAA2S,CAAC;AAE/U,eAAO,MAAM,oBAAoB,EAAE,UAIlC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,UAA4T,CAAC;AAE3V,eAAO,MAAM,cAAc,EAAE,UAI5B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,UAA4H,CAAC;AACzJ,eAAO,MAAM,eAAe,EAAE,UAA2I,CAAC;AAC1K,eAAO,MAAM,oBAAoB,EAAE,UAAyH,CAAC;AAC7J,eAAO,MAAM,mBAAmB,EAAE,UAA+G,CAAC;AAIlJ,eAAO,MAAM,eAAe,EAAE,UAA+Z,CAAC;AAM9b,eAAO,MAAM,kBAAkB,EAAE,UAA4E,CAAC;AAE9G,eAAO,MAAM,iBAAiB,EAAE,UAAyR,CAAC;AAE1T,eAAO,MAAM,cAAc,EAAE,UAA+T,CAAC;AAE7V,eAAO,MAAM,oBAAoB,EAAE,UAAuE,CAAC"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { commandSchemas, policyBody, ruleBody } from './commands.js';
|
|
2
|
-
import { anyObject, assignmentSubject, commandBatch, nullableDateTime, obj, resourceRef, tags, text } from './primitives.js';
|
|
3
|
-
const { id: _ruleId, ...ruleFields } = ruleBody.properties;
|
|
4
|
-
const { id: _policyId, ...policyFields } = policyBody.properties;
|
|
5
|
-
/** Over the built-in command schemas; AuthzAdminSchemaProvider serves it over every registered source. */
|
|
6
|
-
export const AuthzAdminBatch = commandBatch(commandSchemas);
|
|
7
|
-
export const AuthzAssignmentGrant = obj(['subject', 'role', 'scope'], { subject: assignmentSubject, role: text, scope: resourceRef, tags, expiresAt: nullableDateTime, replaceLadder: { type: 'boolean' } }, 'POST /authz/assignments: the fields of assignment.grant (reason, idempotencyKey and dryRun go in the query string)');
|
|
8
|
-
export const AuthzAssignmentPatch = {
|
|
9
|
-
...obj([], { tags: { ...tags, description: 'replaces the tags' }, addTags: tags, removeTags: tags, expiresAt: nullableDateTime }, 'PATCH /authz/assignments/{id}: at least one key; the keys run as assignment.setTags, addTags, removeTags and setExpiry in one batch'),
|
|
10
|
-
additionalProperties: false,
|
|
11
|
-
anyOf: ['tags', 'addTags', 'removeTags', 'expiresAt'].map((k) => ({ required: [k] })),
|
|
12
|
-
};
|
|
13
|
-
export const AuthzLinkCreate = obj(['scope', 'role'], { scope: resourceRef, role: text, tags, expiresAt: nullableDateTime, attributes: anyObject }, 'POST /authz/links: the fields of link.create; the answer carries the token, shown once and sent with Cache-Control: no-store (reason, idempotencyKey and dryRun go in the query string)');
|
|
14
|
-
export const AuthzLinkPatch = {
|
|
15
|
-
...obj([], { id: { ...text, description: 'optional; must equal the path id' }, expiresAt: nullableDateTime, attributes: anyObject, role: text, tags: { ...tags, description: 'replaces the tags of the role the link grants' } }, 'PATCH /authz/links/{id}: at least one of expiresAt, attributes, role, tags; runs as one link.update'),
|
|
16
|
-
additionalProperties: false,
|
|
17
|
-
anyOf: ['expiresAt', 'attributes', 'role', 'tags'].map((k) => ({ required: [k] })),
|
|
18
|
-
};
|
|
19
|
-
export const AuthzRuleBody = obj(['kind', 'scope'], ruleFields, 'PUT /authz/rules/{id}: a rule; an `id` in the body must equal the path id');
|
|
20
|
-
export const AuthzPolicyBody = obj(['effect', 'permissions'], policyFields, 'PUT /authz/policies/{id}: a policy; an `id` in the body must equal the path id');
|
|
21
|
-
export const AuthzAttributesPatch = { ...anyObject, description: 'PATCH /authz/scopes/{type}/{id}/attributes: deep merge; null deletes a path' };
|
|
22
|
-
export const AuthzAttributesBody = { ...anyObject, description: 'PUT /authz/scopes/{type}/{id}/attributes: replaces all attributes' };
|
|
23
|
-
const errorShape = obj(['code', 'message'], { code: text, message: text, field: { ...text, description: 'the offending field, when one is known' } });
|
|
24
|
-
export const AuthzAdminError = obj(['error'], { error: errorShape }, 'The body of a refused request. Codes: invalid_request, invalid_query, invalid_batch, invalid_command, unknown_role, not_assignable, wrong_scope_type, unknown_ladder, unknown_permission, rule_not_compilable, invalid_attributes, set_cycle, set_too_deep (400); forbidden, escalation, last_holder, self_lockout, protected_role (403); not_found (404); conflict (409)');
|
|
25
|
-
const commandResult = {
|
|
26
|
-
oneOf: [obj(['ok', 'kind', 'affected'], { ok: { type: 'boolean', enum: [true] }, kind: text, id: text, token: { ...text, description: 'link.create only, shown once' }, affected: { type: 'integer' } }), obj(['ok', 'kind', 'error'], { ok: { type: 'boolean', enum: [false] }, kind: text, error: errorShape })],
|
|
27
|
-
};
|
|
28
|
-
export const AuthzCommandResult = { ...commandResult, description: 'The outcome of one command' };
|
|
29
|
-
export const AuthzAdminResults = obj(['results'], { results: { type: 'array', items: commandResult, description: 'one per command, in order; the first failure ends the list' } }, 'The answer of a write route: 200 when every command succeeded, else the status of the first failure, with the same body');
|
|
30
|
-
export const AuthzAdminPage = obj(['items', 'total'], { items: { type: 'array', items: anyObject }, total: { type: 'integer', description: 'rows matching before paging' }, next: { type: 'string', description: 'pass it as `after` to read the following page; absent on the last page and on offset pages' } }, 'The answer of a list route');
|
|
31
|
-
export const AuthzAdminAttributes = { ...anyObject, description: 'The attributes of a scope' };
|
|
32
|
-
//# sourceMappingURL=bodies.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bodies.js","sourceRoot":"","sources":["../../../src/schemas/bodies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,YAAY,EAAE,gBAAgB,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAG7H,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,GAAG,QAAQ,CAAC,UAAwC,CAAC;AACzF,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,YAAY,EAAE,GAAG,UAAU,CAAC,UAAwC,CAAC;AAE/F,0GAA0G;AAC1G,MAAM,CAAC,MAAM,eAAe,GAAe,YAAY,CAAC,cAAc,CAAC,CAAC;AAExE,MAAM,CAAC,MAAM,oBAAoB,GAAe,GAAG,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,oHAAoH,CAAC,CAAC;AAE/U,MAAM,CAAC,MAAM,oBAAoB,GAAe;IAC9C,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,mBAAmB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,EAAE,EAAE,qIAAqI,CAAC;IACxQ,oBAAoB,EAAE,KAAK;IAC3B,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;CACtF,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAe,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,yLAAyL,CAAC,CAAC;AAE3V,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,GAAG,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,kCAAkC,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,+CAA+C,EAAE,EAAE,EAAE,qGAAqG,CAAC;IACxU,oBAAoB,EAAE,KAAK;IAC3B,KAAK,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;CACnF,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAe,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,2EAA2E,CAAC,CAAC;AACzJ,MAAM,CAAC,MAAM,eAAe,GAAe,GAAG,CAAC,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,YAAY,EAAE,gFAAgF,CAAC,CAAC;AAC1K,MAAM,CAAC,MAAM,oBAAoB,GAAe,EAAE,GAAG,SAAS,EAAE,WAAW,EAAE,6EAA6E,EAAE,CAAC;AAC7J,MAAM,CAAC,MAAM,mBAAmB,GAAe,EAAE,GAAG,SAAS,EAAE,WAAW,EAAE,mEAAmE,EAAE,CAAC;AAElJ,MAAM,UAAU,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,wCAAwC,EAAE,EAAE,CAAC,CAAC;AAEtJ,MAAM,CAAC,MAAM,eAAe,GAAe,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,2WAA2W,CAAC,CAAC;AAE9b,MAAM,aAAa,GAAe;IAChC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,8BAA8B,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;CACnT,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAe,EAAE,GAAG,aAAa,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC;AAE9G,MAAM,CAAC,MAAM,iBAAiB,GAAe,GAAG,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,4DAA4D,EAAE,EAAE,EAAE,yHAAyH,CAAC,CAAC;AAE1T,MAAM,CAAC,MAAM,cAAc,GAAe,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,6BAA6B,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4FAA4F,EAAE,EAAE,EAAE,4BAA4B,CAAC,CAAC;AAE7V,MAAM,CAAC,MAAM,oBAAoB,GAAe,EAAE,GAAG,SAAS,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC"}
|