@pax2pay/model-banking 0.1.179 → 0.1.181

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.
Files changed (43) hide show
  1. package/Identity.ts +27 -0
  2. package/Key/Permissions.ts +32 -0
  3. package/Key/Roles.ts +90 -0
  4. package/Key/index.ts +26 -0
  5. package/Treasury/Account/Category.ts +5 -2
  6. package/Treasury/Account/Creatable.ts +1 -1
  7. package/Treasury/Account/Fetchable.ts +1 -1
  8. package/Treasury/Account/Storable.ts +3 -0
  9. package/Treasury/Account/index.ts +1 -1
  10. package/Treasury/index.ts +2 -0
  11. package/dist/Identity.d.ts +13 -0
  12. package/dist/Identity.js +21 -0
  13. package/dist/Identity.js.map +1 -0
  14. package/dist/Key/Permissions.d.ts +67 -0
  15. package/dist/Key/Permissions.js +2 -0
  16. package/dist/Key/Permissions.js.map +1 -0
  17. package/dist/Key/Roles.d.ts +24 -0
  18. package/dist/Key/Roles.js +78 -0
  19. package/dist/Key/Roles.js.map +1 -0
  20. package/dist/Key/index.d.ts +25 -0
  21. package/dist/Key/index.js +6 -0
  22. package/dist/Key/index.js.map +1 -0
  23. package/dist/Treasury/Account/Category.d.ts +4 -2
  24. package/dist/Treasury/Account/Category.js +3 -1
  25. package/dist/Treasury/Account/Category.js.map +1 -1
  26. package/dist/Treasury/Account/Creatable.js +1 -1
  27. package/dist/Treasury/Account/Creatable.js.map +1 -1
  28. package/dist/Treasury/Account/Fetchable.js +1 -1
  29. package/dist/Treasury/Account/Fetchable.js.map +1 -1
  30. package/dist/Treasury/Account/Storable.d.ts +2 -0
  31. package/dist/Treasury/Account/Storable.js +2 -0
  32. package/dist/Treasury/Account/Storable.js.map +1 -1
  33. package/dist/Treasury/Account/index.js +1 -1
  34. package/dist/Treasury/Account/index.js.map +1 -1
  35. package/dist/Treasury/index.d.ts +2 -0
  36. package/dist/Treasury/index.js +1 -0
  37. package/dist/Treasury/index.js.map +1 -1
  38. package/dist/pax2pay.d.ts +2 -0
  39. package/dist/pax2pay.js +2 -0
  40. package/dist/pax2pay.js.map +1 -1
  41. package/package.json +1 -1
  42. package/pax2pay.ts +2 -0
  43. package/tsconfig.json +1 -1
