@toa.io/extensions.exposition 1.0.0-alpha.13 → 1.0.0-alpha.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/components/identity.bans/manifest.toa.yaml +13 -5
- package/components/identity.bans/operations/transit.d.ts +14 -0
- package/components/identity.bans/operations/transit.js +11 -0
- package/components/identity.bans/operations/transit.js.map +1 -0
- package/components/identity.bans/operations/tsconfig.tsbuildinfo +1 -0
- package/components/identity.bans/source/transit.ts +21 -0
- package/components/identity.bans/tsconfig.json +9 -0
- package/components/identity.roles/manifest.toa.yaml +4 -4
- package/components/identity.roles/operations/grant.d.ts +1 -1
- package/components/identity.roles/operations/grant.js +6 -5
- package/components/identity.roles/operations/grant.js.map +1 -1
- package/components/identity.roles/operations/lib/Entity.d.ts +1 -1
- package/components/identity.roles/operations/tsconfig.tsbuildinfo +1 -1
- package/components/identity.roles/source/grant.ts +7 -6
- package/components/identity.roles/source/lib/Entity.ts +1 -1
- package/components/identity.tokens/manifest.toa.yaml +1 -0
- package/components/identity.tokens/operations/authenticate.js +5 -2
- package/components/identity.tokens/operations/authenticate.js.map +1 -1
- package/components/identity.tokens/operations/encrypt.js +4 -1
- package/components/identity.tokens/operations/encrypt.js.map +1 -1
- package/components/identity.tokens/operations/tsconfig.tsbuildinfo +1 -1
- package/components/identity.tokens/operations/types.d.ts +1 -2
- package/components/identity.tokens/receivers/identity.bans.created.js +3 -0
- package/components/identity.tokens/source/authenticate.ts +5 -2
- package/components/identity.tokens/source/encrypt.ts +4 -1
- package/components/identity.tokens/source/types.ts +1 -2
- package/documentation/access.md +13 -3
- package/documentation/components.md +17 -3
- package/documentation/vary.md +9 -3
- package/features/access.feature +16 -48
- package/features/errors.feature +3 -1
- package/features/identity.bans.feature +128 -0
- package/features/identity.basic.feature +4 -7
- package/features/identity.federation.feature +1 -0
- package/features/identity.roles.feature +54 -1
- package/features/identity.tokens.feature +1 -0
- package/features/io.feature +29 -0
- package/features/steps/Database.ts +16 -10
- package/features/steps/IdP.ts +28 -23
- package/features/steps/components/echo/manifest.toa.yaml +5 -1
- package/features/steps/components/echo/operations/identity.js +7 -0
- package/features/steps/components/users/manifest.toa.yaml +0 -1
- package/features/vary.feature +23 -0
- package/package.json +11 -9
- package/source/Directive.ts +3 -1
- package/source/Gateway.ts +1 -1
- package/source/HTTP/exceptions.ts +1 -1
- package/source/RTD/factory.ts +1 -1
- package/source/Tenant.ts +0 -8
- package/source/directives/auth/Authorization.ts +1 -1
- package/source/directives/auth/Delegate.ts +4 -1
- package/source/directives/auth/Role.test.ts +53 -6
- package/source/directives/auth/Role.ts +22 -14
- package/source/directives/auth/types.ts +1 -1
- package/source/directives/cache/Cache.ts +1 -1
- package/source/directives/dev/Development.ts +1 -1
- package/source/directives/octets/Octets.ts +1 -1
- package/source/directives/vary/Directive.ts +2 -1
- package/source/directives/vary/Embed.ts +14 -8
- package/source/directives/vary/Vary.ts +6 -4
- package/source/directives/vary/embeddings/Embedding.ts +2 -1
- package/source/directives/vary/embeddings/Parameter.ts +14 -0
- package/source/directives/vary/embeddings/index.ts +3 -3
- package/source/exceptions.ts +13 -6
- package/transpiled/Directive.js +3 -1
- package/transpiled/Directive.js.map +1 -1
- package/transpiled/Gateway.js +1 -1
- package/transpiled/Gateway.js.map +1 -1
- package/transpiled/HTTP/exceptions.d.ts +1 -1
- package/transpiled/HTTP/exceptions.js.map +1 -1
- package/transpiled/RTD/factory.js +1 -1
- package/transpiled/RTD/factory.js.map +1 -1
- package/transpiled/Tenant.d.ts +0 -1
- package/transpiled/Tenant.js +0 -6
- package/transpiled/Tenant.js.map +1 -1
- package/transpiled/directives/auth/Authorization.js +1 -1
- package/transpiled/directives/auth/Authorization.js.map +1 -1
- package/transpiled/directives/auth/Delegate.js +3 -1
- package/transpiled/directives/auth/Delegate.js.map +1 -1
- package/transpiled/directives/auth/Role.d.ts +4 -1
- package/transpiled/directives/auth/Role.js +20 -14
- package/transpiled/directives/auth/Role.js.map +1 -1
- package/transpiled/directives/cache/Cache.js +1 -1
- package/transpiled/directives/cache/Cache.js.map +1 -1
- package/transpiled/directives/dev/Development.js +1 -1
- package/transpiled/directives/dev/Development.js.map +1 -1
- package/transpiled/directives/octets/Octets.js +1 -1
- package/transpiled/directives/octets/Octets.js.map +1 -1
- package/transpiled/directives/vary/Directive.d.ts +2 -1
- package/transpiled/directives/vary/Embed.d.ts +2 -1
- package/transpiled/directives/vary/Embed.js +8 -6
- package/transpiled/directives/vary/Embed.js.map +1 -1
- package/transpiled/directives/vary/Vary.d.ts +2 -2
- package/transpiled/directives/vary/Vary.js +3 -3
- package/transpiled/directives/vary/Vary.js.map +1 -1
- package/transpiled/directives/vary/embeddings/Embedding.d.ts +2 -1
- package/transpiled/directives/vary/embeddings/Parameter.d.ts +7 -0
- package/transpiled/directives/vary/embeddings/Parameter.js +14 -0
- package/transpiled/directives/vary/embeddings/Parameter.js.map +1 -0
- package/transpiled/directives/vary/embeddings/index.d.ts +2 -2
- package/transpiled/directives/vary/embeddings/index.js +5 -3
- package/transpiled/directives/vary/embeddings/index.js.map +1 -1
- package/transpiled/exceptions.d.ts +3 -2
- package/transpiled/exceptions.js +7 -1
- package/transpiled/exceptions.js.map +1 -1
- package/transpiled/tsconfig.tsbuildinfo +1 -1
|
@@ -2,6 +2,7 @@ import { type Component } from '@toa.io/core'
|
|
|
2
2
|
import { generate } from 'randomstring'
|
|
3
3
|
import { Role } from './Role'
|
|
4
4
|
import { type Identity } from './types'
|
|
5
|
+
import type { Parameter } from '../../RTD'
|
|
5
6
|
|
|
6
7
|
const remote = {
|
|
7
8
|
invoke: jest.fn()
|
|
@@ -16,16 +17,26 @@ beforeEach(() => {
|
|
|
16
17
|
it('should return false if not matched', async () => {
|
|
17
18
|
const roles = ['admin', 'user']
|
|
18
19
|
const directive = new Role(roles, discovery)
|
|
19
|
-
|
|
20
|
+
|
|
21
|
+
const identity: Identity = {
|
|
22
|
+
id: generate(),
|
|
23
|
+
scheme: '',
|
|
24
|
+
refresh: false
|
|
25
|
+
}
|
|
20
26
|
|
|
21
27
|
remote.invoke.mockResolvedValueOnce(['guest'])
|
|
22
28
|
|
|
23
|
-
const result = await directive.authorize(identity)
|
|
29
|
+
const result = await directive.authorize(identity, undefined, [])
|
|
24
30
|
|
|
25
31
|
expect(result).toBe(false)
|
|
26
32
|
|
|
27
33
|
expect(remote.invoke)
|
|
28
|
-
.toBeCalledWith('list', {
|
|
34
|
+
.toBeCalledWith('list', {
|
|
35
|
+
query: {
|
|
36
|
+
criteria: `identity==${identity.id}`,
|
|
37
|
+
limit: 1024
|
|
38
|
+
}
|
|
39
|
+
})
|
|
29
40
|
})
|
|
30
41
|
|
|
31
42
|
it('should return true on exact match', async () => {
|
|
@@ -52,11 +63,47 @@ it('should return false on non-scope substring match', async () => {
|
|
|
52
63
|
expect(result).toBe(false)
|
|
53
64
|
})
|
|
54
65
|
|
|
55
|
-
|
|
66
|
+
it('should return true on match with parameters', async () => {
|
|
67
|
+
const result = await match(['app:{org}:reviews'],
|
|
68
|
+
['app:29e54ae1:reviews'], [{
|
|
69
|
+
name: 'org',
|
|
70
|
+
value: '29e54ae1'
|
|
71
|
+
}])
|
|
72
|
+
|
|
73
|
+
expect(result).toBe(true)
|
|
74
|
+
})
|
|
75
|
+
|
|
76
|
+
it('should return true on match with parameters', async () => {
|
|
77
|
+
const result = await match(['app:{org}:reviews'],
|
|
78
|
+
['app:29e54ae1:reviews'], [{
|
|
79
|
+
name: 'org',
|
|
80
|
+
value: '29e54ae1'
|
|
81
|
+
}])
|
|
82
|
+
|
|
83
|
+
expect(result).toBe(true)
|
|
84
|
+
})
|
|
85
|
+
|
|
86
|
+
it('should return false on mismatch with parameters', async () => {
|
|
87
|
+
const result = await match(['app:{org}:reviews'],
|
|
88
|
+
['app:29e54ae1:reviews'], [{
|
|
89
|
+
name: 'org',
|
|
90
|
+
value: '88584c9b'
|
|
91
|
+
}])
|
|
92
|
+
|
|
93
|
+
expect(result).toBe(false)
|
|
94
|
+
})
|
|
95
|
+
|
|
96
|
+
async function match
|
|
97
|
+
(expected: string[], actual: string[], parameters: Parameter[] = []): Promise<boolean> {
|
|
56
98
|
const directive = new Role(expected, discovery)
|
|
57
|
-
|
|
99
|
+
|
|
100
|
+
const identity: Identity = {
|
|
101
|
+
id: generate(),
|
|
102
|
+
scheme: '',
|
|
103
|
+
refresh: false
|
|
104
|
+
}
|
|
58
105
|
|
|
59
106
|
remote.invoke.mockResolvedValueOnce(actual)
|
|
60
107
|
|
|
61
|
-
return await directive.authorize(identity)
|
|
108
|
+
return await directive.authorize(identity, undefined, parameters)
|
|
62
109
|
}
|
|
@@ -1,14 +1,18 @@
|
|
|
1
|
+
import assert from 'node:assert'
|
|
1
2
|
import { type Component, type Query } from '@toa.io/core'
|
|
2
3
|
import { type Directive, type Identity } from './types'
|
|
4
|
+
import type { Parameter } from '../../RTD'
|
|
3
5
|
|
|
4
6
|
export class Role implements Directive {
|
|
5
7
|
public static remote: Component | null = null
|
|
6
8
|
private readonly roles: string[]
|
|
7
9
|
private readonly discovery: Promise<Component>
|
|
10
|
+
private readonly dynamic: boolean
|
|
8
11
|
|
|
9
12
|
public constructor (roles: string | string[], discovery: Promise<Component>) {
|
|
10
13
|
this.roles = typeof roles === 'string' ? [roles] : roles
|
|
11
14
|
this.discovery = discovery
|
|
15
|
+
this.dynamic = this.roles.some((role) => role.includes('{'))
|
|
12
16
|
}
|
|
13
17
|
|
|
14
18
|
public static async set (identity: Identity, discovery: Promise<Component>): Promise<void> {
|
|
@@ -22,37 +26,41 @@ export class Role implements Directive {
|
|
|
22
26
|
identity.roles = await this.remote.invoke('list', { query })
|
|
23
27
|
}
|
|
24
28
|
|
|
25
|
-
public async authorize
|
|
29
|
+
public async authorize
|
|
30
|
+
(identity: Identity | null, _: unknown, parameters: Parameter[]): Promise<boolean> {
|
|
26
31
|
if (identity === null)
|
|
27
32
|
return false
|
|
28
33
|
|
|
29
34
|
await Role.set(identity, this.discovery)
|
|
30
35
|
|
|
31
|
-
if (identity.roles ===
|
|
36
|
+
if (identity.roles!.length === 0) // Role.set()
|
|
37
|
+
|
|
32
38
|
return false
|
|
33
39
|
|
|
34
|
-
return this.match(identity.roles)
|
|
40
|
+
return this.match(identity.roles!, parameters)
|
|
35
41
|
}
|
|
36
42
|
|
|
37
|
-
private match (roles: string[]): boolean {
|
|
43
|
+
private match (roles: string[], parameters: Parameter[]): boolean {
|
|
44
|
+
const required = this.dynamic ? this.substitute(parameters) : this.roles
|
|
45
|
+
|
|
38
46
|
for (const role of roles) {
|
|
39
|
-
const
|
|
47
|
+
const ok = required.some((expected) => expected === role || expected.startsWith(role + ':'))
|
|
40
48
|
|
|
41
|
-
if (
|
|
49
|
+
if (ok)
|
|
42
50
|
return true
|
|
43
51
|
}
|
|
44
52
|
|
|
45
53
|
return false
|
|
46
54
|
}
|
|
47
|
-
}
|
|
48
55
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
56
|
+
private substitute (parameters: Parameter[]): string[] {
|
|
57
|
+
return this.roles.map((role) => role.replaceAll(/{(\w+)}/g, (_, key) => {
|
|
58
|
+
const value = parameters.find((parameter) => parameter.name === key)?.value
|
|
52
59
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
return false
|
|
60
|
+
assert.ok(value !== undefined,
|
|
61
|
+
`Role '${role}' requires '${key}' route parameter.`)
|
|
56
62
|
|
|
57
|
-
|
|
63
|
+
return value
|
|
64
|
+
}))
|
|
65
|
+
}
|
|
58
66
|
}
|
|
@@ -13,7 +13,7 @@ export class Cache implements DirectiveFamily<Directive> {
|
|
|
13
13
|
const Class = constructors[name]
|
|
14
14
|
|
|
15
15
|
if (Class === undefined)
|
|
16
|
-
throw new Error(`Directive '
|
|
16
|
+
throw new Error(`Directive 'cache:${name}' is not implemented.`)
|
|
17
17
|
|
|
18
18
|
return new Class(value)
|
|
19
19
|
}
|
|
@@ -12,7 +12,7 @@ export class Development implements DirectiveFamily<Directive> {
|
|
|
12
12
|
const Class = constructors[name]
|
|
13
13
|
|
|
14
14
|
if (Class === undefined)
|
|
15
|
-
throw new Error(`Directive '
|
|
15
|
+
throw new Error(`Directive 'dev:${name}' is not implemented.`)
|
|
16
16
|
|
|
17
17
|
return new Class(value)
|
|
18
18
|
}
|
|
@@ -23,7 +23,7 @@ export class Octets implements DirectiveFamily<Directive> {
|
|
|
23
23
|
const Class = DIRECTIVES[name]
|
|
24
24
|
|
|
25
25
|
if (Class === undefined)
|
|
26
|
-
throw new Error(`Directive '
|
|
26
|
+
throw new Error(`Directive 'octets:${name}' is not implemented.`)
|
|
27
27
|
|
|
28
28
|
this.discovery ??= remotes.discover('octets', 'storage')
|
|
29
29
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Properties } from './Properties'
|
|
2
2
|
import type { Input } from '../../io'
|
|
3
|
+
import type { Parameter } from '../../RTD'
|
|
3
4
|
|
|
4
5
|
export interface Directive {
|
|
5
|
-
preflight: (
|
|
6
|
+
preflight: (context: Input, properties: Properties, parameters: Parameter[]) => void
|
|
6
7
|
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import assert from 'node:assert'
|
|
2
|
-
import { Header, embeddings } from './embeddings'
|
|
2
|
+
import { Header, embeddings, Parameter } from './embeddings'
|
|
3
3
|
import type { Embedding } from './embeddings'
|
|
4
4
|
import type { Input } from '../../io'
|
|
5
5
|
import type { Directive } from './Directive'
|
|
6
6
|
import type { Properties } from './Properties'
|
|
7
|
+
import type * as RTD from '../../RTD'
|
|
7
8
|
|
|
8
9
|
export class Embed implements Directive {
|
|
9
10
|
private readonly embeddings: Array<[string, Embedding[]]> = []
|
|
@@ -16,6 +17,9 @@ export class Embed implements Directive {
|
|
|
16
17
|
if (name[0] === ':')
|
|
17
18
|
return new Header(name.slice(1))
|
|
18
19
|
|
|
20
|
+
if (name.slice(0, 2) === '/:')
|
|
21
|
+
return new Parameter(name.slice(2))
|
|
22
|
+
|
|
19
23
|
assert.ok(name in embeddings, `Unknown embedding: ${name}`)
|
|
20
24
|
|
|
21
25
|
return new embeddings[name]()
|
|
@@ -25,27 +29,29 @@ export class Embed implements Directive {
|
|
|
25
29
|
}
|
|
26
30
|
}
|
|
27
31
|
|
|
28
|
-
public preflight (
|
|
32
|
+
public preflight (context: Input, properties: Properties, parameters: RTD.Parameter[]): void {
|
|
29
33
|
const values: Record<string, unknown> = {}
|
|
30
34
|
|
|
31
35
|
for (const [key, instances] of this.embeddings)
|
|
32
|
-
values[key] = this.resolve(instances,
|
|
36
|
+
values[key] = this.resolve(instances, context, properties, parameters)
|
|
33
37
|
|
|
34
|
-
|
|
38
|
+
context.pipelines.body.push(this.embedding(values))
|
|
35
39
|
}
|
|
36
40
|
|
|
37
|
-
|
|
41
|
+
// eslint-disable-next-line max-params
|
|
42
|
+
private resolve (instances: Embedding[],
|
|
43
|
+
input: Input,
|
|
44
|
+
properties: Properties,
|
|
45
|
+
parameters: RTD.Parameter[]): unknown {
|
|
38
46
|
let value
|
|
39
47
|
|
|
40
48
|
for (const instance of instances) {
|
|
41
|
-
value = instance.resolve(input, properties)
|
|
49
|
+
value = instance.resolve(input, properties, parameters)
|
|
42
50
|
|
|
43
51
|
if (value !== undefined)
|
|
44
52
|
break
|
|
45
53
|
}
|
|
46
54
|
|
|
47
|
-
assert.ok(value !== undefined, 'Neither embedding resolved a value.')
|
|
48
|
-
|
|
49
55
|
return value
|
|
50
56
|
}
|
|
51
57
|
|
|
@@ -3,7 +3,7 @@ import { properties, Property } from './Properties'
|
|
|
3
3
|
import { Embed } from './Embed'
|
|
4
4
|
import type { Properties } from './Properties'
|
|
5
5
|
import type { Directive } from './Directive'
|
|
6
|
-
import type { DirectiveFamily } from '../../RTD'
|
|
6
|
+
import type { DirectiveFamily, Parameter } from '../../RTD'
|
|
7
7
|
import type { Input, Output } from '../../io'
|
|
8
8
|
|
|
9
9
|
export class Vary implements DirectiveFamily {
|
|
@@ -15,11 +15,13 @@ export class Vary implements DirectiveFamily {
|
|
|
15
15
|
() => name in properties, (name: PN) => new Property(name, value as PV),
|
|
16
16
|
() => name in directives, (name: keyof typeof directives) => new directives[name](value),
|
|
17
17
|
() => {
|
|
18
|
-
throw new Error(`
|
|
18
|
+
throw new Error(`Directive 'vary:${name}' is not implemented.`)
|
|
19
19
|
})
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
public preflight (instances: Array<Directive | Property>,
|
|
22
|
+
public preflight (instances: Array<Directive | Property>,
|
|
23
|
+
context: Input,
|
|
24
|
+
parameters: Parameter[]): Output {
|
|
23
25
|
/*
|
|
24
26
|
To stop constructing `properties` object on each request, Directive Families must be refactored
|
|
25
27
|
from singleton factories to per-Node instances on the Tree.
|
|
@@ -34,7 +36,7 @@ export class Vary implements DirectiveFamily {
|
|
|
34
36
|
directives.push(instance)
|
|
35
37
|
|
|
36
38
|
for (const directive of directives)
|
|
37
|
-
directive.preflight(
|
|
39
|
+
directive.preflight(context, properties, parameters)
|
|
38
40
|
|
|
39
41
|
return null
|
|
40
42
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Properties } from '../Properties'
|
|
2
2
|
import type { Input } from '../../../io'
|
|
3
|
+
import type { Parameter } from '../../../RTD'
|
|
3
4
|
|
|
4
5
|
export interface Embedding {
|
|
5
|
-
resolve: (input: Input, properties: Properties) => string | undefined
|
|
6
|
+
resolve: (input: Input, properties: Properties, parameters: Parameter[]) => string | undefined
|
|
6
7
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Embedding } from './Embedding'
|
|
2
|
+
import type * as RTD from '../../../RTD'
|
|
3
|
+
|
|
4
|
+
export class Parameter implements Embedding {
|
|
5
|
+
private readonly name: string
|
|
6
|
+
|
|
7
|
+
public constructor (name: string) {
|
|
8
|
+
this.name = name
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
public resolve (_: unknown, __: unknown, parameters: RTD.Parameter[]): string | undefined {
|
|
12
|
+
return parameters.find((parameter) => parameter.name === this.name)?.value
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Language } from './Language'
|
|
2
|
-
import { Header } from './Header'
|
|
3
|
-
|
|
4
2
|
import type { Embedding } from './Embedding'
|
|
5
3
|
|
|
6
4
|
export const embeddings: Record<string, new () => Embedding> = {
|
|
7
5
|
language: Language
|
|
8
6
|
}
|
|
9
7
|
|
|
10
|
-
export { Header }
|
|
11
8
|
export type { Embedding }
|
|
9
|
+
|
|
10
|
+
export { Header } from './Header'
|
|
11
|
+
export { Parameter } from './Parameter'
|
package/source/exceptions.ts
CHANGED
|
@@ -1,16 +1,23 @@
|
|
|
1
|
-
import { type Exception } from '@toa.io/core'
|
|
2
1
|
import { match } from 'matchacho'
|
|
3
2
|
import * as http from './HTTP'
|
|
3
|
+
import { Exception as HTTPException } from './HTTP'
|
|
4
|
+
import type { Exception } from '@toa.io/core'
|
|
4
5
|
|
|
5
|
-
export function rethrow (exception: Exception): void {
|
|
6
|
-
|
|
6
|
+
export function rethrow (exception: Exception | HTTPException): void {
|
|
7
|
+
if (exception instanceof HTTPException)
|
|
8
|
+
throw exception
|
|
7
9
|
|
|
8
|
-
|
|
10
|
+
// see /runtime/core/src/exceptions.js
|
|
11
|
+
throw match(exception.code,
|
|
9
12
|
badRequest, () => new http.BadRequest(exception.message),
|
|
10
13
|
302, NOT_FOUND,
|
|
11
14
|
303, PRECONDITION_FAILED,
|
|
12
|
-
306, () => new http.Conflict(
|
|
13
|
-
() =>
|
|
15
|
+
306, () => new http.Conflict(),
|
|
16
|
+
() => {
|
|
17
|
+
console.error(exception)
|
|
18
|
+
|
|
19
|
+
return exception
|
|
20
|
+
})
|
|
14
21
|
}
|
|
15
22
|
|
|
16
23
|
function badRequest (code: number): boolean {
|
package/transpiled/Directive.js
CHANGED
|
@@ -70,6 +70,8 @@ exports.shortcuts = new Map([
|
|
|
70
70
|
['id', 'auth:id'],
|
|
71
71
|
['role', 'auth:role'],
|
|
72
72
|
['rule', 'auth:rule'],
|
|
73
|
-
['incept', 'auth:incept']
|
|
73
|
+
['incept', 'auth:incept'],
|
|
74
|
+
['input', 'io:input'],
|
|
75
|
+
['output', 'io:output']
|
|
74
76
|
]);
|
|
75
77
|
//# sourceMappingURL=Directive.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Directive.js","sourceRoot":"","sources":["../source/Directive.ts"],"names":[],"mappings":";;;AAKA,MAAa,UAAU;IACJ,IAAI,CAAoB;IAEzC,YAAoB,IAAwB;QAC1C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAEM,KAAK,CAAC,SAAS,CAAE,OAAgB,EAAE,UAA2B;QACnE,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS;gBACpC,SAAQ;YAEV,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,UAAU,CAAC,CAAA;YAE9E,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;gBAElC,OAAO,MAAM,CAAA;YACf,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAEM,KAAK,CAAC,MAAM,CAAE,OAAgB,EAAE,QAAyB;QAC9D,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI;YACzB,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS;gBACjC,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;IAChE,CAAC;CACF;AA7BD,gCA6BC;AAED,MAAa,iBAAiB;IACX,OAAO,CAAS;IAChB,QAAQ,GAAwC,EAAE,CAAA;IAClD,SAAS,GAAa,EAAE,CAAA;IAEzC,YAAoB,QAA+B,EAAE,OAAgB;QACnE,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAA;YAEnC,IAAI,MAAM,CAAC,SAAS;gBAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACpC,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAEM,MAAM,CAAE,YAAoC;QACjD,MAAM,MAAM,GAAwB,EAAE,CAAA;QACtC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAEzC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACzB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAExE,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;YAEhD,IAAI,MAAM,KAAK,SAAS;gBACtB,MAAM,IAAI,KAAK,CAAC,qBAAqB,WAAW,CAAC,MAAM,iBAAiB,CAAC,CAAA;YAE3E,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;YAElF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;YAC1B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACnC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAC/B,CAAC;QAED,MAAM,IAAI,GAAuB,EAAE,CAAA;QAEnC,KAAK,MAAM,MAAM,IAAI,SAAS;YAC5B,IAAI,CAAC,IAAI,CAAC;gBACR,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC7B,UAAU,EAAE,EAAE;aACf,CAAC,CAAA;QAEJ,KAAK,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;YACvD,IAAI,CAAC,IAAI,CAAC;gBACR,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC7B,UAAU;aACX,CAAC,CAAA;QAEJ,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC;CACF;AApDD,8CAoDC;AAEY,QAAA,SAAS,GAAyB,IAAI,GAAG,CAAC;IACrD,CAAC,WAAW,EAAE,gBAAgB,CAAC;IAC/B,CAAC,IAAI,EAAE,SAAS,CAAC;IACjB,CAAC,MAAM,EAAE,WAAW,CAAC;IACrB,CAAC,MAAM,EAAE,WAAW,CAAC;IACrB,CAAC,QAAQ,EAAE,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"Directive.js","sourceRoot":"","sources":["../source/Directive.ts"],"names":[],"mappings":"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"}
|
package/transpiled/Gateway.js
CHANGED
|
@@ -44,7 +44,7 @@ class Gateway extends core_1.Connector {
|
|
|
44
44
|
return interception;
|
|
45
45
|
const match = this.tree.match(context.url.pathname);
|
|
46
46
|
if (match === null)
|
|
47
|
-
throw new http.NotFound();
|
|
47
|
+
throw new http.NotFound('Route not found');
|
|
48
48
|
const { node, parameters } = match;
|
|
49
49
|
if (!(context.request.method in node.methods))
|
|
50
50
|
throw new http.MethodNotAllowed();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Gateway.js","sourceRoot":"","sources":["../source/Gateway.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAuD;AACvD,6CAA8B;AAC9B,6CAAsC;AAMtC,MAAa,OAAQ,SAAQ,gBAAS;IACnB,SAAS,CAAW;IACpB,IAAI,CAAM;IACV,WAAW,CAAc;IAE1C,YAAoB,SAAoB,EAAE,IAAU,EAAE,YAA0B;QAC9E,KAAK,EAAE,CAAA;QAEP,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,WAAW,GAAG,YAAY,CAAA;QAE/B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IACzB,CAAC;IAEM,KAAK,CAAC,OAAO,CAAE,OAAqB;QACzC,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAC3D,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;QAEtC,IAAI,YAAY,KAAK,IAAI;YACvB,OAAO,YAAY,CAAA;QAErB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAEnD,IAAI,KAAK,KAAK,IAAI;YAChB,MAAM,IAAI,IAAI,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"Gateway.js","sourceRoot":"","sources":["../source/Gateway.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ export declare class NotFound extends ClientError {
|
|
|
18
18
|
constructor(body?: any);
|
|
19
19
|
}
|
|
20
20
|
export declare class Conflict extends ClientError {
|
|
21
|
-
constructor(body
|
|
21
|
+
constructor(body?: any);
|
|
22
22
|
}
|
|
23
23
|
export declare class MethodNotAllowed extends ClientError {
|
|
24
24
|
constructor();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exceptions.js","sourceRoot":"","sources":["../../source/HTTP/exceptions.ts"],"names":[],"mappings":";;;AAAA,MAAa,SAAU,SAAQ,KAAK;IAClB,MAAM,CAAQ;IACd,IAAI,CAAM;IAE1B,YAAuB,MAAc,EAAE,IAAU;QAC/C,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;CACF;AATD,8BASC;AAED,MAAa,WAAY,SAAQ,SAAS;CACzC;AADD,kCACC;AAED,MAAa,UAAW,SAAQ,WAAW;IACzC,YAAoB,IAAU;QAC5B,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAClB,CAAC;CACF;AAJD,gCAIC;AAED,MAAa,YAAa,SAAQ,WAAW;IAC3C,YAAoB,IAAU;QAC5B,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAClB,CAAC;CACF;AAJD,oCAIC;AAED,MAAa,SAAU,SAAQ,WAAW;IACxC,YAAoB,IAAU;QAC5B,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAClB,CAAC;CACF;AAJD,8BAIC;AAED,MAAa,QAAS,SAAQ,WAAW;IACvC,YAAoB,IAAU;QAC5B,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAClB,CAAC;CACF;AAJD,4BAIC;AAED,MAAa,QAAS,SAAQ,WAAW;IACvC,YAAoB,
|
|
1
|
+
{"version":3,"file":"exceptions.js","sourceRoot":"","sources":["../../source/HTTP/exceptions.ts"],"names":[],"mappings":";;;AAAA,MAAa,SAAU,SAAQ,KAAK;IAClB,MAAM,CAAQ;IACd,IAAI,CAAM;IAE1B,YAAuB,MAAc,EAAE,IAAU;QAC/C,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;CACF;AATD,8BASC;AAED,MAAa,WAAY,SAAQ,SAAS;CACzC;AADD,kCACC;AAED,MAAa,UAAW,SAAQ,WAAW;IACzC,YAAoB,IAAU;QAC5B,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAClB,CAAC;CACF;AAJD,gCAIC;AAED,MAAa,YAAa,SAAQ,WAAW;IAC3C,YAAoB,IAAU;QAC5B,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAClB,CAAC;CACF;AAJD,oCAIC;AAED,MAAa,SAAU,SAAQ,WAAW;IACxC,YAAoB,IAAU;QAC5B,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAClB,CAAC;CACF;AAJD,8BAIC;AAED,MAAa,QAAS,SAAQ,WAAW;IACvC,YAAoB,IAAU;QAC5B,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAClB,CAAC;CACF;AAJD,4BAIC;AAED,MAAa,QAAS,SAAQ,WAAW;IACvC,YAAoB,IAAU;QAC5B,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAClB,CAAC;CACF;AAJD,4BAIC;AAED,MAAa,gBAAiB,SAAQ,WAAW;IAC/C;QACE,KAAK,CAAC,GAAG,CAAC,CAAA;IACZ,CAAC;CACF;AAJD,4CAIC;AAED,MAAa,aAAc,SAAQ,WAAW;IAC5C;QACE,KAAK,CAAC,GAAG,CAAC,CAAA;IACZ,CAAC;CACF;AAJD,sCAIC;AAED,MAAa,oBAAqB,SAAQ,WAAW;IACnD;QACE,KAAK,CAAC,GAAG,CAAC,CAAA;IACZ,CAAC;CACF;AAJD,oDAIC;AAED,MAAa,kBAAmB,SAAQ,WAAW;IACjD;QACE,KAAK,CAAC,GAAG,CAAC,CAAA;IACZ,CAAC;CACF;AAJD,gDAIC"}
|
|
@@ -26,7 +26,7 @@ function createRoute(route, context) {
|
|
|
26
26
|
return new Route_1.Route(segments, node);
|
|
27
27
|
}
|
|
28
28
|
function createMethod(method, context) {
|
|
29
|
-
const stack =
|
|
29
|
+
const stack = method.directives.concat(context.directives.stack);
|
|
30
30
|
const directives = context.directives.factory.create(stack);
|
|
31
31
|
const endpoint = method.mapping?.endpoint === undefined
|
|
32
32
|
? null
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../source/RTD/factory.ts"],"names":[],"mappings":";;;AAAA,iCAA8C;AAC9C,mCAA+B;AAC/B,uCAAmC;AACnC,qCAA+C;AAI/C,SAAgB,UAAU,CAAE,IAAiB,EAAE,OAAgB;IAC7D,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI;QACxB,OAAO,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAA;;QAE1C,OAAO,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAE7E,MAAM,MAAM,GAAY,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;IAC/E,MAAM,OAAO,GAAY,EAAE,CAAA;IAE3B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO;QAC/B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAEtD,MAAM,UAAU,GAAe,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,EAAE,CAAA;IAEjF,OAAO,IAAI,WAAI,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAA;AAC9C,CAAC;AAfD,gCAeC;AAED,SAAS,WAAW,CAAE,KAAmB,EAAE,OAAgB;IACzD,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;IAC9C,MAAM,QAAQ,GAAG,IAAA,iBAAO,EAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACpC,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAE5C,OAAO,CAAC,UAAU,CAAC,KAAK,GAAG,KAAK,CAAA,CAAC,UAAU;IAE3C,OAAO,IAAI,aAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;AAClC,CAAC;AAED,SAAS,YAAY,CAAE,MAAqB,EAAE,OAAgB;IAC5D,MAAM,KAAK,GAAG,
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../source/RTD/factory.ts"],"names":[],"mappings":";;;AAAA,iCAA8C;AAC9C,mCAA+B;AAC/B,uCAAmC;AACnC,qCAA+C;AAI/C,SAAgB,UAAU,CAAE,IAAiB,EAAE,OAAgB;IAC7D,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI;QACxB,OAAO,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAA;;QAE1C,OAAO,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAE7E,MAAM,MAAM,GAAY,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;IAC/E,MAAM,OAAO,GAAY,EAAE,CAAA;IAE3B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO;QAC/B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAEtD,MAAM,UAAU,GAAe,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,EAAE,CAAA;IAEjF,OAAO,IAAI,WAAI,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAA;AAC9C,CAAC;AAfD,gCAeC;AAED,SAAS,WAAW,CAAE,KAAmB,EAAE,OAAgB;IACzD,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;IAC9C,MAAM,QAAQ,GAAG,IAAA,iBAAO,EAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACpC,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAE5C,OAAO,CAAC,UAAU,CAAC,KAAK,GAAG,KAAK,CAAA,CAAC,UAAU;IAE3C,OAAO,IAAI,aAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;AAClC,CAAC;AAED,SAAS,YAAY,CAAE,MAAqB,EAAE,OAAgB;IAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAChE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAE3D,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,EAAE,QAAQ,KAAK,SAAS;QACrD,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAE7C,OAAO,IAAI,eAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;AACzC,CAAC"}
|
package/transpiled/Tenant.d.ts
CHANGED
|
@@ -6,7 +6,6 @@ export declare class Tenant extends Connector {
|
|
|
6
6
|
private readonly branch;
|
|
7
7
|
constructor(broadcast: Broadcast, locator: Locator, node: RTD.Node);
|
|
8
8
|
open(): Promise<void>;
|
|
9
|
-
dispose(): Promise<void>;
|
|
10
9
|
private expose;
|
|
11
10
|
}
|
|
12
11
|
type Broadcast = bindings.Broadcast<Label>;
|
package/transpiled/Tenant.js
CHANGED
|
@@ -19,12 +19,6 @@ class Tenant extends core_1.Connector {
|
|
|
19
19
|
async open() {
|
|
20
20
|
await this.expose();
|
|
21
21
|
await this.broadcast.receive('ping', this.expose.bind(this));
|
|
22
|
-
console.info('Exposition Tenant for ' +
|
|
23
|
-
`'${this.branch.namespace}.${this.branch.component}' has started.`);
|
|
24
|
-
}
|
|
25
|
-
async dispose() {
|
|
26
|
-
console.info('Exposition Tenant for ' +
|
|
27
|
-
`'${this.branch.namespace}.${this.branch.component}' has been stopped.`);
|
|
28
22
|
}
|
|
29
23
|
async expose() {
|
|
30
24
|
await this.broadcast.transmit('expose', this.branch);
|
package/transpiled/Tenant.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tenant.js","sourceRoot":"","sources":["../source/Tenant.ts"],"names":[],"mappings":";;;AAAA,uCAAqE;AAKrE,MAAa,MAAO,SAAQ,gBAAS;IAClB,SAAS,CAAW;IACpB,MAAM,CAAQ;IAE/B,YAAoB,SAAoB,EAAE,OAAgB,EAAE,IAAc;QACxE,KAAK,EAAE,CAAA;QAEP,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAE1B,IAAI,CAAC,MAAM,GAAG;YACZ,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,SAAS,EAAE,OAAO,CAAC,IAAI;YACvB,QAAQ,EAAE,OAAO,CAAC,SAAS,KAAK,UAAU;YAC1C,IAAI;SACL,CAAA;QAED,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IACzB,CAAC;IAEe,KAAK,CAAC,IAAI;QACxB,MAAM,IAAI,CAAC,MAAM,EAAE,CAAA;QACnB,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"Tenant.js","sourceRoot":"","sources":["../source/Tenant.ts"],"names":[],"mappings":";;;AAAA,uCAAqE;AAKrE,MAAa,MAAO,SAAQ,gBAAS;IAClB,SAAS,CAAW;IACpB,MAAM,CAAQ;IAE/B,YAAoB,SAAoB,EAAE,OAAgB,EAAE,IAAc;QACxE,KAAK,EAAE,CAAA;QAEP,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAE1B,IAAI,CAAC,MAAM,GAAG;YACZ,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,SAAS,EAAE,OAAO,CAAC,IAAI;YACvB,QAAQ,EAAE,OAAO,CAAC,SAAS,KAAK,UAAU;YAC1C,IAAI;SACL,CAAA;QAED,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IACzB,CAAC;IAEe,KAAK,CAAC,IAAI;QACxB,MAAM,IAAI,CAAC,MAAM,EAAE,CAAA;QACnB,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAC9D,CAAC;IAEO,KAAK,CAAC,MAAM;QAClB,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IACtD,CAAC;CACF;AA3BD,wBA2BC"}
|
|
@@ -49,7 +49,7 @@ class Authorization {
|
|
|
49
49
|
tokens = null;
|
|
50
50
|
bans = null;
|
|
51
51
|
create(name, value, remotes) {
|
|
52
|
-
node_assert_1.default.ok(name in constructors, `Directive '
|
|
52
|
+
node_assert_1.default.ok(name in constructors, `Directive 'auth:${name}' is not implemented.`);
|
|
53
53
|
const Class = constructors[name];
|
|
54
54
|
for (const name of REMOTES)
|
|
55
55
|
this.discovery[name] ??= remotes.discover('identity', name);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Authorization.js","sourceRoot":"","sources":["../../../source/directives/auth/Authorization.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8DAAgC;AAChC,yCAAiC;AACjC,iDAAkC;AAClC,2CAAuC;AACvC,6BAAyB;AACzB,iCAA6B;AAC7B,iCAA6B;AAC7B,qCAAiC;AACjC,iCAA6B;AAC7B,qCAAiC;AACjC,yCAAqC;AACrC,mCAA+B;AAC/B,uCAA8C;AAiB9C,MAAa,aAAa;IACR,OAAO,GAAa,CAAC,MAAM,CAAC,CAAA;IAC5B,IAAI,GAAW,MAAM,CAAA;IACrB,SAAS,GAAY,IAAI,CAAA;IAExB,OAAO,GAAG,EAAwB,CAAA;IAClC,SAAS,GAAG,EAA0B,CAAA;IAC/C,MAAM,GAAqB,IAAI,CAAA;IAC/B,IAAI,GAAqB,IAAI,CAAA;IAE9B,MAAM,CAAE,IAAY,EAAE,KAAU,EAAE,OAAgB;QACvD,qBAAM,CAAC,EAAE,CAAC,IAAI,IAAI,YAAY,EAC5B,
|
|
1
|
+
{"version":3,"file":"Authorization.js","sourceRoot":"","sources":["../../../source/directives/auth/Authorization.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,8 @@ class Delegate {
|
|
|
14
14
|
return true;
|
|
15
15
|
}
|
|
16
16
|
embed(body, identity) {
|
|
17
|
+
if (body === undefined)
|
|
18
|
+
body = {};
|
|
17
19
|
check(body);
|
|
18
20
|
body[this.property] = identity;
|
|
19
21
|
return body;
|
|
@@ -22,6 +24,6 @@ class Delegate {
|
|
|
22
24
|
exports.Delegate = Delegate;
|
|
23
25
|
function check(body) {
|
|
24
26
|
if (typeof body !== 'object' || body === null)
|
|
25
|
-
throw new HTTP_1.BadRequest('Invalid request body
|
|
27
|
+
throw new HTTP_1.BadRequest('Invalid request body');
|
|
26
28
|
}
|
|
27
29
|
//# sourceMappingURL=Delegate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Delegate.js","sourceRoot":"","sources":["../../../source/directives/auth/Delegate.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AAIvC,MAAa,QAAQ;IACF,QAAQ,CAAQ;IAEjC,YAAoB,QAAgB;QAClC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;IAEM,SAAS,CAAE,QAAyB,EAAE,OAAc;QACzD,IAAI,QAAQ,KAAK,IAAI;YACnB,OAAO,KAAK,CAAA;QAEd,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAA;QAEjE,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,KAAK,CAAE,IAAa,EAAE,QAAkB;QAC9C,KAAK,CAAC,IAAI,CAAC,CAAA;QACX,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAA;QAE9B,OAAO,IAAI,CAAA;IACb,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"Delegate.js","sourceRoot":"","sources":["../../../source/directives/auth/Delegate.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AAIvC,MAAa,QAAQ;IACF,QAAQ,CAAQ;IAEjC,YAAoB,QAAgB;QAClC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;IAEM,SAAS,CAAE,QAAyB,EAAE,OAAc;QACzD,IAAI,QAAQ,KAAK,IAAI;YACnB,OAAO,KAAK,CAAA;QAEd,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAA;QAEjE,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,KAAK,CAAE,IAAa,EAAE,QAAkB;QAC9C,IAAI,IAAI,KAAK,SAAS;YACpB,IAAI,GAAG,EAAE,CAAA;QAEX,KAAK,CAAC,IAAI,CAAC,CAAA;QACX,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAA;QAE9B,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAzBD,4BAyBC;AAED,SAAS,KAAK,CAAE,IAAa;IAC3B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;QAC3C,MAAM,IAAI,iBAAU,CAAC,sBAAsB,CAAC,CAAA;AAChD,CAAC"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { type Component } from '@toa.io/core';
|
|
2
2
|
import { type Directive, type Identity } from './types';
|
|
3
|
+
import type { Parameter } from '../../RTD';
|
|
3
4
|
export declare class Role implements Directive {
|
|
4
5
|
static remote: Component | null;
|
|
5
6
|
private readonly roles;
|
|
6
7
|
private readonly discovery;
|
|
8
|
+
private readonly dynamic;
|
|
7
9
|
constructor(roles: string | string[], discovery: Promise<Component>);
|
|
8
10
|
static set(identity: Identity, discovery: Promise<Component>): Promise<void>;
|
|
9
|
-
authorize(identity: Identity | null): Promise<boolean>;
|
|
11
|
+
authorize(identity: Identity | null, _: unknown, parameters: Parameter[]): Promise<boolean>;
|
|
10
12
|
private match;
|
|
13
|
+
private substitute;
|
|
11
14
|
}
|