@pax2pay/model-banking 0.1.220 → 0.1.222
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/Identity.ts +23 -8
- package/Operation/Creatable.ts +2 -2
- package/dist/Identity.d.ts +3 -1
- package/dist/Identity.js +13 -5
- package/dist/Identity.js.map +1 -1
- package/dist/Operation/Creatable.d.ts +1 -1
- package/dist/Operation/Creatable.js +2 -2
- package/dist/Operation/Creatable.js.map +1 -1
- package/package.json +1 -1
package/Identity.ts
CHANGED
|
@@ -3,6 +3,11 @@ import { Key } from "./Key"
|
|
|
3
3
|
import { Realm } from "./Realm"
|
|
4
4
|
|
|
5
5
|
export class Identity {
|
|
6
|
+
#realms: Realm[] | undefined
|
|
7
|
+
get realms(): Realm[] | undefined {
|
|
8
|
+
return (this.#realms ??= Identity.getRealms(this.key.permissions))
|
|
9
|
+
}
|
|
10
|
+
|
|
6
11
|
constructor(readonly key: Key, readonly realm?: Realm, readonly organization?: string) {}
|
|
7
12
|
check(constraint: Key.Permissions, realm?: Realm, organization?: string): boolean {
|
|
8
13
|
return [
|
|
@@ -12,12 +17,7 @@ export class Identity {
|
|
|
12
17
|
{ [`*-*`]: constraint },
|
|
13
18
|
].some(e => userwidgets.User.Permissions.check(this.key.permissions, e))
|
|
14
19
|
}
|
|
15
|
-
|
|
16
|
-
get realms(): Realm[] | undefined {
|
|
17
|
-
return (this.#realms ??= Object.keys(this.key.permissions).flatMap(code =>
|
|
18
|
-
code.split("-")[0] == "*" ? Realm.realms : code.split("-")[0]
|
|
19
|
-
) as Realm[])
|
|
20
|
-
}
|
|
20
|
+
|
|
21
21
|
static async authenticate(
|
|
22
22
|
header: { authorization?: string | undefined; realm?: Realm; organization?: string },
|
|
23
23
|
constraint: Key.Permissions,
|
|
@@ -26,11 +26,26 @@ export class Identity {
|
|
|
26
26
|
const authorization = header.authorization?.startsWith("Bearer ")
|
|
27
27
|
? header.authorization.replace("Bearer ", "")
|
|
28
28
|
: undefined
|
|
29
|
-
const key = await
|
|
29
|
+
const key = await Identity.verify(authorization, verifier)
|
|
30
30
|
const result =
|
|
31
31
|
key &&
|
|
32
32
|
new Identity(key, (key.realm ?? header.realm) as Realm, (key.organization ?? header.organization) as string)
|
|
33
|
-
return result?.check(constraint) ? result : undefined
|
|
33
|
+
return !constraint || result?.check(constraint) ? result : undefined
|
|
34
|
+
}
|
|
35
|
+
static async verify(
|
|
36
|
+
authorization: string | undefined,
|
|
37
|
+
verifier: userwidgets.User.Key.Verifier<Key> = productionVerifier
|
|
38
|
+
): Promise<Key | undefined> {
|
|
39
|
+
return await verifier.verify(authorization)
|
|
40
|
+
}
|
|
41
|
+
static getRealms(permissions: Key.Permissions) {
|
|
42
|
+
return [
|
|
43
|
+
...new Set(
|
|
44
|
+
Object.keys(permissions).flatMap(code =>
|
|
45
|
+
code.split("-")[0] == "*" ? Realm.realms : code.split("-")[0]
|
|
46
|
+
) as Realm[]
|
|
47
|
+
),
|
|
48
|
+
]
|
|
34
49
|
}
|
|
35
50
|
}
|
|
36
51
|
const publicKey =
|
package/Operation/Creatable.ts
CHANGED
package/dist/Identity.d.ts
CHANGED
|
@@ -6,12 +6,14 @@ export declare class Identity {
|
|
|
6
6
|
readonly key: Key;
|
|
7
7
|
readonly realm?: "eu" | "uk" | "test" | "testUK" | "upcheck" | undefined;
|
|
8
8
|
readonly organization?: string | undefined;
|
|
9
|
+
get realms(): Realm[] | undefined;
|
|
9
10
|
constructor(key: Key, realm?: "eu" | "uk" | "test" | "testUK" | "upcheck" | undefined, organization?: string | undefined);
|
|
10
11
|
check(constraint: Key.Permissions, realm?: Realm, organization?: string): boolean;
|
|
11
|
-
get realms(): Realm[] | undefined;
|
|
12
12
|
static authenticate(header: {
|
|
13
13
|
authorization?: string | undefined;
|
|
14
14
|
realm?: Realm;
|
|
15
15
|
organization?: string;
|
|
16
16
|
}, constraint: Key.Permissions, verifier?: userwidgets.User.Key.Verifier<Key>): Promise<Identity | undefined>;
|
|
17
|
+
static verify(authorization: string | undefined, verifier?: userwidgets.User.Key.Verifier<Key>): Promise<Key | undefined>;
|
|
18
|
+
static getRealms(permissions: Key.Permissions): ("eu" | "uk" | "test" | "testUK" | "upcheck")[];
|
|
17
19
|
}
|
package/dist/Identity.js
CHANGED
|
@@ -13,6 +13,9 @@ var _Identity_realms;
|
|
|
13
13
|
import { userwidgets } from "@userwidgets/model";
|
|
14
14
|
import { Realm } from "./Realm";
|
|
15
15
|
export class Identity {
|
|
16
|
+
get realms() {
|
|
17
|
+
return (__classPrivateFieldSet(this, _Identity_realms, __classPrivateFieldGet(this, _Identity_realms, "f") ?? Identity.getRealms(this.key.permissions), "f"));
|
|
18
|
+
}
|
|
16
19
|
constructor(key, realm, organization) {
|
|
17
20
|
this.key = key;
|
|
18
21
|
this.realm = realm;
|
|
@@ -27,17 +30,22 @@ export class Identity {
|
|
|
27
30
|
{ [`*-*`]: constraint },
|
|
28
31
|
].some(e => userwidgets.User.Permissions.check(this.key.permissions, e));
|
|
29
32
|
}
|
|
30
|
-
get realms() {
|
|
31
|
-
return (__classPrivateFieldSet(this, _Identity_realms, __classPrivateFieldGet(this, _Identity_realms, "f") ?? Object.keys(this.key.permissions).flatMap(code => code.split("-")[0] == "*" ? Realm.realms : code.split("-")[0]), "f"));
|
|
32
|
-
}
|
|
33
33
|
static async authenticate(header, constraint, verifier = productionVerifier) {
|
|
34
34
|
const authorization = header.authorization?.startsWith("Bearer ")
|
|
35
35
|
? header.authorization.replace("Bearer ", "")
|
|
36
36
|
: undefined;
|
|
37
|
-
const key = await
|
|
37
|
+
const key = await Identity.verify(authorization, verifier);
|
|
38
38
|
const result = key &&
|
|
39
39
|
new Identity(key, (key.realm ?? header.realm), (key.organization ?? header.organization));
|
|
40
|
-
return result?.check(constraint) ? result : undefined;
|
|
40
|
+
return !constraint || result?.check(constraint) ? result : undefined;
|
|
41
|
+
}
|
|
42
|
+
static async verify(authorization, verifier = productionVerifier) {
|
|
43
|
+
return await verifier.verify(authorization);
|
|
44
|
+
}
|
|
45
|
+
static getRealms(permissions) {
|
|
46
|
+
return [
|
|
47
|
+
...new Set(Object.keys(permissions).flatMap(code => code.split("-")[0] == "*" ? Realm.realms : code.split("-")[0])),
|
|
48
|
+
];
|
|
41
49
|
}
|
|
42
50
|
}
|
|
43
51
|
_Identity_realms = new WeakMap();
|
package/dist/Identity.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Identity.js","sourceRoot":"../","sources":["Identity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAEhD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE/B,MAAM,OAAO,QAAQ;
|
|
1
|
+
{"version":3,"file":"Identity.js","sourceRoot":"../","sources":["Identity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAEhD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE/B,MAAM,OAAO,QAAQ;IAEpB,IAAI,MAAM;QACT,OAAO,CAAC,sGAAiB,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAA,CAAC,CAAA;IACnE,CAAC;IAED,YAAqB,GAAQ,EAAW,KAAa,EAAW,YAAqB;QAAhE,QAAG,GAAH,GAAG,CAAK;QAAW,UAAK,GAAL,KAAK,CAAQ;QAAW,iBAAY,GAAZ,YAAY,CAAS;QALrF,mCAA4B;IAK4D,CAAC;IACzF,KAAK,CAAC,UAA2B,EAAE,KAAa,EAAE,YAAqB;QACtE,OAAO;YACN,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,YAAY,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE;YAC/E,EAAE,CAAC,GAAG,YAAY,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE;YACxD,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,UAAU,EAAE;YAC5C,EAAE,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE;SACvB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAA;IACzE,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,YAAY,CACxB,MAAoF,EACpF,UAA2B,EAC3B,WAA+C,kBAAkB;QAEjE,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,SAAS,CAAC;YAChE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;YAC7C,CAAC,CAAC,SAAS,CAAA;QACZ,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;QAC1D,MAAM,MAAM,GACX,GAAG;YACH,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAU,EAAE,CAAC,GAAG,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAW,CAAC,CAAA;QAC7G,OAAO,CAAC,UAAU,IAAI,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;IACrE,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,MAAM,CAClB,aAAiC,EACjC,WAA+C,kBAAkB;QAEjE,OAAO,MAAM,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;IAC5C,CAAC;IACD,MAAM,CAAC,SAAS,CAAC,WAA4B;QAC5C,OAAO;YACN,GAAG,IAAI,GAAG,CACT,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CACvC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAClD,CACZ;SACD,CAAA;IACF,CAAC;CACD;;AACD,MAAM,SAAS,GACd,kuBAAkuB,CAAA;AACnuB,MAAM,kBAAkB,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAM,SAAS,CAAC,CAAA"}
|
|
@@ -11,7 +11,7 @@ export interface Creatable {
|
|
|
11
11
|
type: Creatable.Type;
|
|
12
12
|
}
|
|
13
13
|
export declare namespace Creatable {
|
|
14
|
-
const types: readonly ["incoming", "finalizeIncoming", "outgoing", "finalizeOutgoing", "authorization", "capture", "refund", "cancel", "remove", "
|
|
14
|
+
const types: readonly ["incoming", "finalizeIncoming", "outgoing", "finalizeOutgoing", "authorization", "capture", "refund", "cancel", "remove", "collect", "manual", "legacy"];
|
|
15
15
|
type Type = typeof types[number];
|
|
16
16
|
const type: isly.object.ExtendableType<Creatable>;
|
|
17
17
|
const is: isly.Type.IsFunction<Creatable>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Creatable.js","sourceRoot":"../","sources":["Operation/Creatable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AASnC,MAAM,KAAW,SAAS,CA0DzB;AA1DD,WAAiB,SAAS;IACZ,eAAK,GAAG;QACpB,UAAU;QACV,kBAAkB;QAClB,UAAU;QACV,kBAAkB;QAClB,eAAe;QACf,SAAS;QACT,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,
|
|
1
|
+
{"version":3,"file":"Creatable.js","sourceRoot":"../","sources":["Operation/Creatable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AASnC,MAAM,KAAW,SAAS,CA0DzB;AA1DD,WAAiB,SAAS;IACZ,eAAK,GAAG;QACpB,UAAU;QACV,kBAAkB;QAClB,UAAU;QACV,kBAAkB;QAClB,eAAe;QACf,SAAS;QACT,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,SAAS;QACT,QAAQ;QACR,QAAQ;KACC,CAAA;IAEG,cAAI,GAAG,IAAI,CAAC,MAAM,CAAY;QAC1C,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACjE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1D,OAAO,EAAE,OAAO,CAAC,IAAI;QACrB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,UAAA,KAAK,CAAC;KACxB,CAAC,CAAA;IACW,YAAE,GAAG,UAAA,IAAI,CAAC,EAAE,CAAA;IACZ,cAAI,GAAG,UAAA,IAAI,CAAC,IAAI,CAAA;IAC7B,SAAgB,UAAU,CAAC,OAAe,EAAE,KAAwC,EAAE,KAAiB;QAGtG,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,MAAM,CAAA;QAC5C,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7D,OAAO;YACN,OAAO,EAAE,OAAO;YAChB,QAAQ;YACR,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACR,MAAM,EAAE;oBACP,IAAI,EAAE,KAAK;oBACX,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,eAAe,EAAE,YAAY,CAAC;oBACnE,MAAM,EAAE,SAAS;iBACjB;gBACD,gBAAgB,EAAE;oBACjB,IAAI,EAAE,KAAK;oBACX,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,eAAe,EAAE,YAAY,CAAC;oBACnE,MAAM,EAAE,SAAS;iBACjB;gBACD,CAAC,OAAO,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;oBAChC,IAAI,EAAE,UAAmB;oBACzB,MAAM,EAAE,YAAY;oBACpB,MAAM,EAAE,SAAkB;iBAC1B;gBACD,CAAC,UAAU,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;oBACnC,IAAI,EAAE,UAAmB;oBACzB,MAAM,EAAE,eAAe;oBACvB,MAAM,EAAE,SAAkB;iBAC1B;aACD;SACD,CAAA;IACF,CAAC;IAjCe,oBAAU,aAiCzB,CAAA;AACF,CAAC,EA1DgB,SAAS,KAAT,SAAS,QA0DzB"}
|