@pax2pay/model-banking 0.1.509 → 0.1.511

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 (95) hide show
  1. package/Card/Restriction/Merchant.ts +19 -94
  2. package/Card/Restriction/merchants/Merchant.ts +28 -0
  3. package/Card/Restriction/merchants/airlines.json +957 -0
  4. package/Card/Restriction/merchants/hotels.json +252 -0
  5. package/Card/Restriction/merchants/index.ts +765 -0
  6. package/Card/Restriction/merchants/misc.json +139 -0
  7. package/User/Access/Permission.ts +47 -0
  8. package/User/Access/index.ts +19 -0
  9. package/User/Identity.ts +32 -0
  10. package/User/JWT/Payload.ts +56 -0
  11. package/User/JWT/Signer.ts +39 -0
  12. package/User/JWT/index.ts +57 -0
  13. package/User/Me.ts +15 -0
  14. package/User/Password.ts +43 -0
  15. package/User/index.ts +68 -0
  16. package/dist/cjs/Card/Restriction/Merchant.d.ts +3 -9
  17. package/dist/cjs/Card/Restriction/Merchant.js +18 -87
  18. package/dist/cjs/Card/Restriction/Merchant.js.map +1 -1
  19. package/dist/cjs/Card/Restriction/merchants/Merchant.d.ts +12 -0
  20. package/dist/cjs/Card/Restriction/merchants/Merchant.js +26 -0
  21. package/dist/cjs/Card/Restriction/merchants/Merchant.js.map +1 -0
  22. package/dist/cjs/Card/Restriction/merchants/index.d.ts +763 -0
  23. package/dist/cjs/Card/Restriction/merchants/index.js +767 -0
  24. package/dist/cjs/Card/Restriction/merchants/index.js.map +1 -0
  25. package/dist/cjs/User/Access/Permission.d.ts +20 -0
  26. package/dist/cjs/User/Access/Permission.js +47 -0
  27. package/dist/cjs/User/Access/Permission.js.map +1 -0
  28. package/dist/cjs/User/Access/index.d.ts +11 -0
  29. package/dist/cjs/User/Access/index.js +16 -0
  30. package/dist/cjs/User/Access/index.js.map +1 -0
  31. package/dist/cjs/User/Identity.d.ts +16 -0
  32. package/dist/cjs/User/Identity.js +32 -0
  33. package/dist/cjs/User/Identity.js.map +1 -0
  34. package/dist/cjs/User/JWT/Payload.d.ts +43 -0
  35. package/dist/cjs/User/JWT/Payload.js +42 -0
  36. package/dist/cjs/User/JWT/Payload.js.map +1 -0
  37. package/dist/cjs/User/JWT/Signer.d.ts +23 -0
  38. package/dist/cjs/User/JWT/Signer.js +39 -0
  39. package/dist/cjs/User/JWT/Signer.js.map +1 -0
  40. package/dist/cjs/User/JWT/index.d.ts +25 -0
  41. package/dist/cjs/User/JWT/index.js +59 -0
  42. package/dist/cjs/User/JWT/index.js.map +1 -0
  43. package/dist/cjs/User/Me.d.ts +9 -0
  44. package/dist/cjs/User/Me.js +14 -0
  45. package/dist/cjs/User/Me.js.map +1 -0
  46. package/dist/cjs/User/Password.d.ts +20 -0
  47. package/dist/cjs/User/Password.js +44 -0
  48. package/dist/cjs/User/Password.js.map +1 -0
  49. package/dist/cjs/User/index.d.ts +46 -0
  50. package/dist/cjs/User/index.js +54 -0
  51. package/dist/cjs/User/index.js.map +1 -0
  52. package/dist/cjs/pax2pay.d.ts +2 -1
  53. package/dist/cjs/pax2pay.js +5 -3
  54. package/dist/cjs/pax2pay.js.map +1 -1
  55. package/dist/mjs/Card/Restriction/Merchant.d.ts +3 -9
  56. package/dist/mjs/Card/Restriction/Merchant.js +18 -87
  57. package/dist/mjs/Card/Restriction/Merchant.js.map +1 -1
  58. package/dist/mjs/Card/Restriction/merchants/Merchant.d.ts +12 -0
  59. package/dist/mjs/Card/Restriction/merchants/Merchant.js +23 -0
  60. package/dist/mjs/Card/Restriction/merchants/Merchant.js.map +1 -0
  61. package/dist/mjs/Card/Restriction/merchants/index.d.ts +763 -0
  62. package/dist/mjs/Card/Restriction/merchants/index.js +764 -0
  63. package/dist/mjs/Card/Restriction/merchants/index.js.map +1 -0
  64. package/dist/mjs/User/Access/Permission.d.ts +20 -0
  65. package/dist/mjs/User/Access/Permission.js +44 -0
  66. package/dist/mjs/User/Access/Permission.js.map +1 -0
  67. package/dist/mjs/User/Access/index.d.ts +11 -0
  68. package/dist/mjs/User/Access/index.js +13 -0
  69. package/dist/mjs/User/Access/index.js.map +1 -0
  70. package/dist/mjs/User/Identity.d.ts +16 -0
  71. package/dist/mjs/User/Identity.js +28 -0
  72. package/dist/mjs/User/Identity.js.map +1 -0
  73. package/dist/mjs/User/JWT/Payload.d.ts +43 -0
  74. package/dist/mjs/User/JWT/Payload.js +39 -0
  75. package/dist/mjs/User/JWT/Payload.js.map +1 -0
  76. package/dist/mjs/User/JWT/Signer.d.ts +23 -0
  77. package/dist/mjs/User/JWT/Signer.js +35 -0
  78. package/dist/mjs/User/JWT/Signer.js.map +1 -0
  79. package/dist/mjs/User/JWT/index.d.ts +25 -0
  80. package/dist/mjs/User/JWT/index.js +55 -0
  81. package/dist/mjs/User/JWT/index.js.map +1 -0
  82. package/dist/mjs/User/Me.d.ts +9 -0
  83. package/dist/mjs/User/Me.js +11 -0
  84. package/dist/mjs/User/Me.js.map +1 -0
  85. package/dist/mjs/User/Password.d.ts +20 -0
  86. package/dist/mjs/User/Password.js +41 -0
  87. package/dist/mjs/User/Password.js.map +1 -0
  88. package/dist/mjs/User/index.d.ts +46 -0
  89. package/dist/mjs/User/index.js +51 -0
  90. package/dist/mjs/User/index.js.map +1 -0
  91. package/dist/mjs/pax2pay.d.ts +2 -1
  92. package/dist/mjs/pax2pay.js +2 -1
  93. package/dist/mjs/pax2pay.js.map +1 -1
  94. package/package.json +1 -1
  95. package/pax2pay.ts +2 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../Card/Restriction/merchants/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { isly } from "isly";