package/Identity.ts ADDED
@@ -0,0 +1,27 @@
1
+ import { userwidgets } from "@userwidgets/model"
2
+ import { Key } from "./Key"
3
+ import { Realm } from "./Realm"
4
+
5
+ export class Identity {
6
+ constructor(readonly key: Key) {}
7
+ check(constraint: Key.Permissions, realm?: Realm, organization?: string) {
8
+ return [
9
+ { [`${this.key.realm ?? realm}-${this.key.organization ?? organization}`]: constraint },
10
+ { [`${this.key.realm ?? realm}-*`]: constraint },
11
+ { [`*-*`]: constraint },
12
+ ].some(e => userwidgets.User.Permissions.check(this.key.permissions, e))
13
+ }
14
+
15
+ static async authenticate(
16
+ header: { authorization?: string | undefined; realm?: Realm; organization?: string },
17
+ constraint: Key.Permissions,
18
+ verifier: userwidgets.User.Key.Verifier<Key> = productionVerifier
19
+ ): Promise<Identity | undefined> {
20
+ const key: Key | undefined = await verifier.verify(header.authorization)
21
+ const result = key && new Identity(key)
22
+ return result?.check(constraint, header.realm, header.organization) ? result : undefined
23
+ }
24
+ }
25
+ const publicKey =
26
+ "MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtEHMQ+myaJa+0MvItYX936J78rgykGpMaf7qeQ+UENauyjzAJIPGyjMMim/t1cdnhf4a4i8v4EaQMyQXcOheIyZDs6ps7s5HDqvq9WrPVevP6N8QiFT1n5WKyMakzVtDSh6wva9PTihFoRQcZEvaio9fUXNLT0qxiB6bmwXMA+oGuVWCymqLcOY3ZLbKBYt1symO9YSpTR1jaUiGtzWtaYZ2QrWZ25LimhVkgv1ewgtMx9ybH/MiRvL29u8tttvVdFoAgABP+LHJrUQG0ykWopgNQHoWNUusqplSinHJy1avgG/xH2g8wiGR8byBsnEITq6qk3ShTV/pZfHo2ckvQzYaL17/sU4+G1lscJNoB0nQkwgTopCWbBHjxV9xNyM3CbQbdo113QcqXKlNWxeUUEVttIat+zZhcr43JZPvTfHxzLLVnsT7d9FTgsJpiolOirCJ4uW4YUKmngTNWV1dkjhe5cFAX346YcwdO0oDUcWdiGg1zD739HDsMZy9s8CPcRWHZlYntVfELqoILlaO3GEaGaY3dEV2TgWOwYwIWgTTfXWC+LO+ybxafb/DyHKmPZMhox2mITuodigNtRrfhLk2xVYQjeBpQd++nbChj2GLeGCOaLAqq2ZpVOEMgG9jHpUiGeqhk81D4YCRJvy0ubRVg/oqrfUTQtnFiURQy4UCAwEAAQ=="
27
+ const productionVerifier = userwidgets.User.Key.Verifier.create<Key>(publicKey)
@@ -0,0 +1,32 @@
1
+ import { userwidgets } from "@userwidgets/model"
2
+
3
+ export type Permissions = Permissions.Organization | Permissions.Realm
4
+ export namespace Permissions {
5
+ export interface Realm extends userwidgets.User.Permissions {
6
+ organizations?:
7
+ | {
8
+ create?: true
9
+ view?: true
10
+ accounts?: { balance?: true; view?: true; create?: true; change?: true; cancel?: true } | true
11
+ rules?:
12
+ | {
13
+ edit?: true
14
+ view?: true
15
+ }
16
+ | true
17
+ }
18
+ | true
19
+ transactions?: { create?: true; view?: true; resolve?: true; comment?: true } | true
20
+ cards?: { create?: true; view?: true; change?: true; cancel?: true } | true
21
+ rules?: { edit?: true; view?: true } | true
22
+ settlements?: { create?: true; view?: true; ammend?: true } | true
23
+ treasury?: { rebalance?: true; view?: true } | true
24
+ operations?: { view?: true } | true
25
+ }
26
+ export interface Organization extends userwidgets.User.Permissions {
27
+ accounts?:
28
+ | { balance?: true; view?: true; create?: true; change?: true; transactions?: { view?: true; create?: true } }
29
+ | true
30
+ cards?: { create?: true; view?: true; change?: true; cancel?: true } | true
31
+ }
32
+ }
package/Key/Roles.ts ADDED
@@ -0,0 +1,90 @@
1
+ import { userwidgets } from "@userwidgets/model"
2
+ import { isly } from "isly"
3
+ import { Realm } from "../Realm"
4
+ import { Permissions } from "./Permissions"
5
+
6
+ type OrganizationCode = string
7
+ export type Roles =
8
+ | Partial<Record<`${Realm | "*"}-*`, (Roles.Realm.Role | Roles.Organization.Role)[]>>
9
+ | Partial<Record<`${Realm | "*"}-${OrganizationCode}`, Roles.Organization.Role[]>>
10
+ export namespace Roles {
11
+ export type Role = Realm.Role | Organization.Role
12
+ export function resolve(roles: Roles): Permissions {
13
+ let result = {}
14
+ for (const [key, role] of Object.entries(roles)) {
15
+ const [, organizationCode] = key.split("-")
16
+ result =
17
+ role?.reduce(
18
+ (r, role) =>
19
+ userwidgets.User.Permissions.merge(r, {
20
+ [key]:
21
+ organizationCode == "*" && Realm.is(role)
22
+ ? Realm.definitions[role]
23
+ : Organization.definitions[role as Organization.Role],
24
+ }),
25
+ result
26
+ ) ?? result
27
+ }
28
+ return result
29
+ }
30
+ export namespace Realm {
31
+ export type Roles = Partial<Record<Role, true>>
32
+ export type Role = typeof roles[number]
33
+ export const roles = ["admin", "fincrime-readonly", "fincrime", "finance", "support"] as const
34
+ export const type = isly.string(roles)
35
+ export const is = type.is
36
+ export const definitions: Record<Role, Permissions.Realm | true> = {
37
+ admin: true,
38
+ "fincrime-readonly": {
39
+ organizations: {
40
+ view: true,
41
+ accounts: { view: true },
42
+ rules: { view: true },
43
+ },
44
+ transactions: { view: true },
45
+ cards: { view: true },
46
+ rules: { view: true },
47
+ },
48
+ fincrime: {
49
+ organizations: {
50
+ view: true,
51
+ accounts: { balance: true, view: true },
52
+ rules: true,
53
+ },
54
+ transactions: { view: true, resolve: true, comment: true },
55
+ cards: { view: true, cancel: true },
56
+ rules: true,
57
+ },
58
+ finance: {
59
+ treasury: { rebalance: true, view: true },
60
+ settlements: { view: true },
61
+ },
62
+ support: {
63
+ organizations: {
64
+ create: true,
65
+ view: true,
66
+ accounts: true,
67
+ rules: {
68
+ view: true,
69
+ },
70
+ },
71
+ transactions: { view: true },
72
+ cards: { view: true, cancel: true },
73
+ rules: { view: true },
74
+ },
75
+ }
76
+ }
77
+ export namespace Organization {
78
+ export type Roles = Partial<Record<Role, true>>
79
+ export type Role = typeof roles[number]
80
+ export const roles = ["admin", "finance", "payments"] as const
81
+ export const definitions: Record<Role, Permissions.Organization | true> = {
82
+ admin: true,
83
+ finance: {
84
+ accounts: { balance: true, view: true, transactions: { view: true, create: true } },
85
+ cards: true,
86
+ },
87
+ payments: { cards: true, accounts: { view: true, transactions: { create: true } } },
88
+ }
89
+ }
90
+ }
package/Key/index.ts ADDED
@@ -0,0 +1,26 @@
1
+ import { userwidgets } from "@userwidgets/model"
2
+ import { Realm } from "../Realm"
3
+ import { Permissions as KeyPermissions } from "./Permissions"
4
+ import { Roles as KeyRoles } from "./Roles"
5
+
6
+ type Claims = {
7
+ organization: string
8
+ realm: Realm
9
+ }
10
+
11
+ export type Key = userwidgets.User.Key<userwidgets.User.Key.Creatable.Claims | Claims, Key.Permissions>
12
+ export namespace Key {
13
+ export type Permissions = KeyPermissions
14
+ export namespace Permissions {
15
+ export type Realm = KeyPermissions.Realm
16
+ export type Organization = KeyPermissions.Organization
17
+ }
18
+ export type Roles = KeyRoles
19
+ export const Roles = KeyRoles
20
+ export namespace Roles {
21
+ export type Role = KeyRoles.Role
22
+ export namespace Organization {
23
+ export type Role = KeyRoles.Organization.Role
24
+ }
25
+ }
26
+ }
@@ -1,4 +1,7 @@
1
- export type Category = typeof Category.type[number]
1
+ import { isly } from "isly"
2
+
3
+ export type Category = typeof Category.name[number]
2
4
  export namespace Category {
3
- export const type = ["safeguarded", "unsafe", "buffer", "other", "external"] as const
5
+ export const name = ["safeguarded", "unsafe", "buffer", "other", "external"] as const
6
+ export const type = isly.string(name)
4
7
  }
