@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,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Permission = void 0;
4
+ const isly_1 = require("isly");
5
+ const typedly_1 = require("typedly");
6
+ var Permission;
7
+ (function (Permission) {
8
+ function check(constraint, privilege) {
9
+ return typedly_1.typedly.Object.entries(constraint).every(([collection, level]) => Permission.Level.get(privilege[collection]) >= Permission.Level.get(level) ||
10
+ Permission.Level.get(privilege["*"]) >= Permission.Level.get(level));
11
+ }
12
+ Permission.check = check;
13
+ let Level;
14
+ (function (Level) {
15
+ Level.values = ["read", "write", "developer", "admin"];
16
+ Level.type = isly_1.isly.string(Level.values);
17
+ function get(level) {
18
+ return level ? Level.value[level] : 0;
19
+ }
20
+ Level.get = get;
21
+ Level.value = {
22
+ read: 1,
23
+ write: 2,
24
+ developer: 3,
25
+ admin: 4,
26
+ };
27
+ })(Level = Permission.Level || (Permission.Level = {}));
28
+ let Collection;
29
+ (function (Collection) {
30
+ Collection.values = [
31
+ "account",
32
+ "card",
33
+ "log",
34
+ "operation",
35
+ "organization",
36
+ "rule",
37
+ "settlement",
38
+ "transaction",
39
+ "treasury",
40
+ "user",
41
+ "*",
42
+ ];
43
+ Collection.type = isly_1.isly.string(Collection.values);
44
+ })(Collection = Permission.Collection || (Permission.Collection = {}));
45
+ Permission.type = isly_1.isly.record(Collection.type, Level.type);
46
+ })(Permission || (exports.Permission = Permission = {}));
47
+ //# sourceMappingURL=Permission.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Permission.js","sourceRoot":"","sources":["../../../../User/Access/Permission.ts"],"names":[],"mappings":";;;AAAA,+BAA2B;AAC3B,qCAAiC;AAGjC,IAAiB,UAAU,CA0C1B;AA1CD,WAAiB,UAAU;IAG1B,SAAgB,KAAK,CAAC,UAAsB,EAAE,SAAqB;QAClE,OAAO,iBAAO,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,WAAI,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,WAAI,CAAC,MAAM,CAAC,WAAA,MAAM,CAAC,CAAA;IACxC,CAAC,EAfgB,UAAU,GAAV,qBAAU,KAAV,qBAAU,QAe1B;IACY,eAAI,GAAG,WAAI,CAAC,MAAM,CAAa,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;AACzE,CAAC,EA1CgB,UAAU,0BAAV,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,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Access = void 0;
4
+ const isly_1 = require("isly");
5
+ const Permission_1 = require("./Permission");
6
+ var Access;
7
+ (function (Access) {
8
+ Access.Permission = Permission_1.Permission;
9
+ Access.type = isly_1.isly.object({
10
+ uk: Access.Permission.type.optional(),
11
+ eea: Access.Permission.type.optional(),
12
+ test: Access.Permission.type.optional(),
13
+ "*": isly_1.isly.object({ user: Access.Permission.Level.type.optional() }).optional(),
14
+ });
15
+ })(Access || (exports.Access = Access = {}));
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../User/Access/index.ts"],"names":[],"mappings":";;;AAAA,+BAA2B;AAC3B,6CAA6D;AAS7D,IAAiB,MAAM,CAQtB;AARD,WAAiB,MAAM;IACR,iBAAU,GAAG,uBAAgB,CAAA;IAC9B,WAAI,GAAG,WAAI,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,WAAI,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,sBAAN,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,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Identity = void 0;
4
+ const gracely_1 = require("gracely");
5
+ const Access_1 = require("./Access");
6
+ const JWT_1 = require("./JWT");
7
+ class Identity {
8
+ payload;
9
+ jwt;
10
+ get realm() {
11
+ return this.payload.realm;
12
+ }
13
+ constructor(payload, jwt) {
14
+ this.payload = payload;
15
+ this.jwt = jwt;
16
+ }
17
+ authenticate(constraint) {
18
+ let allowed;
19
+ if (Array.isArray(constraint))
20
+ allowed = constraint.some(c => this.authenticate(c));
21
+ else
22
+ allowed = Access_1.Access.Permission.check(constraint, this.payload.permission);
23
+ return allowed ? this : gracely_1.gracely.client.forbidden();
24
+ }
25
+ static async open(authorization, options) {
26
+ const jwt = authorization?.startsWith("Bearer ") ? authorization.replace("Bearer ", "") : undefined;
27
+ const payload = jwt ? await JWT_1.JWT.open({ public: options.key }, options.whitelist).verify(jwt) : undefined;
28
+ return jwt && payload ? new Identity(payload, jwt) : gracely_1.gracely.client.unauthorized();
29
+ }
30
+ }
31
+ exports.Identity = Identity;
32
+ //# sourceMappingURL=Identity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Identity.js","sourceRoot":"","sources":["../../../User/Identity.ts"],"names":[],"mappings":";;;AAAA,qCAAiC;AAGjC,qCAAiC;AACjC,+BAA2B;AAE3B,MAAa,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,eAAM,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QACvE,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAO,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,SAAG,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,iBAAO,CAAC,MAAM,CAAC,YAAY,EAAE,CAAA;IACnF,CAAC;CACD;AAxBD,4BAwBC"}
@@ -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,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Payload = void 0;
4
+ const isly_1 = require("isly");
5
+ const Realm_1 = require("../../Realm");
6
+ const Access_1 = require("../Access");
7
+ var Payload;
8
+ (function (Payload) {
9
+ let Creatable;
10
+ (function (Creatable) {
11
+ Creatable.type = isly_1.isly.object({
12
+ sub: isly_1.isly.string(),
13
+ permission: Access_1.Access.Permission.type,
14
+ realm: Realm_1.Realm.type,
15
+ });
16
+ })(Creatable = Payload.Creatable || (Payload.Creatable = {}));
17
+ let Base;
18
+ (function (Base) {
19
+ Base.type = isly_1.isly.object({
20
+ aud: isly_1.isly.string(),
21
+ iat: isly_1.isly.number(),
22
+ iss: isly_1.isly.string(),
23
+ sub: isly_1.isly.string(),
24
+ permission: Access_1.Access.Permission.type,
25
+ realm: Realm_1.Realm.type,
26
+ });
27
+ })(Base = Payload.Base || (Payload.Base = {}));
28
+ let LongTerm;
29
+ (function (LongTerm) {
30
+ LongTerm.type = Base.type.extend({ id: isly_1.isly.string() });
31
+ })(LongTerm = Payload.LongTerm || (Payload.LongTerm = {}));
32
+ let ShortTerm;
33
+ (function (ShortTerm) {
34
+ ShortTerm.type = Base.type.extend({ exp: isly_1.isly.number() });
35
+ })(ShortTerm = Payload.ShortTerm || (Payload.ShortTerm = {}));
36
+ Payload.configuration = {
37
+ aud: "https://banking.pax2pay.app",
38
+ iss: "pax2pay",
39
+ };
40
+ Payload.type = isly_1.isly.union(LongTerm.type, ShortTerm.type);
41
+ })(Payload || (exports.Payload = Payload = {}));
42
+ //# sourceMappingURL=Payload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Payload.js","sourceRoot":"","sources":["../../../../User/JWT/Payload.ts"],"names":[],"mappings":";;;AACA,+BAA2B;AAC3B,uCAAmC;AACnC,sCAAkC;AAGlC,IAAiB,OAAO,CAiDvB;AAjDD,WAAiB,OAAO;IAMvB,IAAiB,SAAS,CAMzB;IAND,WAAiB,SAAS;QACZ,cAAI,GAAG,WAAI,CAAC,MAAM,CAAY;YAC1C,GAAG,EAAE,WAAI,CAAC,MAAM,EAAE;YAClB,UAAU,EAAE,eAAM,CAAC,UAAU,CAAC,IAAI;YAClC,KAAK,EAAE,aAAK,CAAC,IAAI;SACjB,CAAC,CAAA;IACH,CAAC,EANgB,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAMzB;IASD,IAAiB,IAAI,CASpB;IATD,WAAiB,IAAI;QACP,SAAI,GAAG,WAAI,CAAC,MAAM,CAAU;YACxC,GAAG,EAAE,WAAI,CAAC,MAAM,EAAE;YAClB,GAAG,EAAE,WAAI,CAAC,MAAM,EAAE;YAClB,GAAG,EAAE,WAAI,CAAC,MAAM,EAAE;YAClB,GAAG,EAAE,WAAI,CAAC,MAAM,EAAE;YAClB,UAAU,EAAE,eAAM,CAAC,UAAU,CAAC,IAAI;YAClC,KAAK,EAAE,aAAK,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,WAAI,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,WAAI,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,WAAI,CAAC,KAAK,CAAU,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;AACvE,CAAC,EAjDgB,OAAO,uBAAP,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,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Signer = void 0;
4
+ const authly_1 = require("authly");
5
+ const Payload_1 = require("./Payload");
6
+ class Signer {
7
+ key;
8
+ constructor(key) {
9
+ this.key = key;
10
+ }
11
+ async sign(data, duration = 60 * 60 * 12) {
12
+ let result;
13
+ if (duration === "infinite") {
14
+ const signer = Signer.create({ key: this.key });
15
+ result = await signer?.sign({ id: authly_1.authly.Identifier.generate(16), ...data });
16
+ }
17
+ else {
18
+ const signer = Signer.create({ key: this.key, duration });
19
+ result = await signer?.sign({ ...data });
20
+ }
21
+ return result;
22
+ }
23
+ static open(key) {
24
+ return new this(key);
25
+ }
26
+ }
27
+ exports.Signer = Signer;
28
+ (function (Signer) {
29
+ function create(options) {
30
+ const signer = authly_1.authly.Issuer.create(Payload_1.Payload.configuration.iss, authly_1.authly.Algorithm.RS256(options.key?.public, options.key?.private));
31
+ if (signer) {
32
+ signer.duration = options.duration;
33
+ signer.audience = Payload_1.Payload.configuration.aud;
34
+ }
35
+ return signer;
36
+ }
37
+ Signer.create = create;
38
+ })(Signer || (exports.Signer = Signer = {}));
39
+ //# sourceMappingURL=Signer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Signer.js","sourceRoot":"","sources":["../../../../User/JWT/Signer.ts"],"names":[],"mappings":";;;AAAA,mCAA+B;AAC/B,uCAAmC;AAEnC,MAAa,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,eAAM,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;AAnBD,wBAmBC;AACD,WAAiB,MAAM;IACtB,SAAgB,MAAM,CAA2B,OAGhD;QACA,MAAM,MAAM,GAAG,eAAM,CAAC,MAAM,CAAC,MAAM,CAClC,iBAAO,CAAC,aAAa,CAAC,GAAG,EACzB,eAAM,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,iBAAO,CAAC,aAAa,CAAC,GAAG,CAAA;QAC5C,CAAC;QACD,OAAO,MAAM,CAAA;IACd,CAAC;IAbe,aAAM,SAarB,CAAA;AACF,CAAC,EAfgB,MAAM,sBAAN,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,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JWT = void 0;
4
+ const authly_1 = require("authly");
5
+ const Payload_1 = require("./Payload");
6
+ const Signer_1 = require("./Signer");
7
+ class JWT {
8
+ key;
9
+ whitelist;
10
+ #verifier;
11
+ get verifier() {
12
+ if (!this.#verifier && this.key?.public) {
13
+ const algorithm = authly_1.authly.Algorithm.RS256(this.key.public);
14
+ this.#verifier = algorithm ? authly_1.authly.Verifier.create(algorithm) : undefined;
15
+ }
16
+ return this.#verifier;
17
+ }
18
+ #signer;
19
+ get signer() {
20
+ return this.key?.private ? (this.#signer ??= Signer_1.Signer.open(this.key)) : undefined;
21
+ }
22
+ get sign() {
23
+ return this.signer?.sign;
24
+ }
25
+ constructor(key, whitelist) {
26
+ this.key = key;
27
+ this.whitelist = whitelist;
28
+ }
29
+ async verify(token) {
30
+ const verified = await this.verifier?.verify(token, JWT.Payload.configuration.aud);
31
+ delete verified?.token;
32
+ return JWT.Payload.type.is(verified) &&
33
+ verified?.iss == JWT.Payload.configuration.iss &&
34
+ (verified.exp || (verified.id && this.whitelist?.[verified.realm]?.some(e => e.id === verified.id)))
35
+ ? verified
36
+ : undefined;
37
+ }
38
+ async unpack(token) {
39
+ const unpacked = await JWT.unpack(token);
40
+ delete unpacked?.token;
41
+ return unpacked;
42
+ }
43
+ static open(key, whitelist) {
44
+ return new this({ private: key?.private, public: key?.public ?? JWT.key }, whitelist);
45
+ }
46
+ }
47
+ exports.JWT = JWT;
48
+ (function (JWT) {
49
+ JWT.Signer = Signer_1.Signer;
50
+ async function unpack(token) {
51
+ const algorithm = authly_1.authly.Algorithm.RS256(undefined);
52
+ const verifier = algorithm ? authly_1.authly.Verifier.create(algorithm) : undefined;
53
+ return verifier?.unpack(token);
54
+ }
55
+ JWT.unpack = unpack;
56
+ JWT.Payload = Payload_1.Payload;
57
+ 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==";
58
+ })(JWT || (exports.JWT = JWT = {}));
59
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../User/JWT/index.ts"],"names":[],"mappings":"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"}
@@ -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,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Me = void 0;
4
+ const isly_1 = require("isly");
5
+ const Realm_1 = require("../Realm");
6
+ var Me;
7
+ (function (Me) {
8
+ Me.type = isly_1.isly.object({
9
+ email: isly_1.isly.string(),
10
+ password: isly_1.isly.string(),
11
+ realm: Realm_1.Realm.type,
12
+ });
13
+ })(Me || (exports.Me = Me = {}));
14
+ //# sourceMappingURL=Me.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Me.js","sourceRoot":"","sources":["../../../User/Me.ts"],"names":[],"mappings":";;;AAAA,+BAA2B;AAC3B,oCAAgC;AAOhC,IAAiB,EAAE,CAMlB;AAND,WAAiB,EAAE;IACL,OAAI,GAAG,WAAI,CAAC,MAAM,CAAK;QACnC,KAAK,EAAE,WAAI,CAAC,MAAM,EAAE;QACpB,QAAQ,EAAE,WAAI,CAAC,MAAM,EAAE;QACvB,KAAK,EAAE,aAAK,CAAC,IAAI;KACjB,CAAC,CAAA;AACH,CAAC,EANgB,EAAE,kBAAF,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,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Password = void 0;
4
+ const cryptly_1 = require("cryptly");
5
+ const gracely_1 = require("gracely");
6
+ const isoly_1 = require("isoly");
7
+ const isly_1 = require("isly");
8
+ var Password;
9
+ (function (Password) {
10
+ let Creatable;
11
+ (function (Creatable) {
12
+ Creatable.type = isly_1.isly.object({
13
+ new: isly_1.isly.string(),
14
+ repeat: isly_1.isly.string(),
15
+ });
16
+ })(Creatable = Password.Creatable || (Password.Creatable = {}));
17
+ async function create(creatable, pepper) {
18
+ let result;
19
+ if (creatable.new !== creatable.repeat)
20
+ result = gracely_1.gracely.client.forbidden("The new password and the repeated password do not match.");
21
+ else if (!pepper)
22
+ result = gracely_1.gracely.server.backendFailure("The password cannot be created without a pepper.");
23
+ else
24
+ result = { hash: await hash(creatable.new, pepper), changed: isoly_1.isoly.DateTime.now() };
25
+ return result;
26
+ }
27
+ Password.create = create;
28
+ function salt() {
29
+ return cryptly_1.cryptly.Base64.encode(cryptly_1.cryptly.RandomValue.generate(new Uint8Array(64)).toString());
30
+ }
31
+ Password.salt = salt;
32
+ async function hash(password, pepper) {
33
+ return cryptly_1.cryptly.Password.hash(signer(pepper), password, salt());
34
+ }
35
+ Password.hash = hash;
36
+ async function verify(password, hash, pepper) {
37
+ return cryptly_1.cryptly.Password.verify(signer(pepper), hash, password);
38
+ }
39
+ Password.verify = verify;
40
+ function signer(pepper) {
41
+ return cryptly_1.cryptly.Signer.create("HMAC", "SHA-512", pepper);
42
+ }
43
+ })(Password || (exports.Password = Password = {}));
44
+ //# sourceMappingURL=Password.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Password.js","sourceRoot":"","sources":["../../../User/Password.ts"],"names":[],"mappings":";;;AAAA,qCAAiC;AACjC,qCAAiC;AACjC,iCAA6B;AAC7B,+BAA2B;AAM3B,IAAiB,QAAQ,CAiCxB;AAjCD,WAAiB,QAAQ;IAKxB,IAAiB,SAAS,CAKzB;IALD,WAAiB,SAAS;QACZ,cAAI,GAAG,WAAI,CAAC,MAAM,CAAY;YAC1C,GAAG,EAAE,WAAI,CAAC,MAAM,EAAE;YAClB,MAAM,EAAE,WAAI,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,iBAAO,CAAC,MAAM,CAAC,SAAS,CAAC,0DAA0D,CAAC,CAAA;aACzF,IAAI,CAAC,MAAM;YACf,MAAM,GAAG,iBAAO,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,aAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAA;QACpF,OAAO,MAAM,CAAA;IACd,CAAC;IATqB,eAAM,SAS3B,CAAA;IACD,SAAgB,IAAI;QACnB,OAAO,iBAAO,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAO,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,iBAAO,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,iBAAO,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,iBAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;IACxD,CAAC;AACF,CAAC,EAjCgB,QAAQ,wBAAR,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
+ }