2
+ export type Permission = Partial<Record<Permission.Collection, Permission.Level>>;
3
+ export declare namespace Permission {
4
+ type Realm = Omit<Permission, "user">;
5
+ type Global = Pick<Permission, "user">;
6
+ function check(constraint: Permission, privilege: Permission): boolean;
7
+ type Level = typeof Level.values[number];
8
+ namespace Level {
9
+ const values: readonly ["read", "write", "developer", "admin"];
10
+ const type: isly.Type<"admin" | "read" | "write" | "developer">;
11
+ function get(level: Level | undefined): number;
12
+ const value: Record<Level, number>;
13
+ }
14
+ type Collection = typeof Collection.values[number];
15
+ namespace Collection {
16
+ const values: readonly ["account", "card", "log", "operation", "organization", "rule", "settlement", "transaction", "treasury", "user", "*"];
17
+ const type: isly.Type<"rule" | "card" | "transaction" | "account" | "settlement" | "organization" | "log" | "user" | "operation" | "treasury" | "*">;
18
+ }
19
+ const type: isly.Type<Partial<Record<"rule" | "card" | "transaction" | "account" | "settlement" | "organization" | "log" | "user" | "operation" | "treasury" | "*", "admin" | "read" | "write" | "developer">>>;
20
+ }
@@ -0,0 +1,44 @@
1
+ import { isly } from "isly";
2
+ import { typedly } from "typedly";
3
+ export var Permission;
4
+ (function (Permission) {
5
+ function check(constraint, privilege) {
6
+ return typedly.Object.entries(constraint).every(([collection, level]) => Permission.Level.get(privilege[collection]) >= Permission.Level.get(level) ||
7
+ Permission.Level.get(privilege["*"]) >= Permission.Level.get(level));
8
+ }
9
+ Permission.check = check;
10
+ let Level;
11
+ (function (Level) {
12
+ Level.values = ["read", "write", "developer", "admin"];
13
+ Level.type = isly.string(Level.values);
14
+ function get(level) {
15
+ return level ? Level.value[level] : 0;
16
+ }
17
+ Level.get = get;
18
+ Level.value = {
19
+ read: 1,
20
+ write: 2,
21
+ developer: 3,
22
+ admin: 4,
23
+ };
24
+ })(Level = Permission.Level || (Permission.Level = {}));
25
+ let Collection;
26
+ (function (Collection) {
27
+ Collection.values = [
28
+ "account",
29
+ "card",
30
+ "log",
31
+ "operation",
32
+ "organization",
33
+ "rule",
34
+ "settlement",
35
+ "transaction",
36
+ "treasury",
37
+ "user",
38
+ "*",
39
+ ];
40
+ Collection.type = isly.string(Collection.values);
41
+ })(Collection = Permission.Collection || (Permission.Collection = {}));
42
+ Permission.type = isly.record(Collection.type, Level.type);
43
+ })(Permission || (Permission = {}));
44
+ //# sourceMappingURL=Permission.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Permission.js","sourceRoot":"","sources":["../../../../User/Access/Permission.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAGjC,MAAM,KAAW,UAAU,CA0C1B;AA1CD,WAAiB,UAAU;IAG1B,SAAgB,KAAK,CAAC,UAAsB,EAAE,SAAqB;QAClE,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,KAAK,CAC9C,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,CACvB,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;YAC1E,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CACpE,CAAA;IACF,CAAC;IANe,gBAAK,QAMpB,CAAA;IAED,IAAiB,KAAK,CAYrB;IAZD,WAAiB,KAAK;QACR,YAAM,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,CAAU,CAAA;QACzD,UAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAA,MAAM,CAAC,CAAA;QACvC,SAAgB,GAAG,CAAC,KAAwB;YAC3C,OAAO,KAAK,CAAC,CAAC,CAAC,MAAA,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAChC,CAAC;QAFe,SAAG,MAElB,CAAA;QACY,WAAK,GAA0B;YAC3C,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,CAAC;YACR,SAAS,EAAE,CAAC;YACZ,KAAK,EAAE,CAAC;SACC,CAAA;IACX,CAAC,EAZgB,KAAK,GAAL,gBAAK,KAAL,gBAAK,QAYrB;IAED,IAAiB,UAAU,CAe1B;IAfD,WAAiB,UAAU;QACb,iBAAM,GAAG;YACrB,SAAS;YACT,MAAM;YACN,KAAK;YACL,WAAW;YACX,cAAc;YACd,MAAM;YACN,YAAY;YACZ,aAAa;YACb,UAAU;YACV,MAAM;YACN,GAAG;SACM,CAAA;QACG,eAAI,GAAG,IAAI,CAAC,MAAM,CAAC,WAAA,MAAM,CAAC,CAAA;IACxC,CAAC,EAfgB,UAAU,GAAV,qBAAU,KAAV,qBAAU,QAe1B;IACY,eAAI,GAAG,IAAI,CAAC,MAAM,CAAa,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;AACzE,CAAC,EA1CgB,UAAU,KAAV,UAAU,QA0C1B"}
@@ -0,0 +1,11 @@
1
+ import { Permission as AccessPermission } from "./Permission";
2
+ export interface Access {
3
+ uk?: Access.Permission.Realm;
4
+ eea?: Access.Permission.Realm;
5
+ test?: Access.Permission.Realm;
6
+ "*"?: Access.Permission.Global;
7
+ }
8
+ export declare namespace Access {
9
+ export import Permission = AccessPermission;
10
+ const type: import("isly/dist/cjs/object").IslyObject<object, object>;
11
+ }
@@ -0,0 +1,13 @@
1
+ import { isly } from "isly";
2
+ import { Permission as AccessPermission } from "./Permission";
3
+ export var Access;
4
+ (function (Access) {
5
+ Access.Permission = AccessPermission;
6
+ Access.type = isly.object({
7
+ uk: Access.Permission.type.optional(),
8
+ eea: Access.Permission.type.optional(),
9
+ test: Access.Permission.type.optional(),
10
+ "*": isly.object({ user: Access.Permission.Level.type.optional() }).optional(),
11
+ });
12
+ })(Access || (Access = {}));
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../User/Access/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAS7D,MAAM,KAAW,MAAM,CAQtB;AARD,WAAiB,MAAM;IACR,iBAAU,GAAG,gBAAgB,CAAA;IAC9B,WAAI,GAAG,IAAI,CAAC,MAAM,CAAC;QAC/B,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE;QACrC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE;QACtC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE;QACvC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE;KAC9E,CAAC,CAAA;AACH,CAAC,EARgB,MAAM,KAAN,MAAM,QAQtB"}
@@ -0,0 +1,16 @@
1
+ import { gracely } from "gracely";
2
+ import { Realm } from "../Realm";
3
+ import { Access } from "./Access";
4
+ import { JWT } from "./JWT";
5
+ export declare class Identity {
6
+ readonly payload: JWT.Payload;
7
+ private readonly jwt;
8
+ get realm(): Realm;
9
+ constructor(payload: JWT.Payload, jwt: string);
10
+ authenticate(constraint: Access.Permission | Access.Permission[]): Identity | gracely.Error;
11
+ static open(authorization: string | undefined, options: {
12
+ whitelist?: JWT.Whitelist;
13
+ key?: string;
14
+ }): Promise<Identity | gracely.Error>;
15
+ }
16
+ export declare namespace Identity { }
@@ -0,0 +1,28 @@
1
+ import { gracely } from "gracely";
2
+ import { Access } from "./Access";
3
+ import { JWT } from "./JWT";
4
+ export class Identity {
5
+ payload;
6
+ jwt;
7
+ get realm() {
8
+ return this.payload.realm;
9
+ }
10
+ constructor(payload, jwt) {
11
+ this.payload = payload;
12
+ this.jwt = jwt;
13
+ }
14
+ authenticate(constraint) {
15
+ let allowed;
16
+ if (Array.isArray(constraint))
17
+ allowed = constraint.some(c => this.authenticate(c));
18
+ else
19
+ allowed = Access.Permission.check(constraint, this.payload.permission);
20
+ return allowed ? this : gracely.client.forbidden();
21
+ }
22
+ static async open(authorization, options) {
23
+ const jwt = authorization?.startsWith("Bearer ") ? authorization.replace("Bearer ", "") : undefined;
24
+ const payload = jwt ? await JWT.open({ public: options.key }, options.whitelist).verify(jwt) : undefined;
25
+ return jwt && payload ? new Identity(payload, jwt) : gracely.client.unauthorized();
26
+ }
27
+ }
28
+ //# sourceMappingURL=Identity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Identity.js","sourceRoot":"","sources":["../../../User/Identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAGjC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAE3B,MAAM,OAAO,QAAQ;IAIQ;IAAuC;IAHnE,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAA;IAC1B,CAAC;IACD,YAA4B,OAAoB,EAAmB,GAAW;QAAlD,YAAO,GAAP,OAAO,CAAa;QAAmB,QAAG,GAAH,GAAG,CAAQ;IAAG,CAAC;IAElF,YAAY,CAAC,UAAmD;QAC/D,IAAI,OAAgB,CAAA;QACpB,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;YAC5B,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;;YAEpD,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QACvE,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,CAAA;IACnD,CAAC;IAGD,MAAM,CAAC,KAAK,CAAC,IAAI,CAChB,aAAiC,EACjC,OAAoD;QAEpD,MAAM,GAAG,GAAG,aAAa,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACnG,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACxG,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,CAAA;IACnF,CAAC;CACD"}
@@ -0,0 +1,43 @@
1
+ import { authly } from "authly";
2
+ import { isly } from "isly";
3
+ import { Realm } from "../../Realm";
4
+ import { Access } from "../Access";
5
+ export type Payload = Payload.LongTerm | Payload.ShortTerm;
6
+ export declare namespace Payload {
7
+ interface Creatable {
8
+ sub: string;
9
+ permission: Access.Permission;
10
+ realm: Realm;
11
+ }
12
+ namespace Creatable {
13
+ const type: import("isly/dist/cjs/object").IslyObject<Creatable, object>;
14
+ }
15
+ interface Base extends authly.Payload {
16
+ aud: string;
17
+ iat: number;
18
+ iss: string;
19
+ sub: string;
20
+ permission: Access.Permission;
21
+ realm: Realm;
22
+ }
23
+ namespace Base {
24
+ const type: import("isly/dist/cjs/object").IslyObject<Payload, object>;
25
+ }
26
+ interface LongTerm extends Base {
27
+ id: string;
28
+ }
29
+ namespace LongTerm {
30
+ const type: import("isly/dist/cjs/object").IslyObject<LongTerm, Payload>;
31
+ }
32
+ interface ShortTerm extends Base {
33
+ exp: number;
34
+ }
35
+ namespace ShortTerm {
36
+ const type: import("isly/dist/cjs/object").IslyObject<ShortTerm, Payload>;
37
+ }
38
+ const configuration: {
39
+ aud: string;
40
+ iss: string;
41
+ };
42
+ const type: isly.Type<Payload>;
43
+ }
@@ -0,0 +1,39 @@
1
+ import { isly } from "isly";
2
+ import { Realm } from "../../Realm";
3
+ import { Access } from "../Access";
4
+ export var Payload;
5
+ (function (Payload) {
6
+ let Creatable;
7
+ (function (Creatable) {
8
+ Creatable.type = isly.object({
9
+ sub: isly.string(),
10
+ permission: Access.Permission.type,
11
+ realm: Realm.type,
12
+ });
13
+ })(Creatable = Payload.Creatable || (Payload.Creatable = {}));
14
+ let Base;
15
+ (function (Base) {
16
+ Base.type = isly.object({
17
+ aud: isly.string(),
18
+ iat: isly.number(),
19
+ iss: isly.string(),
20
+ sub: isly.string(),
21
+ permission: Access.Permission.type,
22
+ realm: Realm.type,
23
+ });
24
+ })(Base = Payload.Base || (Payload.Base = {}));
25
+ let LongTerm;
26
+ (function (LongTerm) {
27
+ LongTerm.type = Base.type.extend({ id: isly.string() });
28
+ })(LongTerm = Payload.LongTerm || (Payload.LongTerm = {}));
29
+ let ShortTerm;
30
+ (function (ShortTerm) {
31
+ ShortTerm.type = Base.type.extend({ exp: isly.number() });
32
+ })(ShortTerm = Payload.ShortTerm || (Payload.ShortTerm = {}));
33
+ Payload.configuration = {
34
+ aud: "https://banking.pax2pay.app",
35
+ iss: "pax2pay",
36
+ };
37
+ Payload.type = isly.union(LongTerm.type, ShortTerm.type);
38
+ })(Payload || (Payload = {}));
39
+ //# sourceMappingURL=Payload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Payload.js","sourceRoot":"","sources":["../../../../User/JWT/Payload.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAGlC,MAAM,KAAW,OAAO,CAiDvB;AAjDD,WAAiB,OAAO;IAMvB,IAAiB,SAAS,CAMzB;IAND,WAAiB,SAAS;QACZ,cAAI,GAAG,IAAI,CAAC,MAAM,CAAY;YAC1C,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE;YAClB,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI;YAClC,KAAK,EAAE,KAAK,CAAC,IAAI;SACjB,CAAC,CAAA;IACH,CAAC,EANgB,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAMzB;IASD,IAAiB,IAAI,CASpB;IATD,WAAiB,IAAI;QACP,SAAI,GAAG,IAAI,CAAC,MAAM,CAAU;YACxC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE;YAClB,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE;YAClB,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE;YAClB,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE;YAClB,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI;YAClC,KAAK,EAAE,KAAK,CAAC,IAAI;SACjB,CAAC,CAAA;IACH,CAAC,EATgB,IAAI,GAAJ,YAAI,KAAJ,YAAI,QASpB;IAID,IAAiB,QAAQ,CAExB;IAFD,WAAiB,QAAQ;QACX,aAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAW,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IACtE,CAAC,EAFgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAExB;IAID,IAAiB,SAAS,CAEzB;IAFD,WAAiB,SAAS;QACZ,cAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAY,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IACxE,CAAC,EAFgB,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAEzB;IAEY,qBAAa,GAAG;QAC5B,GAAG,EAAE,6BAA6B;QAClC,GAAG,EAAE,SAAS;KACd,CAAA;IACY,YAAI,GAAG,IAAI,CAAC,KAAK,CAAU,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;AACvE,CAAC,EAjDgB,OAAO,KAAP,OAAO,QAiDvB"}
@@ -0,0 +1,23 @@
1
+ import { authly } from "authly";
2
+ import { Payload } from "./Payload";
3
+ export declare class Signer {
4
+ private readonly key?;
5
+ constructor(key?: {
6
+ public?: string;
7
+ private?: string;
8
+ } | undefined);
9
+ sign(data: Payload.Creatable, duration?: number | "infinite"): Promise<string | undefined>;
10
+ static open(key?: {
11
+ public?: string;
12
+ private?: string;
13
+ }): Signer;
14
+ }
15
+ export declare namespace Signer {
16
+ function create<T extends authly.Payload>(options: {
17
+ key?: {
18
+ public?: string;
19
+ private?: string;
20
+ };
21
+ duration?: number;
22
+ }): authly.Issuer<T> | undefined;
23
+ }
@@ -0,0 +1,35 @@
1
+ import { authly } from "authly";
2
+ import { Payload } from "./Payload";
3
+ export class Signer {
4
+ key;
5
+ constructor(key) {
6
+ this.key = key;
7
+ }
8
+ async sign(data, duration = 60 * 60 * 12) {
9
+ let result;
10
+ if (duration === "infinite") {
11
+ const signer = Signer.create({ key: this.key });
12
+ result = await signer?.sign({ id: authly.Identifier.generate(16), ...data });
13
+ }
14
+ else {
15
+ const signer = Signer.create({ key: this.key, duration });
16
+ result = await signer?.sign({ ...data });
17
+ }
18
+ return result;
19
+ }
20
+ static open(key) {
21
+ return new this(key);
22
+ }
23
+ }
24
+ (function (Signer) {
25
+ function create(options) {
26
+ const signer = authly.Issuer.create(Payload.configuration.iss, authly.Algorithm.RS256(options.key?.public, options.key?.private));
27
+ if (signer) {
28
+ signer.duration = options.duration;
29
+ signer.audience = Payload.configuration.aud;
30
+ }
31
+ return signer;
32
+ }
33
+ Signer.create = create;
34
+ })(Signer || (Signer = {}));
35
+ //# sourceMappingURL=Signer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Signer.js","sourceRoot":"","sources":["../../../../User/JWT/Signer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,MAAM,OAAO,MAAM;IACW;IAA7B,YAA6B,GAA2C;QAA3C,QAAG,GAAH,GAAG,CAAwC;IAAG,CAAC;IAG5E,KAAK,CAAC,IAAI,CAAC,IAAuB,EAAE,WAAgC,EAAE,GAAG,EAAE,GAAG,EAAE;QAC/E,IAAI,MAA0B,CAAA;QAC9B,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;YAC/C,MAAM,GAAG,MAAM,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAA;QAC7E,CAAC;aAAM,CAAC;YACP,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAA;YACzD,MAAM,GAAG,MAAM,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAA;QACzC,CAAC;QACD,OAAO,MAAM,CAAA;IACd,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,GAA2C;QACtD,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAA;IACrB,CAAC;CACD;AACD,WAAiB,MAAM;IACtB,SAAgB,MAAM,CAA2B,OAGhD;QACA,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAClC,OAAO,CAAC,aAAa,CAAC,GAAG,EACzB,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CACjE,CAAA;QACD,IAAI,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;YAClC,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAA;QAC5C,CAAC;QACD,OAAO,MAAM,CAAA;IACd,CAAC;IAbe,aAAM,SAarB,CAAA;AACF,CAAC,EAfgB,MAAM,KAAN,MAAM,QAetB"}
@@ -0,0 +1,25 @@
1
+ import { Realm } from "../../Realm";
2
+ import { Payload as JWTPayload } from "./Payload";
3
+ import { Signer as JWTSigner } from "./Signer";
4
+ export declare class JWT {
5
+ #private;
6
+ private readonly key?;
7
+ readonly whitelist?: JWT.Whitelist | undefined;
8
+ private get verifier();
9
+ private get signer();
10
+ get sign(): ((data: JWTPayload.Creatable, duration?: number | "infinite") => Promise<string | undefined>) | undefined;
11
+ private constructor();
12
+ verify(token: string): Promise<JWT.Payload | undefined>;
13
+ unpack(token: string): Promise<JWT.Payload | undefined>;
14
+ static open(key?: {
15
+ private?: string;
16
+ public?: string;
17
+ }, whitelist?: JWT.Whitelist): JWT;
18
+ }
19
+ export declare namespace JWT {
20
+ export import Signer = JWTSigner;
21
+ type Whitelist = Partial<Record<Realm, Payload.LongTerm[]>>;
22
+ function unpack(token: string): Promise<JWT.Payload | undefined>;
23
+ export import Payload = JWTPayload;
24
+ const key = "MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA2W8CD2kpfS4QIRV2/rgm4NVvsvJsYNMHtnIl9ADvO3A81hAmRKvOAPVoXICe6+EuZ47jGjGL7f48GEoQuITfBPv/MosCDj1YhJ56ILDynCSd8FlxDrhv8pl5IquST7tcL6Hc6m+vuvoTLrFQ5QqNxv0a5eDd/YTrWv7SUuRfBEhYd/wMysGynN3QauHqy5ceBCt1nv1MJLGlSzczMRK7wjy1zi2g9NCHZBOoo1HXOpi727Xh+YXHc9EP2TN0oOXyxykv45nkGIDI0Qek3/pfkavClBffc1sEqA+rUx7YqRN9KGYxwLMLug+NOOh3ptqjfobXbR5fx/sUWhvcjUMTE1JreTrWYbGmVnjd/SeYSClfmGhdTBUfqnZbaABv0ruTXva18qRhP4y143vHMk/k8HzbuROTKAzrtEeLIjgwUgDcnE+JwDqcb8tKSGV6i++TiTldlSBCRTT4dK2hpHJje80b2abqtrbCkxbJlT98UsAAoiq2eW1X6lYmCfiGCJPkfswibQ2tPAKKNe/2xuHPsjx4FuXGmV0dbzmCwSIQoApXqOvKzoNFi6AaKIjxfNmiEigLwKpNrw08H0lVZbq/9MMxI3TzMTZjY9QmBKVLSGy3Z6IJqZpyK22lv7whJcllG0Qw8tv8+7wmC8SR3+4jpuxuFGZ+69CW+otx+CPMJjcCAwEAAQ==";
25
+ }
@@ -0,0 +1,55 @@
1
+ import { authly } from "authly";
2
+ import { Payload as JWTPayload } from "./Payload";
3
+ import { Signer as JWTSigner } from "./Signer";
4
+ export class JWT {
5
+ key;
6
+ whitelist;
7
+ #verifier;
8
+ get verifier() {
9
+ if (!this.#verifier && this.key?.public) {
10
+ const algorithm = authly.Algorithm.RS256(this.key.public);
11
+ this.#verifier = algorithm ? authly.Verifier.create(algorithm) : undefined;
12
+ }
13
+ return this.#verifier;
14
+ }
15
+ #signer;
16
+ get signer() {
17
+ return this.key?.private ? (this.#signer ??= JWTSigner.open(this.key)) : undefined;
18
+ }
19
+ get sign() {
20
+ return this.signer?.sign;
21
+ }
22
+ constructor(key, whitelist) {
23
+ this.key = key;
24
+ this.whitelist = whitelist;
25
+ }
26
+ async verify(token) {
27
+ const verified = await this.verifier?.verify(token, JWT.Payload.configuration.aud);
28
+ delete verified?.token;
29
+ return JWT.Payload.type.is(verified) &&
30
+ verified?.iss == JWT.Payload.configuration.iss &&
31
+ (verified.exp || (verified.id && this.whitelist?.[verified.realm]?.some(e => e.id === verified.id)))
32
+ ? verified
33
+ : undefined;
34
+ }
35
+ async unpack(token) {
36
+ const unpacked = await JWT.unpack(token);
37
+ delete unpacked?.token;
38
+ return unpacked;
39
+ }
40
+ static open(key, whitelist) {
41
+ return new this({ private: key?.private, public: key?.public ?? JWT.key }, whitelist);
42
+ }
43
+ }
44
+ (function (JWT) {
45
+ JWT.Signer = JWTSigner;
46
+ async function unpack(token) {
47
+ const algorithm = authly.Algorithm.RS256(undefined);
48
+ const verifier = algorithm ? authly.Verifier.create(algorithm) : undefined;
49
+ return verifier?.unpack(token);
50
+ }
51
+ JWT.unpack = unpack;
52
+ JWT.Payload = JWTPayload;
53
+ JWT.key = "MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA2W8CD2kpfS4QIRV2/rgm4NVvsvJsYNMHtnIl9ADvO3A81hAmRKvOAPVoXICe6+EuZ47jGjGL7f48GEoQuITfBPv/MosCDj1YhJ56ILDynCSd8FlxDrhv8pl5IquST7tcL6Hc6m+vuvoTLrFQ5QqNxv0a5eDd/YTrWv7SUuRfBEhYd/wMysGynN3QauHqy5ceBCt1nv1MJLGlSzczMRK7wjy1zi2g9NCHZBOoo1HXOpi727Xh+YXHc9EP2TN0oOXyxykv45nkGIDI0Qek3/pfkavClBffc1sEqA+rUx7YqRN9KGYxwLMLug+NOOh3ptqjfobXbR5fx/sUWhvcjUMTE1JreTrWYbGmVnjd/SeYSClfmGhdTBUfqnZbaABv0ruTXva18qRhP4y143vHMk/k8HzbuROTKAzrtEeLIjgwUgDcnE+JwDqcb8tKSGV6i++TiTldlSBCRTT4dK2hpHJje80b2abqtrbCkxbJlT98UsAAoiq2eW1X6lYmCfiGCJPkfswibQ2tPAKKNe/2xuHPsjx4FuXGmV0dbzmCwSIQoApXqOvKzoNFi6AaKIjxfNmiEigLwKpNrw08H0lVZbq/9MMxI3TzMTZjY9QmBKVLSGy3Z6IJqZpyK22lv7whJcllG0Qw8tv8+7wmC8SR3+4jpuxuFGZ+69CW+otx+CPMJjcCAwEAAQ==";
54
+ })(JWT || (JWT = {}));
55
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../User/JWT/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,WAAW,CAAA;AACjD,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,UAAU,CAAA;AAE9C,MAAM,OAAO,GAAG;IAiBG;IACR;IAjBV,SAAS,CAA+B;IACxC,IAAY,QAAQ;QACnB,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC;YACzC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YACzD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAC3E,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAA;IACtB,CAAC;IACD,OAAO,CAAY;IACnB,IAAY,MAAM;QACjB,OAAO,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACnF,CAAC;IACD,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI,CAAA;IACzB,CAAC;IACD,YACkB,GAA2C,EACnD,SAAyB;QADjB,QAAG,GAAH,GAAG,CAAwC;QACnD,cAAS,GAAT,SAAS,CAAgB;IAChC,CAAC;IAEJ,KAAK,CAAC,MAAM,CAAC,KAAa;QACzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;QAClF,OAAO,QAAQ,EAAE,KAAK,CAAA;QACtB,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC;YACnC,QAAQ,EAAE,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG;YAC9C,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YACpG,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,SAAS,CAAA;IACb,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,KAAa;QACzB,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACxC,OAAO,QAAQ,EAAE,KAAK,CAAA;QACtB,OAAO,QAAQ,CAAA;IAChB,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,GAA2C,EAAE,SAAyB;QACjF,OAAO,IAAI,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAA;IACtF,CAAC;CACD;AACD,WAAiB,GAAG;IACL,UAAM,GAAG,SAAS,CAAA;IAEzB,KAAK,UAAU,MAAM,CAAC,KAAa;QACzC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QACnD,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAc,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACvF,OAAO,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;IAC/B,CAAC;IAJqB,UAAM,SAI3B,CAAA;IACa,WAAO,GAAG,UAAU,CAAA;IACrB,OAAG,GACf,kuBAAkuB,CAAA;AACpuB,CAAC,EAXgB,GAAG,KAAH,GAAG,QAWnB"}
@@ -0,0 +1,9 @@
1
+ import { Realm } from "../Realm";
2
+ export interface Me {
3
+ email: string;
4
+ password: string;
5
+ realm: Realm;
6
+ }
7
+ export declare namespace Me {
8
+ const type: import("isly/dist/cjs/object").IslyObject<Me, object>;
9
+ }
@@ -0,0 +1,11 @@
1
+ import { isly } from "isly";
2
+ import { Realm } from "../Realm";
3
+ export var Me;
4
+ (function (Me) {
5
+ Me.type = isly.object({
6
+ email: isly.string(),
7
+ password: isly.string(),
8
+ realm: Realm.type,
9
+ });
10
+ })(Me || (Me = {}));
11
+ //# sourceMappingURL=Me.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Me.js","sourceRoot":"","sources":["../../../User/Me.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAOhC,MAAM,KAAW,EAAE,CAMlB;AAND,WAAiB,EAAE;IACL,OAAI,GAAG,IAAI,CAAC,MAAM,CAAK;QACnC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;QACpB,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE;QACvB,KAAK,EAAE,KAAK,CAAC,IAAI;KACjB,CAAC,CAAA;AACH,CAAC,EANgB,EAAE,KAAF,EAAE,QAMlB"}
@@ -0,0 +1,20 @@
1
+ import { cryptly } from "cryptly";
2
+ import { gracely } from "gracely";
3
+ import { isoly } from "isoly";
4
+ export interface Password {
5
+ hash: cryptly.Password.Hash;
6
+ changed: isoly.DateTime;
7
+ }
8
+ export declare namespace Password {
9
+ interface Creatable {
10
+ new: string;
11
+ repeat: string;
12
+ }
13
+ namespace Creatable {
14
+ const type: import("isly/dist/cjs/object").IslyObject<Creatable, object>;
15
+ }
16
+ function create(creatable: Creatable, pepper: string | undefined): Promise<Password | gracely.Error>;
17
+ function salt(): string;
18
+ function hash(password: string, pepper: string): Promise<cryptly.Password.Hash>;
19
+ function verify(password: string, hash: cryptly.Password.Hash, pepper: string): Promise<boolean>;
20
+ }
@@ -0,0 +1,41 @@
1
+ import { cryptly } from "cryptly";
2
+ import { gracely } from "gracely";
3
+ import { isoly } from "isoly";
4
+ import { isly } from "isly";
5
+ export var Password;
6
+ (function (Password) {
7
+ let Creatable;
8
+ (function (Creatable) {
9
+ Creatable.type = isly.object({
10
+ new: isly.string(),
11
+ repeat: isly.string(),
12
+ });
13
+ })(Creatable = Password.Creatable || (Password.Creatable = {}));
14
+ async function create(creatable, pepper) {
15
+ let result;
16
+ if (creatable.new !== creatable.repeat)
17
+ result = gracely.client.forbidden("The new password and the repeated password do not match.");
18
+ else if (!pepper)
19
+ result = gracely.server.backendFailure("The password cannot be created without a pepper.");
20
+ else
21
+ result = { hash: await hash(creatable.new, pepper), changed: isoly.DateTime.now() };
22
+ return result;
23
+ }
24
+ Password.create = create;
25
+ function salt() {
26
+ return cryptly.Base64.encode(cryptly.RandomValue.generate(new Uint8Array(64)).toString());
27
+ }
28
+ Password.salt = salt;
29
+ async function hash(password, pepper) {
30
+ return cryptly.Password.hash(signer(pepper), password, salt());
31
+ }
32
+ Password.hash = hash;
33
+ async function verify(password, hash, pepper) {
34
+ return cryptly.Password.verify(signer(pepper), hash, password);
35
+ }
36
+ Password.verify = verify;
37
+ function signer(pepper) {
38
+ return cryptly.Signer.create("HMAC", "SHA-512", pepper);
39
+ }
40
+ })(Password || (Password = {}));
41
+ //# sourceMappingURL=Password.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Password.js","sourceRoot":"","sources":["../../../User/Password.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAM3B,MAAM,KAAW,QAAQ,CAiCxB;AAjCD,WAAiB,QAAQ;IAKxB,IAAiB,SAAS,CAKzB;IALD,WAAiB,SAAS;QACZ,cAAI,GAAG,IAAI,CAAC,MAAM,CAAY;YAC1C,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE;YAClB,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;SACrB,CAAC,CAAA;IACH,CAAC,EALgB,SAAS,GAAT,kBAAS,KAAT,kBAAS,QAKzB;IACM,KAAK,UAAU,MAAM,CAAC,SAAoB,EAAE,MAA0B;QAC5E,IAAI,MAA0C,CAAA;QAC9C,IAAI,SAAS,CAAC,GAAG,KAAK,SAAS,CAAC,MAAM;YACrC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,0DAA0D,CAAC,CAAA;aACzF,IAAI,CAAC,MAAM;YACf,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,kDAAkD,CAAC,CAAA;;YAE1F,MAAM,GAAG,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAA;QACpF,OAAO,MAAM,CAAA;IACd,CAAC;IATqB,eAAM,SAS3B,CAAA;IACD,SAAgB,IAAI;QACnB,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC1F,CAAC;IAFe,aAAI,OAEnB,CAAA;IACM,KAAK,UAAU,IAAI,CAAC,QAAgB,EAAE,MAAc;QAC1D,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/D,CAAC;IAFqB,aAAI,OAEzB,CAAA;IACM,KAAK,UAAU,MAAM,CAAC,QAAgB,EAAE,IAA2B,EAAE,MAAc;QACzF,OAAO,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC/D,CAAC;IAFqB,eAAM,SAE3B,CAAA;IACD,SAAS,MAAM,CAAC,MAAc;QAC7B,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;IACxD,CAAC;AACF,CAAC,EAjCgB,QAAQ,KAAR,QAAQ,QAiCxB"}
@@ -0,0 +1,46 @@
1
+ import { isoly } from "isoly";
2
+ import { Realm } from "../Realm";
3
+ import { Access as UserAccess } from "./Access";
4
+ import { Identity as UserIdentity } from "./Identity";
5
+ import { JWT as UserJWT } from "./JWT";
6
+ import { Me as UserMe } from "./Me";
7
+ import { Password as UserPassword } from "./Password";
8
+ export interface User {
9
+ email: string;
10
+ access: User.Access;
11
+ changed: isoly.DateTime;
12
+ created: isoly.DateTime;
13
+ password: {
14
+ changed: isoly.DateTime;
15
+ };
16
+ }
17
+ export declare namespace User {
18
+ export import Access = UserAccess;
19
+ export import Identity = UserIdentity;
20
+ export import JWT = UserJWT;
21
+ export import Me = UserMe;
22
+ export import Password = UserPassword;
23
+ function fromInvite(invite: Invite): User;
24
+ function toJWTPayloadCreatable(user: User, realm: Realm): User.JWT.Payload.Creatable;
25
+ interface Creatable {
26
+ invite: string;
27
+ password: Password.Creatable;
28
+ }
29
+ namespace Creatable {
30
+ const type: import("isly/dist/cjs/object").IslyObject<Creatable, object>;
31
+ }
32
+ interface Invite {
33
+ id: string;
34
+ email: string;
35
+ access: Access;
36
+ }
37
+ namespace Invite {
38
+ interface Creatable {
39
+ email: string;
40
+ access: Access;
41
+ }
42
+ namespace Creatable {
43
+ const type: import("isly/dist/cjs/object").IslyObject<Creatable, object>;
44
+ }
45
+ }
46
+ }
@@ -0,0 +1,51 @@
1
+ import { isoly } from "isoly";
2
+ import { isly } from "isly";
3
+ import { Access as UserAccess } from "./Access";
4
+ import { Identity as UserIdentity } from "./Identity";
5
+ import { JWT as UserJWT } from "./JWT";
6
+ import { Me as UserMe } from "./Me";
7
+ import { Password as UserPassword } from "./Password";
8
+ export var User;
9
+ (function (User) {
10
+ User.Access = UserAccess;
11
+ User.Identity = UserIdentity;
12
+ User.JWT = UserJWT;
13
+ User.Me = UserMe;
14
+ User.Password = UserPassword;
15
+ function fromInvite(invite) {
16
+ const now = isoly.DateTime.now();
17
+ return {
18
+ email: invite.email,
19
+ access: invite.access,
20
+ changed: now,
21
+ created: now,
22
+ password: {
23
+ changed: now,
24
+ },
25
+ };
26
+ }
27
+ User.fromInvite = fromInvite;
28
+ function toJWTPayloadCreatable(user, realm) {
29
+ return {
30
+ sub: user.email,
31
+ permission: { ...(user.access[realm] ?? {}), ...(user.access["*"] ?? {}) },
32
+ realm,
33
+ };
34
+ }
35
+ User.toJWTPayloadCreatable = toJWTPayloadCreatable;
36
+ let Creatable;
37
+ (function (Creatable) {
38
+ Creatable.type = isly.object({
39
+ invite: isly.string(),
40
+ password: isly.object({ new: isly.string(), repeat: isly.string() }),
41
+ });
42
+ })(Creatable = User.Creatable || (User.Creatable = {}));
43
+ let Invite;
44
+ (function (Invite) {
45
+ let Creatable;
46
+ (function (Creatable) {
47
+ Creatable.type = isly.object({ email: isly.string(), access: User.Access.type });
48
+ })(Creatable = Invite.Creatable || (Invite.Creatable = {}));
49
+ })(Invite = User.Invite || (User.Invite = {}));
50
+ })(User || (User = {}));
51
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../User/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,YAAY,CAAA;AACrD,OAAO,EAAE,GAAG,IAAI,OAAO,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,YAAY,CAAA;AAWrD,MAAM,KAAW,IAAI,CAiDpB;AAjDD,WAAiB,IAAI;IACN,WAAM,GAAG,UAAU,CAAA;IACnB,aAAQ,GAAG,YAAY,CAAA;IACvB,QAAG,GAAG,OAAO,CAAA;IACb,OAAE,GAAG,MAAM,CAAA;IACX,aAAQ,GAAG,YAAY,CAAA;IACrC,SAAgB,UAAU,CAAC,MAAc;QACxC,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAA;QAChC,OAAO;YACN,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE,GAAG;YACZ,OAAO,EAAE,GAAG;YACZ,QAAQ,EAAE;gBACT,OAAO,EAAE,GAAG;aACZ;SACD,CAAA;IACF,CAAC;IAXe,eAAU,aAWzB,CAAA;IACD,SAAgB,qBAAqB,CAAC,IAAU,EAAE,KAAY;QAC7D,OAAO;YACN,GAAG,EAAE,IAAI,CAAC,KAAK;YACf,UAAU,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE;YAC1E,KAAK;SACL,CAAA;IACF,CAAC;IANe,0BAAqB,wBAMpC,CAAA;IAKD,IAAiB,SAAS,CAKzB;IALD,WAAiB,SAAS;QACZ,cAAI,GAAG,IAAI,CAAC,MAAM,CAAY;YAC1C,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;YACrB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;SACpE,CAAC,CAAA;IACH,CAAC,EALgB,SAAS,GAAT,cAAS,KAAT,cAAS,QAKzB;IAMD,IAAiB,MAAM,CAQtB;IARD,WAAiB,MAAM;QAKtB,IAAiB,SAAS,CAEzB;QAFD,WAAiB,SAAS;YACZ,cAAI,GAAG,IAAI,CAAC,MAAM,CAAY,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAA,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;QAC1F,CAAC,EAFgB,SAAS,GAAT,gBAAS,KAAT,gBAAS,QAEzB;IACF,CAAC,EARgB,MAAM,GAAN,WAAM,KAAN,WAAM,QAQtB;AACF,CAAC,EAjDgB,IAAI,KAAJ,IAAI,QAiDpB"}