@@ -20,7 +20,7 @@ export namespace Creatable {
20
20
  realm: isly.fromIs("realm", Realm.is),
21
21
  supplier: isly.fromIs("supplier", Supplier.is),
22
22
  currencies: isly.fromIs("Account.Creatable.currencies", isoly.Currency.is).array(),
23
- type: isly.string(Category.type),
23
+ type: Category.type,
24
24
  conditions: Conditions.type.optional(),
25
25
  })
26
26
  export const is = type.is
@@ -21,7 +21,7 @@ export namespace Fetchable {
21
21
  supplier: isly.fromIs("supplier", Supplier.is),
22
22
  reference: isly.string(),
23
23
  currencies: isly.fromIs("Account.Fetchable.currencies", isoly.Currency.is).array(),
24
- type: isly.string(Category.type),
24
+ type: Category.type,
25
25
  rail: isly.fromIs("Account.Fetchable.rail", Rail.is).array(),
26
26
  balance: isly.fromIs("Account.Fetchable.rail", Balance.is),
27
27
  })
@@ -3,6 +3,7 @@ import { isoly } from "isoly"
3
3
  import { isly } from "isly"
4
4
  import { Realm } from "../../Realm"
5
5
  import { Supplier } from "../../Supplier"
6
+ import { Category } from "./Category"
6
7
  import { Conditions } from "./Conditions"
7
8
 
8
9
  export interface Storable {
@@ -10,6 +11,7 @@ export interface Storable {
10
11
  created: isoly.DateTime
11
12
  realm: Realm
12
13
  supplier: Supplier
14
+ type: Category
13
15
  reference: string
14
16
  conditions?: Conditions
15
17
  }
@@ -20,6 +22,7 @@ export namespace Storable {
20
22
  created: isly.fromIs("Treasury.Account.Storable", isoly.DateTime.is),
21
23
  realm: isly.fromIs("realm", Realm.is),
22
24
  supplier: isly.fromIs("supplier", Supplier.is),
25
+ type: Category.type,
23
26
  reference: isly.string(),
24
27
  conditions: Conditions.type.optional(),
25
28
  })
@@ -34,7 +34,7 @@ export namespace Account {
34
34
  supplier: isly.fromIs("supplier", Supplier.is),
35
35
  reference: isly.string(),
36
36
  currencies: isly.fromIs("Treasury.Account.currencies", isoly.Currency.is).array(),
37
- type: isly.string(AccountCategory.type),
37
+ type: AccountCategory.type,
38
38
  conditions: AccountConditions.type,
39
39
  rail: isly.fromIs("Treasury.Account.rail", Rail.is).array(),
40
40
  balance: isly.fromIs("Treasury.Account.balance", Balance.is),
package/Treasury/index.ts CHANGED
@@ -28,6 +28,8 @@ export namespace Treasury {
28
28
  export const Fetchable = TreasuryAccount.Fetchable
29
29
  export type Conditions = TreasuryAccount.Conditions
30
30
  export const Conditions = TreasuryAccount.Conditions
31
+ export type Category = TreasuryAccount.Category
32
+ export const Category = TreasuryAccount.Category
31
33
  export const is = TreasuryAccount.is
32
34
  }
33
35
  }
