@pax2pay/model-banking 0.1.281 → 0.1.282
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 +7 -2
- package/Key/Permissions.ts +12 -2
- package/dist/Identity.d.ts +1 -1
- package/dist/Identity.js +4 -1
- package/dist/Identity.js.map +1 -1
- package/dist/Key/Permissions.d.ts +21 -1
- package/dist/Key/Permissions.js.map +1 -1
- package/dist/Key/Roles.d.ts +2 -2
- package/package.json +1 -1
package/Identity.ts
CHANGED
|
@@ -25,7 +25,7 @@ export class Identity {
|
|
|
25
25
|
|
|
26
26
|
static async authenticate<T extends Partial<Record<"realm" | "organization", true>> = Record<string, never>>(
|
|
27
27
|
header: { authorization?: string | undefined; realm?: Realm; organization?: string },
|
|
28
|
-
constraint: Key.Permissions,
|
|
28
|
+
constraint: Key.Permissions | Key.Permissions[],
|
|
29
29
|
requires?: T,
|
|
30
30
|
verifier: userwidgets.User.Key.Verifier<Key> = productionVerifier
|
|
31
31
|
): Promise<(keyof T extends keyof Identity ? Required<Pick<Identity, keyof T>> & Identity : Identity) | undefined> {
|
|
@@ -47,7 +47,12 @@ export class Identity {
|
|
|
47
47
|
| (keyof T extends keyof Identity ? Required<Pick<Identity, keyof T>> & Identity : Identity)
|
|
48
48
|
| undefined =>
|
|
49
49
|
(requires?.organization ? !!identity?.organization : true) && (requires?.realm ? Realm.is(identity?.realm) : true)
|
|
50
|
-
return (
|
|
50
|
+
return (
|
|
51
|
+
((Array.isArray(constraint) ? constraint.some(c => identity?.check(c)) : identity?.check(constraint)) &&
|
|
52
|
+
requirement(identity) &&
|
|
53
|
+
identity) ||
|
|
54
|
+
undefined
|
|
55
|
+
)
|
|
51
56
|
}
|
|
52
57
|
static async verify(
|
|
53
58
|
authorization: string | undefined,
|
package/Key/Permissions.ts
CHANGED
|
@@ -17,14 +17,24 @@ export namespace Permissions {
|
|
|
17
17
|
| {
|
|
18
18
|
edit?: true
|
|
19
19
|
view?: true
|
|
20
|
+
customer?: { edit?: true; view?: true } | true
|
|
21
|
+
product?: { edit?: true; view?: true } | true
|
|
22
|
+
fincrime?: { edit?: true; view?: true } | true
|
|
20
23
|
}
|
|
21
24
|
| true
|
|
22
25
|
}
|
|
23
26
|
| true
|
|
24
27
|
transactions?: { create?: true; view?: true; resolve?: true; comment?: true } | true
|
|
25
28
|
cards?: { create?: true; view?: true; change?: true; cancel?: true } | true
|
|
26
|
-
rules?:
|
|
27
|
-
|
|
29
|
+
rules?:
|
|
30
|
+
| {
|
|
31
|
+
edit?: true
|
|
32
|
+
view?: true
|
|
33
|
+
product?: { edit?: true; view?: true } | true
|
|
34
|
+
fincrime?: { edit?: true; view?: true } | true
|
|
35
|
+
}
|
|
36
|
+
| true
|
|
37
|
+
settlements?: { create?: true; view?: true; amend?: true } | true
|
|
28
38
|
treasury?: { rebalance?: true; view?: true } | true
|
|
29
39
|
operations?: { view?: true } | true
|
|
30
40
|
}
|
package/dist/Identity.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ export declare class Identity {
|
|
|
14
14
|
authorization?: string | undefined;
|
|
15
15
|
realm?: Realm;
|
|
16
16
|
organization?: string;
|
|
17
|
-
}, constraint: Key.Permissions, requires?: T, verifier?: userwidgets.User.Key.Verifier<Key>): Promise<(keyof T extends keyof Identity ? Required<Pick<Identity, keyof T>> & Identity : Identity) | undefined>;
|
|
17
|
+
}, constraint: Key.Permissions | Key.Permissions[], requires?: T, verifier?: userwidgets.User.Key.Verifier<Key>): Promise<(keyof T extends keyof Identity ? Required<Pick<Identity, keyof T>> & Identity : Identity) | undefined>;
|
|
18
18
|
static verify(authorization: string | undefined, verifier?: userwidgets.User.Key.Verifier<Key>): Promise<Key | undefined>;
|
|
19
19
|
static getRealms(permissions: Key.Permissions): ("eu" | "uk" | "test" | "testUK" | "upcheck")[];
|
|
20
20
|
}
|
package/dist/Identity.js
CHANGED
|
@@ -42,7 +42,10 @@ export class Identity {
|
|
|
42
42
|
const identity = key &&
|
|
43
43
|
new Identity(key, (realms?.length == 1 ? realms[0] : header.realm), (key.organization ?? header.organization));
|
|
44
44
|
const requirement = (value) => (requires?.organization ? !!identity?.organization : true) && (requires?.realm ? Realm.is(identity?.realm) : true);
|
|
45
|
-
return (
|
|
45
|
+
return (((Array.isArray(constraint) ? constraint.some(c => identity?.check(c)) : identity?.check(constraint)) &&
|
|
46
|
+
requirement(identity) &&
|
|
47
|
+
identity) ||
|
|
48
|
+
undefined);
|
|
46
49
|
}
|
|
47
50
|
static async verify(authorization, verifier = productionVerifier) {
|
|
48
51
|
return await verifier.verify(authorization);
|
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;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;IACD,eAAe,CAAC,UAAkB;QACjC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAC9C,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,KAAK,IAAI,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CACzE,CAAA;IACF,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,YAAY,CACxB,MAAoF,EACpF,
|
|
1
|
+
{"version":3,"file":"Identity.js","sourceRoot":"../","sources":["Identity.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,18 @@ export declare namespace Permissions {
|
|
|
18
18
|
rules?: {
|
|
19
19
|
edit?: true;
|
|
20
20
|
view?: true;
|
|
21
|
+
customer?: {
|
|
22
|
+
edit?: true;
|
|
23
|
+
view?: true;
|
|
24
|
+
} | true;
|
|
25
|
+
product?: {
|
|
26
|
+
edit?: true;
|
|
27
|
+
view?: true;
|
|
28
|
+
} | true;
|
|
29
|
+
fincrime?: {
|
|
30
|
+
edit?: true;
|
|
31
|
+
view?: true;
|
|
32
|
+
} | true;
|
|
21
33
|
} | true;
|
|
22
34
|
} | true;
|
|
23
35
|
transactions?: {
|
|
@@ -35,11 +47,19 @@ export declare namespace Permissions {
|
|
|
35
47
|
rules?: {
|
|
36
48
|
edit?: true;
|
|
37
49
|
view?: true;
|
|
50
|
+
product?: {
|
|
51
|
+
edit?: true;
|
|
52
|
+
view?: true;
|
|
53
|
+
} | true;
|
|
54
|
+
fincrime?: {
|
|
55
|
+
edit?: true;
|
|
56
|
+
view?: true;
|
|
57
|
+
} | true;
|
|
38
58
|
} | true;
|
|
39
59
|
settlements?: {
|
|
40
60
|
create?: true;
|
|
41
61
|
view?: true;
|
|
42
|
-
|
|
62
|
+
amend?: true;
|
|
43
63
|
} | true;
|
|
44
64
|
treasury?: {
|
|
45
65
|
rebalance?: true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Permissions.js","sourceRoot":"../","sources":["Key/Permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAGhD,MAAM,KAAW,WAAW,
|
|
1
|
+
{"version":3,"file":"Permissions.js","sourceRoot":"../","sources":["Key/Permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAGhD,MAAM,KAAW,WAAW,CA2C3B;AA3CD,WAAiB,WAAW;IAC3B,SAAgB,SAAS,CAAC,WAAwB;QACjD,OAAO,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IAC3D,CAAC;IAFe,qBAAS,YAExB,CAAA;AAwCF,CAAC,EA3CgB,WAAW,KAAX,WAAW,QA2C3B"}
|
package/dist/Key/Roles.d.ts
CHANGED
|
@@ -14,8 +14,8 @@ export declare namespace Roles {
|
|
|
14
14
|
type Roles = Partial<Record<Role, true>>;
|
|
15
15
|
type Role = typeof roles[number];
|
|
16
16
|
const roles: readonly ["admin", "fincrime-readonly", "fincrime", "finance", "operations", "support"];
|
|
17
|
-
const type: isly.Type<"operations" | "
|
|
18
|
-
const is: isly.Type.IsFunction<"operations" | "
|
|
17
|
+
const type: isly.Type<"operations" | "fincrime" | "admin" | "fincrime-readonly" | "finance" | "support">;
|
|
18
|
+
const is: isly.Type.IsFunction<"operations" | "fincrime" | "admin" | "fincrime-readonly" | "finance" | "support">;
|
|
19
19
|
const definitions: Record<Role, Permissions.Realm | true>;
|
|
20
20
|
}
|
|
21
21
|
namespace Organization {
|