@@ -0,0 +1,13 @@
1
+ import { userwidgets } from "@userwidgets/model";
2
+ import { Key } from "./Key";
3
+ import { Realm } from "./Realm";
4
+ export declare class Identity {
5
+ readonly key: Key;
6
+ constructor(key: Key);
7
+ check(constraint: Key.Permissions, realm?: Realm, organization?: string): boolean;
8
+ static authenticate(header: {
9
+ authorization?: string | undefined;
10
+ realm?: Realm;
11
+ organization?: string;
12
+ }, constraint: Key.Permissions, verifier?: userwidgets.User.Key.Verifier<Key>): Promise<Identity | undefined>;
13
+ }
@@ -0,0 +1,21 @@
1
+ import { userwidgets } from "@userwidgets/model";
2
+ export class Identity {
3
+ constructor(key) {
4
+ this.key = key;
5
+ }
6
+ check(constraint, realm, organization) {
7
+ return [
8
+ { [`${this.key.realm ?? realm}-${this.key.organization ?? organization}`]: constraint },
9
+ { [`${this.key.realm ?? realm}-*`]: constraint },
10
+ { [`*-*`]: constraint },
11
+ ].some(e => userwidgets.User.Permissions.check(this.key.permissions, e));
12
+ }
13
+ static async authenticate(header, constraint, verifier = productionVerifier) {
14
+ const key = await verifier.verify(header.authorization);
15
+ const result = key && new Identity(key);
16
+ return result?.check(constraint, header.realm, header.organization) ? result : undefined;
17
+ }
18
+ }
19
+ const publicKey = "MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtEHMQ+myaJa+0MvItYX936J78rgykGpMaf7qeQ+UENauyjzAJIPGyjMMim/t1cdnhf4a4i8v4EaQMyQXcOheIyZDs6ps7s5HDqvq9WrPVevP6N8QiFT1n5WKyMakzVtDSh6wva9PTihFoRQcZEvaio9fUXNLT0qxiB6bmwXMA+oGuVWCymqLcOY3ZLbKBYt1symO9YSpTR1jaUiGtzWtaYZ2QrWZ25LimhVkgv1ewgtMx9ybH/MiRvL29u8tttvVdFoAgABP+LHJrUQG0ykWopgNQHoWNUusqplSinHJy1avgG/xH2g8wiGR8byBsnEITq6qk3ShTV/pZfHo2ckvQzYaL17/sU4+G1lscJNoB0nQkwgTopCWbBHjxV9xNyM3CbQbdo113QcqXKlNWxeUUEVttIat+zZhcr43JZPvTfHxzLLVnsT7d9FTgsJpiolOirCJ4uW4YUKmngTNWV1dkjhe5cFAX346YcwdO0oDUcWdiGg1zD739HDsMZy9s8CPcRWHZlYntVfELqoILlaO3GEaGaY3dEV2TgWOwYwIWgTTfXWC+LO+ybxafb/DyHKmPZMhox2mITuodigNtRrfhLk2xVYQjeBpQd++nbChj2GLeGCOaLAqq2ZpVOEMgG9jHpUiGeqhk81D4YCRJvy0ubRVg/oqrfUTQtnFiURQy4UCAwEAAQ==";
20
+ const productionVerifier = userwidgets.User.Key.Verifier.create(publicKey);
21
+ //# sourceMappingURL=Identity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Identity.js","sourceRoot":"../","sources":["Identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAIhD,MAAM,OAAO,QAAQ;IACpB,YAAqB,GAAQ;QAAR,QAAG,GAAH,GAAG,CAAK;IAAG,CAAC;IACjC,KAAK,CAAC,UAA2B,EAAE,KAAa,EAAE,YAAqB;QACtE,OAAO;YACN,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE;YACvF,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,IAAI,CAAC,EAAE,UAAU,EAAE;YAChD,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,GAAG,GAAoB,MAAM,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QACxE,MAAM,MAAM,GAAG,GAAG,IAAI,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAA;QACvC,OAAO,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;IACzF,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"}
@@ -0,0 +1,67 @@
1
+ import { userwidgets } from "@userwidgets/model";
2
+ export type Permissions = Permissions.Organization | Permissions.Realm;
3
+ export declare namespace Permissions {
4
+ interface Realm extends userwidgets.User.Permissions {
5
+ organizations?: {
6
+ create?: true;
7
+ view?: true;
8
+ accounts?: {
9
+ balance?: true;
10
+ view?: true;
11
+ create?: true;
12
+ change?: true;
13
+ cancel?: true;
14
+ } | true;
15
+ rules?: {
16
+ edit?: true;
17
+ view?: true;
18
+ } | true;
19
+ } | true;
20
+ transactions?: {
21
+ create?: true;
22
+ view?: true;
23
+ resolve?: true;
24
+ comment?: true;
25
+ } | true;
26
+ cards?: {
27
+ create?: true;
28
+ view?: true;
29
+ change?: true;
30
+ cancel?: true;
31
+ } | true;
32
+ rules?: {
33
+ edit?: true;
34
+ view?: true;
35
+ } | true;
36
+ settlements?: {
37
+ create?: true;
38
+ view?: true;
39
+ ammend?: true;
40
+ } | true;
41
+ treasury?: {
42
+ rebalance?: true;
43
+ view?: true;
44
+ } | true;
45
+ operations?: {
46
+ view?: true;
47
+ } | true;
48
+ }
49
+ interface Organization extends userwidgets.User.Permissions {
50
+ accounts?: {
51
+ balance?: true;
52
+ view?: true;
53
+ create?: true;
54
+ change?: true;
55
+ transactions?: {
56
+ view?: true;
57
+ create?: true;
58
+ };
59
+ } | true;
60
+ cards?: {
61
+ create?: true;
62
+ view?: true;
63
+ change?: true;
64
+ cancel?: true;
65
+ } | true;
66
+ }
67
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Permissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Permissions.js","sourceRoot":"../","sources":["Key/Permissions.ts"],"names":[],"mappings":""}
@@ -0,0 +1,24 @@
1
+ import { isly } from "isly";
2
+ import { Realm } from "../Realm";
3
+ import { Permissions } from "./Permissions";
4
+ type OrganizationCode = string;
5
+ export type Roles = Partial<Record<`${Realm | "*"}-*`, (Roles.Realm.Role | Roles.Organization.Role)[]>> | Partial<Record<`${Realm | "*"}-${OrganizationCode}`, Roles.Organization.Role[]>>;
6
+ export declare namespace Roles {
7
+ type Role = Realm.Role | Organization.Role;
8
+ function resolve(roles: Roles): Permissions;
9
+ namespace Realm {
10
+ type Roles = Partial<Record<Role, true>>;
11
+ type Role = typeof roles[number];
12
+ const roles: readonly ["admin", "fincrime-readonly", "fincrime", "finance", "support"];
13
+ const type: isly.Type<"admin" | "fincrime-readonly" | "fincrime" | "finance" | "support">;
14
+ const is: isly.Type.IsFunction<"admin" | "fincrime-readonly" | "fincrime" | "finance" | "support">;
15
+ const definitions: Record<Role, Permissions.Realm | true>;
16
+ }
17
+ namespace Organization {
18
+ type Roles = Partial<Record<Role, true>>;
19
+ type Role = typeof roles[number];
20
+ const roles: readonly ["admin", "finance", "payments"];
21
+ const definitions: Record<Role, Permissions.Organization | true>;
22
+ }
23
+ }
24
+ export {};
@@ -0,0 +1,78 @@
1
+ import { userwidgets } from "@userwidgets/model";
2
+ import { isly } from "isly";
3
+ export var Roles;
4
+ (function (Roles) {
5
+ function resolve(roles) {
6
+ let result = {};
7
+ for (const [key, role] of Object.entries(roles)) {
8
+ const [, organizationCode] = key.split("-");
9
+ result =
10
+ role?.reduce((r, role) => userwidgets.User.Permissions.merge(r, {
11
+ [key]: organizationCode == "*" && Realm.is(role)
12
+ ? Realm.definitions[role]
13
+ : Organization.definitions[role],
14
+ }), result) ?? result;
15
+ }
16
+ return result;
17
+ }
18
+ Roles.resolve = resolve;
19
+ let Realm;
20
+ (function (Realm) {
21
+ Realm.roles = ["admin", "fincrime-readonly", "fincrime", "finance", "support"];
22
+ Realm.type = isly.string(Realm.roles);
23
+ Realm.is = Realm.type.is;
24
+ Realm.definitions = {
25
+ admin: true,
26
+ "fincrime-readonly": {
27
+ organizations: {
28
+ view: true,
29
+ accounts: { view: true },
30
+ rules: { view: true },
31
+ },
32
+ transactions: { view: true },
33
+ cards: { view: true },
34
+ rules: { view: true },
35
+ },
36
+ fincrime: {
37
+ organizations: {
38
+ view: true,
39
+ accounts: { balance: true, view: true },
40
+ rules: true,
41
+ },
42
+ transactions: { view: true, resolve: true, comment: true },
43
+ cards: { view: true, cancel: true },
44
+ rules: true,
45
+ },
46
+ finance: {
47
+ treasury: { rebalance: true, view: true },
48
+ settlements: { view: true },
49
+ },
50
+ support: {
51
+ organizations: {
52
+ create: true,
53
+ view: true,
54
+ accounts: true,
55
+ rules: {
56
+ view: true,
57
+ },
58
+ },
59
+ transactions: { view: true },
60
+ cards: { view: true, cancel: true },
61
+ rules: { view: true },
62
+ },
63
+ };
64
+ })(Realm = Roles.Realm || (Roles.Realm = {}));
65
+ let Organization;
66
+ (function (Organization) {
67
+ Organization.roles = ["admin", "finance", "payments"];
68
+ Organization.definitions = {
69
+ admin: true,
70
+ finance: {
71
+ accounts: { balance: true, view: true, transactions: { view: true, create: true } },
72
+ cards: true,
73
+ },
74
+ payments: { cards: true, accounts: { view: true, transactions: { create: true } } },
75
+ };
76
+ })(Organization = Roles.Organization || (Roles.Organization = {}));
77
+ })(Roles || (Roles = {}));
78
+ //# sourceMappingURL=Roles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Roles.js","sourceRoot":"../","sources":["Key/Roles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { userwidgets } from "@userwidgets/model";
2
+ import { Realm } from "../Realm";
3
+ import { Permissions as KeyPermissions } from "./Permissions";
4
+ import { Roles as KeyRoles } from "./Roles";
5
+ type Claims = {
6
+ organization: string;
7
+ realm: Realm;
8
+ };
9
+ export type Key = userwidgets.User.Key<userwidgets.User.Key.Creatable.Claims | Claims, Key.Permissions>;
10
+ export declare namespace Key {
11
+ type Permissions = KeyPermissions;
12
+ namespace Permissions {
13
+ type Realm = KeyPermissions.Realm;
14
+ type Organization = KeyPermissions.Organization;
15
+ }
16
+ type Roles = KeyRoles;
17
+ const Roles: typeof KeyRoles;
18
+ namespace Roles {
19
+ type Role = KeyRoles.Role;
20
+ namespace Organization {
21
+ type Role = KeyRoles.Organization.Role;
22
+ }
23
+ }
24
+ }
25
+ export {};
@@ -0,0 +1,6 @@
1
+ import { Roles as KeyRoles } from "./Roles";
2
+ export var Key;
3
+ (function (Key) {
4
+ Key.Roles = KeyRoles;
5
+ })(Key || (Key = {}));
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"../","sources":["Key/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,SAAS,CAAA;AAQ3C,MAAM,KAAW,GAAG,CAcnB;AAdD,WAAiB,GAAG;IAON,SAAK,GAAG,QAAQ,CAAA;AAO9B,CAAC,EAdgB,GAAG,KAAH,GAAG,QAcnB"}
@@ -1,4 +1,6 @@
1
- export type Category = typeof Category.type[number];
1
+ import { isly } from "isly";
2
+ export type Category = typeof Category.name[number];
2
3
  export declare namespace Category {
3
- const type: readonly ["safeguarded", "unsafe", "buffer", "other", "external"];
4
+ const name: readonly ["safeguarded", "unsafe", "buffer", "other", "external"];
5
+ const type: isly.Type<"buffer" | "other" | "safeguarded" | "unsafe" | "external">;
4
6
  }
@@ -1,5 +1,7 @@
1
+ import { isly } from "isly";
1
2
  export var Category;
2
3
  (function (Category) {
3
- Category.type = ["safeguarded", "unsafe", "buffer", "other", "external"];
4
+ Category.name = ["safeguarded", "unsafe", "buffer", "other", "external"];
5
+ Category.type = isly.string(Category.name);
4
6
  })(Category || (Category = {}));
5
7
  //# sourceMappingURL=Category.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Category.js","sourceRoot":"../","sources":["Treasury/Account/Category.ts"],"names":[],"mappings":"AACA,MAAM,KAAW,QAAQ,CAExB;AAFD,WAAiB,QAAQ;IACX,aAAI,GAAG,CAAC,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAU,CAAA;AACtF,CAAC,EAFgB,QAAQ,KAAR,QAAQ,QAExB"}
1
+ {"version":3,"file":"Category.js","sourceRoot":"../","sources":["Treasury/Account/Category.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,MAAM,KAAW,QAAQ,CAGxB;AAHD,WAAiB,QAAQ;IACX,aAAI,GAAG,CAAC,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAU,CAAA;IACxE,aAAI,GAAG,IAAI,CAAC,MAAM,CAAC,SAAA,IAAI,CAAC,CAAA;AACtC,CAAC,EAHgB,QAAQ,KAAR,QAAQ,QAGxB"}
@@ -11,7 +11,7 @@ export var Creatable;
11
11
  realm: isly.fromIs("realm", Realm.is),
12
12
  supplier: isly.fromIs("supplier", Supplier.is),
13
13
  currencies: isly.fromIs("Account.Creatable.currencies", isoly.Currency.is).array(),
14
- type: isly.string(Category.type),
14
+ type: Category.type,
15
15
  conditions: Conditions.type.optional(),
16
16
  });
17
17
  Creatable.is = Creatable.type.is;
@@ -1 +1 @@
1
- {"version":3,"file":"Creatable.js","sourceRoot":"../","sources":["Treasury/Account/Creatable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAWzC,MAAM,KAAW,SAAS,CAWzB;AAXD,WAAiB,SAAS;IACZ,cAAI,GAAG,IAAI,CAAC,MAAM,CAAY;QAC1C,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;QACnB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;QACrC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC9C,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,8BAA8B,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE;QAClF,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAChC,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE;KACtC,CAAC,CAAA;IACW,YAAE,GAAG,UAAA,IAAI,CAAC,EAAE,CAAA;IACZ,cAAI,GAAG,UAAA,IAAI,CAAC,IAAI,CAAA;AAC9B,CAAC,EAXgB,SAAS,KAAT,SAAS,QAWzB"}
1
+ {"version":3,"file":"Creatable.js","sourceRoot":"../","sources":["Treasury/Account/Creatable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAWzC,MAAM,KAAW,SAAS,CAWzB;AAXD,WAAiB,SAAS;IACZ,cAAI,GAAG,IAAI,CAAC,MAAM,CAAY;QAC1C,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;QACnB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;QACrC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC9C,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,8BAA8B,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE;QAClF,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE;KACtC,CAAC,CAAA;IACW,YAAE,GAAG,UAAA,IAAI,CAAC,EAAE,CAAA;IACZ,cAAI,GAAG,UAAA,IAAI,CAAC,IAAI,CAAA;AAC9B,CAAC,EAXgB,SAAS,KAAT,SAAS,QAWzB"}
@@ -11,7 +11,7 @@ export var Fetchable;
11
11
  supplier: isly.fromIs("supplier", Supplier.is),
12
12
  reference: isly.string(),
13
13
  currencies: isly.fromIs("Account.Fetchable.currencies", isoly.Currency.is).array(),
14
- type: isly.string(Category.type),
14
+ type: Category.type,
15
15
  rail: isly.fromIs("Account.Fetchable.rail", Rail.is).array(),
16
16
  balance: isly.fromIs("Account.Fetchable.rail", Balance.is),
17
17
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Fetchable.js","sourceRoot":"../","sources":["Treasury/Account/Fetchable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAYrC,MAAM,KAAW,SAAS,CAYzB;AAZD,WAAiB,SAAS;IACZ,cAAI,GAAG,IAAI,CAAC,MAAM,CAAY;QAC1C,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;QACnB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC9C,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE;QACxB,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,8BAA8B,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE;QAClF,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAChC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,wBAAwB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE;QAC5D,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,wBAAwB,EAAE,OAAO,CAAC,EAAE,CAAC;KAC1D,CAAC,CAAA;IACW,YAAE,GAAG,UAAA,IAAI,CAAC,EAAE,CAAA;IACZ,cAAI,GAAG,UAAA,IAAI,CAAC,IAAI,CAAA;AAC9B,CAAC,EAZgB,SAAS,KAAT,SAAS,QAYzB"}
1
+ {"version":3,"file":"Fetchable.js","sourceRoot":"../","sources":["Treasury/Account/Fetchable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAYrC,MAAM,KAAW,SAAS,CAYzB;AAZD,WAAiB,SAAS;IACZ,cAAI,GAAG,IAAI,CAAC,MAAM,CAAY;QAC1C,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;QACnB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC9C,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE;QACxB,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,8BAA8B,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE;QAClF,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,wBAAwB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE;QAC5D,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,wBAAwB,EAAE,OAAO,CAAC,EAAE,CAAC;KAC1D,CAAC,CAAA;IACW,YAAE,GAAG,UAAA,IAAI,CAAC,EAAE,CAAA;IACZ,cAAI,GAAG,UAAA,IAAI,CAAC,IAAI,CAAA;AAC9B,CAAC,EAZgB,SAAS,KAAT,SAAS,QAYzB"}
@@ -3,12 +3,14 @@ import { isoly } from "isoly";
3
3
  import { isly } from "isly";
4
4
  import { Realm } from "../../Realm";
5
5
  import { Supplier } from "../../Supplier";
6
+ import { Category } from "./Category";
6
7
  import { Conditions } from "./Conditions";
7
8
  export interface Storable {
8
9
  id: cryptly.Identifier;
9
10
  created: isoly.DateTime;
10
11
  realm: Realm;
11
12
  supplier: Supplier;
13
+ type: Category;
12
14
  reference: string;
13
15
  conditions?: Conditions;
14
16
  }
@@ -2,6 +2,7 @@ import { isoly } from "isoly";
2
2
  import { isly } from "isly";
3
3
  import { Realm } from "../../Realm";
4
4
  import { Supplier } from "../../Supplier";
5
+ import { Category } from "./Category";
5
6
  import { Conditions } from "./Conditions";
6
7
  export var Storable;
7
8
  (function (Storable) {
@@ -10,6 +11,7 @@ export var Storable;
10
11
  created: isly.fromIs("Treasury.Account.Storable", isoly.DateTime.is),
11
12
  realm: isly.fromIs("realm", Realm.is),
12
13
  supplier: isly.fromIs("supplier", Supplier.is),
14
+ type: Category.type,
13
15
  reference: isly.string(),
14
16
  conditions: Conditions.type.optional(),
15
17
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Storable.js","sourceRoot":"../","sources":["Treasury/Account/Storable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAWzC,MAAM,KAAW,QAAQ,CAWxB;AAXD,WAAiB,QAAQ;IACX,aAAI,GAAG,IAAI,CAAC,MAAM,CAAW;QACzC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE;QACjB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,2BAA2B,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;QACrC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC9C,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE;QACxB,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE;KACtC,CAAC,CAAA;IACW,WAAE,GAAG,SAAA,IAAI,CAAC,EAAE,CAAA;IACZ,aAAI,GAAG,SAAA,IAAI,CAAC,IAAI,CAAA;AAC9B,CAAC,EAXgB,QAAQ,KAAR,QAAQ,QAWxB"}
1
+ {"version":3,"file":"Storable.js","sourceRoot":"../","sources":["Treasury/Account/Storable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAYzC,MAAM,KAAW,QAAQ,CAYxB;AAZD,WAAiB,QAAQ;IACX,aAAI,GAAG,IAAI,CAAC,MAAM,CAAW;QACzC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE;QACjB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,2BAA2B,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;QACrC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC9C,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE;QACxB,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE;KACtC,CAAC,CAAA;IACW,WAAE,GAAG,SAAA,IAAI,CAAC,EAAE,CAAA;IACZ,aAAI,GAAG,SAAA,IAAI,CAAC,IAAI,CAAA;AAC9B,CAAC,EAZgB,QAAQ,KAAR,QAAQ,QAYxB"}
@@ -20,7 +20,7 @@ export var Account;
20
20
  supplier: isly.fromIs("supplier", Supplier.is),
21
21
  reference: isly.string(),
22
22
  currencies: isly.fromIs("Treasury.Account.currencies", isoly.Currency.is).array(),
23
- type: isly.string(AccountCategory.type),
23
+ type: AccountCategory.type,
24
24
  conditions: AccountConditions.type,
25
25
  rail: isly.fromIs("Treasury.Account.rail", Rail.is).array(),
26
26
  balance: isly.fromIs("Treasury.Account.balance", Balance.is),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../","sources":["Treasury/Account/index.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;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,YAAY,CAAA;AACxD,OAAO,EAAE,UAAU,IAAI,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAC9D,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC3D,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC3D,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,YAAY,CAAA;AAgBxD,MAAM,KAAW,OAAO,CA8BvB;AA9BD,WAAiB,OAAO;IACV,YAAI,GAAG,IAAI,CAAC,MAAM,CAAU;QACxC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE;QACjB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,0BAA0B,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;QACnB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;QACrC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC9C,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE;QACxB,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,6BAA6B,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE;QACjF,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC;QACvC,UAAU,EAAE,iBAAiB,CAAC,IAAI;QAClC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE;QAC3D,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,0BAA0B,EAAE,OAAO,CAAC,EAAE,CAAC;KAC5D,CAAC,CAAA;IACW,UAAE,GAAG,QAAA,IAAI,CAAC,EAAE,CAAA;IACZ,YAAI,GAAG,QAAA,IAAI,CAAC,IAAI,CAAA;IAC7B,SAAgB,YAAY,CAAC,KAA+B;QAC3D,OAAO,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IACvC,CAAC;IAFe,oBAAY,eAE3B,CAAA;IAGY,iBAAS,GAAG,gBAAgB,CAAA;IAE5B,gBAAQ,GAAG,eAAe,CAAA;IAE1B,iBAAS,GAAG,gBAAgB,CAAA;IAE5B,gBAAQ,GAAG,eAAe,CAAA;IAE1B,kBAAU,GAAG,iBAAiB,CAAA;AAC5C,CAAC,EA9BgB,OAAO,KAAP,OAAO,QA8BvB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"../","sources":["Treasury/Account/index.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;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,YAAY,CAAA;AACxD,OAAO,EAAE,UAAU,IAAI,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAC9D,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC3D,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC3D,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,YAAY,CAAA;AAgBxD,MAAM,KAAW,OAAO,CA8BvB;AA9BD,WAAiB,OAAO;IACV,YAAI,GAAG,IAAI,CAAC,MAAM,CAAU;QACxC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE;QACjB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,0BAA0B,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;QACnB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;QACrC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC9C,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE;QACxB,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,6BAA6B,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE;QACjF,IAAI,EAAE,eAAe,CAAC,IAAI;QAC1B,UAAU,EAAE,iBAAiB,CAAC,IAAI;QAClC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE;QAC3D,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,0BAA0B,EAAE,OAAO,CAAC,EAAE,CAAC;KAC5D,CAAC,CAAA;IACW,UAAE,GAAG,QAAA,IAAI,CAAC,EAAE,CAAA;IACZ,YAAI,GAAG,QAAA,IAAI,CAAC,IAAI,CAAA;IAC7B,SAAgB,YAAY,CAAC,KAA+B;QAC3D,OAAO,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IACvC,CAAC;IAFe,oBAAY,eAE3B,CAAA;IAGY,iBAAS,GAAG,gBAAgB,CAAA;IAE5B,gBAAQ,GAAG,eAAe,CAAA;IAE1B,iBAAS,GAAG,gBAAgB,CAAA;IAE5B,gBAAQ,GAAG,eAAe,CAAA;IAE1B,kBAAU,GAAG,iBAAiB,CAAA;AAC5C,CAAC,EA9BgB,OAAO,KAAP,OAAO,QA8BvB"}
@@ -20,6 +20,8 @@ export declare namespace Treasury {
20
20
  const Fetchable: typeof import("./Account/Fetchable").Fetchable;
21
21
  type Conditions = TreasuryAccount.Conditions;
22
22
  const Conditions: typeof import("./Account/Conditions").Conditions;
23
+ type Category = TreasuryAccount.Category;
24
+ const Category: typeof import("./Account/Category").Category;
23
25
  const is: import("isly/dist/cjs/Type").Type.IsFunction<TreasuryAccount>;
24
26
  }
25
27
  }
@@ -16,6 +16,7 @@ export var Treasury;
16
16
  Account.Storable = TreasuryAccount.Storable;
17
17
  Account.Fetchable = TreasuryAccount.Fetchable;
18
18
  Account.Conditions = TreasuryAccount.Conditions;
19
+ Account.Category = TreasuryAccount.Category;
19
20
  Account.is = TreasuryAccount.is;
20
21
  })(Account = Treasury.Account || (Treasury.Account = {}));
21
22
  })(Treasury || (Treasury = {}));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../","sources":["Treasury/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,WAAW,CAAA;AACtD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,WAAW,CAAA;AAKtD,MAAM,KAAW,QAAQ,CAyBxB;AAzBD,WAAiB,QAAQ;IACxB,SAAgB,GAAG,CAAC,IAAqB;QACxC,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAA;QAChC,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;QAC1F,OAAO,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAC7B,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EACxG,OAAO,CACP,CAAA;IACF,CAAC;IAPe,YAAG,MAOlB,CAAA;IAKY,gBAAO,GAAG,eAAe,CAAA;IACtC,IAAiB,OAAO,CAUvB;IAVD,WAAiB,OAAO;QAEV,iBAAS,GAAG,eAAe,CAAC,SAAS,CAAA;QAErC,gBAAQ,GAAG,eAAe,CAAC,QAAQ,CAAA;QAEnC,iBAAS,GAAG,eAAe,CAAC,SAAS,CAAA;QAErC,kBAAU,GAAG,eAAe,CAAC,UAAU,CAAA;QACvC,UAAE,GAAG,eAAe,CAAC,EAAE,CAAA;IACrC,CAAC,EAVgB,OAAO,GAAP,gBAAO,KAAP,gBAAO,QAUvB;AACF,CAAC,EAzBgB,QAAQ,KAAR,QAAQ,QAyBxB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"../","sources":["Treasury/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,WAAW,CAAA;AACtD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,WAAW,CAAA;AAKtD,MAAM,KAAW,QAAQ,CA2BxB;AA3BD,WAAiB,QAAQ;IACxB,SAAgB,GAAG,CAAC,IAAqB;QACxC,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAA;QAChC,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;QAC1F,OAAO,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAC7B,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EACxG,OAAO,CACP,CAAA;IACF,CAAC;IAPe,YAAG,MAOlB,CAAA;IAKY,gBAAO,GAAG,eAAe,CAAA;IACtC,IAAiB,OAAO,CAYvB;IAZD,WAAiB,OAAO;QAEV,iBAAS,GAAG,eAAe,CAAC,SAAS,CAAA;QAErC,gBAAQ,GAAG,eAAe,CAAC,QAAQ,CAAA;QAEnC,iBAAS,GAAG,eAAe,CAAC,SAAS,CAAA;QAErC,kBAAU,GAAG,eAAe,CAAC,UAAU,CAAA;QAEvC,gBAAQ,GAAG,eAAe,CAAC,QAAQ,CAAA;QACnC,UAAE,GAAG,eAAe,CAAC,EAAE,CAAA;IACrC,CAAC,EAZgB,OAAO,GAAP,gBAAO,KAAP,gBAAO,QAYvB;AACF,CAAC,EA3BgB,QAAQ,KAAR,QAAQ,QA2BxB"}
package/dist/pax2pay.d.ts CHANGED
@@ -21,3 +21,5 @@ export { Amount } from "./Amount";
21
21
  export { Amounts } from "./Amounts";
22
22
  export { Report } from "./Report";
23
23
  export { Flag } from "./Flag";
24
+ export { Identity } from "./Identity";
25
+ export { Key } from "./Key";
package/dist/pax2pay.js CHANGED
@@ -21,4 +21,6 @@ export { Amount } from "./Amount";
21
21
  export { Amounts } from "./Amounts";
22
22
  export { Report } from "./Report";
23
23
  export { Flag } from "./Flag";
24
+ export { Identity } from "./Identity";
25
+ export { Key } from "./Key";
24
26
  //# sourceMappingURL=pax2pay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pax2pay.js","sourceRoot":"../","sources":["pax2pay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA"}
1
+ {"version":3,"file":"pax2pay.js","sourceRoot":"../","sources":["pax2pay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pax2pay/model-banking",
3
- "version": "0.1.179",
3
+ "version": "0.1.181",
4
4
  "description": "Library containing data model types and functions for the Pax2Pay Banking API.",
5
5
  "author": "Pax2Pay Ltd",
6
6
  "license": "MIT",
package/pax2pay.ts CHANGED
@@ -21,3 +21,5 @@ export { Amount } from "./Amount"
21
21
  export { Amounts } from "./Amounts"
22
22
  export { Report } from "./Report"
23
23
  export { Flag } from "./Flag"
24
+ export { Identity } from "./Identity"
25
+ export { Key } from "./Key"
package/tsconfig.json CHANGED
@@ -12,6 +12,6 @@
12
12
  ]
13
13
  },
14
14
  "files": [
15
- "index.ts",
15
+ "index.ts"
16
16
  ]
17
17
  }