@pax2pay/model-banking 0.1.508 → 0.1.510

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 (99) hide show
  1. package/Card/Creatable.ts +10 -8
  2. package/Card/Restriction/Merchant.ts +108 -0
  3. package/Card/Restriction/index.ts +28 -0
  4. package/Card/index.ts +17 -8
  5. package/User/Access/Permission.ts +47 -0
  6. package/User/Access/index.ts +19 -0
  7. package/User/Identity.ts +32 -0
  8. package/User/JWT/Payload.ts +56 -0
  9. package/User/JWT/Signer.ts +39 -0
  10. package/User/JWT/index.ts +57 -0
  11. package/User/Me.ts +15 -0
  12. package/User/Password.ts +43 -0
  13. package/User/index.ts +68 -0
  14. package/dist/cjs/Card/Creatable.d.ts +4 -0
  15. package/dist/cjs/Card/Creatable.js +9 -8
  16. package/dist/cjs/Card/Creatable.js.map +1 -1
  17. package/dist/cjs/Card/Restriction/Merchant.d.ts +16 -0
  18. package/dist/cjs/Card/Restriction/Merchant.js +101 -0
  19. package/dist/cjs/Card/Restriction/Merchant.js.map +1 -0
  20. package/dist/cjs/Card/Restriction/index.d.ts +12 -0
  21. package/dist/cjs/Card/Restriction/index.js +26 -0
  22. package/dist/cjs/Card/Restriction/index.js.map +1 -0
  23. package/dist/cjs/Card/index.d.ts +7 -2
  24. package/dist/cjs/Card/index.js +16 -8
  25. package/dist/cjs/Card/index.js.map +1 -1
  26. package/dist/cjs/User/Access/Permission.d.ts +20 -0
  27. package/dist/cjs/User/Access/Permission.js +47 -0
  28. package/dist/cjs/User/Access/Permission.js.map +1 -0
  29. package/dist/cjs/User/Access/index.d.ts +11 -0
  30. package/dist/cjs/User/Access/index.js +16 -0
  31. package/dist/cjs/User/Access/index.js.map +1 -0
  32. package/dist/cjs/User/Identity.d.ts +16 -0
  33. package/dist/cjs/User/Identity.js +32 -0
  34. package/dist/cjs/User/Identity.js.map +1 -0
  35. package/dist/cjs/User/JWT/Payload.d.ts +43 -0
  36. package/dist/cjs/User/JWT/Payload.js +42 -0
  37. package/dist/cjs/User/JWT/Payload.js.map +1 -0
  38. package/dist/cjs/User/JWT/Signer.d.ts +23 -0
  39. package/dist/cjs/User/JWT/Signer.js +39 -0
  40. package/dist/cjs/User/JWT/Signer.js.map +1 -0
  41. package/dist/cjs/User/JWT/index.d.ts +25 -0
  42. package/dist/cjs/User/JWT/index.js +59 -0
  43. package/dist/cjs/User/JWT/index.js.map +1 -0
  44. package/dist/cjs/User/Me.d.ts +9 -0
  45. package/dist/cjs/User/Me.js +14 -0
  46. package/dist/cjs/User/Me.js.map +1 -0
  47. package/dist/cjs/User/Password.d.ts +20 -0
  48. package/dist/cjs/User/Password.js +44 -0
  49. package/dist/cjs/User/Password.js.map +1 -0
  50. package/dist/cjs/User/index.d.ts +46 -0
  51. package/dist/cjs/User/index.js +54 -0
  52. package/dist/cjs/User/index.js.map +1 -0
  53. package/dist/cjs/pax2pay.d.ts +2 -1
  54. package/dist/cjs/pax2pay.js +5 -3
  55. package/dist/cjs/pax2pay.js.map +1 -1
  56. package/dist/mjs/Card/Creatable.d.ts +4 -0
  57. package/dist/mjs/Card/Creatable.js +9 -8
  58. package/dist/mjs/Card/Creatable.js.map +1 -1
  59. package/dist/mjs/Card/Restriction/Merchant.d.ts +16 -0
  60. package/dist/mjs/Card/Restriction/Merchant.js +98 -0
  61. package/dist/mjs/Card/Restriction/Merchant.js.map +1 -0
  62. package/dist/mjs/Card/Restriction/index.d.ts +12 -0
  63. package/dist/mjs/Card/Restriction/index.js +23 -0
  64. package/dist/mjs/Card/Restriction/index.js.map +1 -0
  65. package/dist/mjs/Card/index.d.ts +7 -2
  66. package/dist/mjs/Card/index.js +16 -8
  67. package/dist/mjs/Card/index.js.map +1 -1
  68. package/dist/mjs/User/Access/Permission.d.ts +20 -0
  69. package/dist/mjs/User/Access/Permission.js +44 -0
  70. package/dist/mjs/User/Access/Permission.js.map +1 -0
  71. package/dist/mjs/User/Access/index.d.ts +11 -0
  72. package/dist/mjs/User/Access/index.js +13 -0
  73. package/dist/mjs/User/Access/index.js.map +1 -0
  74. package/dist/mjs/User/Identity.d.ts +16 -0
  75. package/dist/mjs/User/Identity.js +28 -0
  76. package/dist/mjs/User/Identity.js.map +1 -0
  77. package/dist/mjs/User/JWT/Payload.d.ts +43 -0
  78. package/dist/mjs/User/JWT/Payload.js +39 -0
  79. package/dist/mjs/User/JWT/Payload.js.map +1 -0
  80. package/dist/mjs/User/JWT/Signer.d.ts +23 -0
  81. package/dist/mjs/User/JWT/Signer.js +35 -0
  82. package/dist/mjs/User/JWT/Signer.js.map +1 -0
  83. package/dist/mjs/User/JWT/index.d.ts +25 -0
  84. package/dist/mjs/User/JWT/index.js +55 -0
  85. package/dist/mjs/User/JWT/index.js.map +1 -0
  86. package/dist/mjs/User/Me.d.ts +9 -0
  87. package/dist/mjs/User/Me.js +11 -0
  88. package/dist/mjs/User/Me.js.map +1 -0
  89. package/dist/mjs/User/Password.d.ts +20 -0
  90. package/dist/mjs/User/Password.js +41 -0
  91. package/dist/mjs/User/Password.js.map +1 -0
  92. package/dist/mjs/User/index.d.ts +46 -0
  93. package/dist/mjs/User/index.js +51 -0
  94. package/dist/mjs/User/index.js.map +1 -0
  95. package/dist/mjs/pax2pay.d.ts +2 -1
  96. package/dist/mjs/pax2pay.js +2 -1
  97. package/dist/mjs/pax2pay.js.map +1 -1
  98. package/package.json +1 -1
  99. package/pax2pay.ts +2 -1
@@ -9,30 +9,26 @@ const type_1 = require("../Rule/type");
9
9
  const Expiry_1 = require("./Expiry");
10
10
  const Meta_1 = require("./Meta");
11
11
  const Preset_1 = require("./Preset");
12
+ const Restriction_1 = require("./Restriction");
12
13
  var Creatable;
13
14
  (function (Creatable) {
14
15
  Creatable.type = isly_1.isly.object({
15
16
  account: isly_1.isly.string(),
16
17
  number: isly_1.isly.string().optional(),
17
18
  preset: Preset_1.Preset.type,
18
- details: isly_1.isly.object({
19
- expiry: Expiry_1.Expiry.type,
20
- holder: isly_1.isly.string(),
21
- }),
19
+ details: isly_1.isly.object({ expiry: Expiry_1.Expiry.type, holder: isly_1.isly.string() }),
22
20
  limit: isly_1.isly.tuple(isly_1.isly.fromIs("isoly.Currency", isoly_1.isoly.Currency.is), isly_1.isly.number()),
23
21
  rules: type_1.type.array().optional(),
24
22
  meta: isly_1.isly.fromIs("Card.Meta", Meta_1.Meta.is).optional(),
25
23
  key: isly_1.isly.string().optional(),
24
+ restricted: isly_1.isly.object({ to: Restriction_1.Restriction.type.optional() }).optional(),
26
25
  });
27
26
  Creatable.type2 = isly2_1.isly.object({
28
27
  account: isly2_1.isly.string().rename("Account").describe("The account id the card was created on."),
29
28
  number: isly2_1.isly.string().optional().rename("Number").describe("The card identifier of the user of the api."),
30
29
  preset: Preset_1.Preset.type2,
31
30
  details: isly2_1.isly
32
- .object({
33
- expiry: Expiry_1.Expiry.type2,
34
- holder: isly2_1.isly.string(),
35
- })
31
+ .object({ expiry: Expiry_1.Expiry.type2, holder: isly2_1.isly.string() })
36
32
  .rename("Details")
37
33
  .describe("The card details, the information that will be displayed on the card."),
38
34
  limit: isly2_1.isly
@@ -47,6 +43,11 @@ var Creatable;
47
43
  .describe("Card rules that applies to authorizations made with the card."),
48
44
  meta: isly2_1.isly.from("Meta", Meta_1.Meta.is).optional(),
49
45
  key: isly2_1.isly.string().optional(),
46
+ restricted: isly2_1.isly
47
+ .object({ to: Restriction_1.Restriction.type2.optional() })
48
+ .optional()
49
+ .rename("Restrictions")
50
+ .describe("Set of restrictions that apply to the card."),
50
51
  });
51
52
  })(Creatable || (exports.Creatable = Creatable = {}));
52
53
  //# sourceMappingURL=Creatable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Creatable.js","sourceRoot":"","sources":["../../../Card/Creatable.ts"],"names":[],"mappings":";;;AAAA,iCAA6B;AAC7B,mCAAwC;AACxC,+BAA2B;AAC3B,iCAAqC;AAGrC,uCAA+C;AAC/C,qCAAiC;AACjC,iCAA6B;AAC7B,qCAAiC;AAgBjC,IAAiB,SAAS,CAsCzB;AAtCD,WAAiB,SAAS;IACZ,cAAI,GAAG,WAAI,CAAC,MAAM,CAAY;QAC1C,OAAO,EAAE,WAAI,CAAC,MAAM,EAAE;QACtB,MAAM,EAAE,WAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAChC,MAAM,EAAE,eAAM,CAAC,IAAI;QACnB,OAAO,EAAE,WAAI,CAAC,MAAM,CAAC;YACpB,MAAM,EAAE,eAAM,CAAC,IAAI;YACnB,MAAM,EAAE,WAAI,CAAC,MAAM,EAAE;SACrB,CAAC;QACF,KAAK,EAAE,WAAI,CAAC,KAAK,CAAC,WAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,aAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,WAAI,CAAC,MAAM,EAAE,CAAC;QAClF,KAAK,EAAE,WAAQ,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;QAClC,IAAI,EAAE,WAAI,CAAC,MAAM,CAAC,WAAW,EAAE,WAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;QAClD,GAAG,EAAE,WAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC7B,CAAC,CAAA;IACW,eAAK,GAAG,YAAK,CAAC,MAAM,CAAY;QAC5C,OAAO,EAAE,YAAK,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,yCAAyC,CAAC;QAC7F,MAAM,EAAE,YAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,6CAA6C,CAAC;QAC1G,MAAM,EAAE,eAAM,CAAC,KAAK;QACpB,OAAO,EAAE,YAAK;aACZ,MAAM,CAAC;YACP,MAAM,EAAE,eAAM,CAAC,KAAK;YACpB,MAAM,EAAE,YAAK,CAAC,MAAM,EAAE;SACtB,CAAC;aACD,MAAM,CAAC,SAAS,CAAC;aACjB,QAAQ,CAAC,uEAAuE,CAAC;QACnF,KAAK,EAAE,YAAK;aACV,KAAK,CAAC,cAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAK,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;aACxG,MAAM,CAAC,OAAO,CAAC;aACf,QAAQ,CAAC,+CAA+C,CAAC;QAC3D,KAAK,EAAE,YAAK;aACV,IAAI,CAAC,MAAM,EAAE,WAAQ,CAAC,EAAE,CAAC;aACzB,KAAK,EAAE;aACP,QAAQ,EAAE;aACV,MAAM,CAAC,OAAO,CAAC;aACf,QAAQ,CAAC,+DAA+D,CAAC;QAC3E,IAAI,EAAE,YAAK,CAAC,IAAI,CAAC,MAAM,EAAE,WAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC5C,GAAG,EAAE,YAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC9B,CAAC,CAAA;AACH,CAAC,EAtCgB,SAAS,yBAAT,SAAS,QAsCzB"}
1
+ {"version":3,"file":"Creatable.js","sourceRoot":"","sources":["../../../Card/Creatable.ts"],"names":[],"mappings":";;;AAAA,iCAA6B;AAC7B,mCAAwC;AACxC,+BAA2B;AAC3B,iCAAqC;AAGrC,uCAA+C;AAC/C,qCAAiC;AACjC,iCAA6B;AAC7B,qCAAiC;AACjC,+CAA2C;AAiB3C,IAAiB,SAAS,CAsCzB;AAtCD,WAAiB,SAAS;IACZ,cAAI,GAAG,WAAI,CAAC,MAAM,CAAY;QAC1C,OAAO,EAAE,WAAI,CAAC,MAAM,EAAE;QACtB,MAAM,EAAE,WAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAChC,MAAM,EAAE,eAAM,CAAC,IAAI;QACnB,OAAO,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,eAAM,CAAC,IAAI,EAAE,MAAM,EAAE,WAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QACpE,KAAK,EAAE,WAAI,CAAC,KAAK,CAAC,WAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,aAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,WAAI,CAAC,MAAM,EAAE,CAAC;QAClF,KAAK,EAAE,WAAQ,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;QAClC,IAAI,EAAE,WAAI,CAAC,MAAM,CAAC,WAAW,EAAE,WAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;QAClD,GAAG,EAAE,WAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC7B,UAAU,EAAE,WAAI,CAAC,MAAM,CAAoC,EAAE,EAAE,EAAE,yBAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE;KAC1G,CAAC,CAAA;IACW,eAAK,GAAG,YAAK,CAAC,MAAM,CAAY;QAC5C,OAAO,EAAE,YAAK,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,yCAAyC,CAAC;QAC7F,MAAM,EAAE,YAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,6CAA6C,CAAC;QAC1G,MAAM,EAAE,eAAM,CAAC,KAAK;QACpB,OAAO,EAAE,YAAK;aACZ,MAAM,CAAC,EAAE,MAAM,EAAE,eAAM,CAAC,KAAK,EAAE,MAAM,EAAE,YAAK,CAAC,MAAM,EAAE,EAAE,CAAC;aACxD,MAAM,CAAC,SAAS,CAAC;aACjB,QAAQ,CAAC,uEAAuE,CAAC;QACnF,KAAK,EAAE,YAAK;aACV,KAAK,CAAC,cAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAK,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;aACxG,MAAM,CAAC,OAAO,CAAC;aACf,QAAQ,CAAC,+CAA+C,CAAC;QAC3D,KAAK,EAAE,YAAK;aACV,IAAI,CAAC,MAAM,EAAE,WAAQ,CAAC,EAAE,CAAC;aACzB,KAAK,EAAE;aACP,QAAQ,EAAE;aACV,MAAM,CAAC,OAAO,CAAC;aACf,QAAQ,CAAC,+DAA+D,CAAC;QAC3E,IAAI,EAAE,YAAK,CAAC,IAAI,CAAC,MAAM,EAAE,WAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC5C,GAAG,EAAE,YAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,UAAU,EAAE,YAAK;aACf,MAAM,CAAoC,EAAE,EAAE,EAAE,yBAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;aAC/E,QAAQ,EAAE;aACV,MAAM,CAAC,cAAc,CAAC;aACtB,QAAQ,CAAC,6CAA6C,CAAC;KACzD,CAAC,CAAA;AACH,CAAC,EAtCgB,SAAS,yBAAT,SAAS,QAsCzB"}
@@ -0,0 +1,16 @@
1
+ import { isly } from "isly";
2
+ import { isly as isly2 } from "isly2";
3
+ import type { Transaction } from "../../Transaction";
4
+ export type Merchant = typeof Merchant.values[number];
5
+ export declare namespace Merchant {
6
+ const values: readonly ["united airlines", "american air", "british airways", "air france", "lufthansa", "qantas", "alitalia", "saudi air", "sas", "air india", "air algerie", "emirates", "air malta", "etihad air", "tap", "avianca", "gulf air", "aer lingus", "turkish air", "royal air maroc", "tunis air", "austrian air", "flydubai", "cebu air", "thai airways", "china airlines", "malaysia airlines", "iberia", "qatar air", "ana air", "jet blue", "middle east airlines", "lot polish airlines", "norwegian air", "air arabia", "easyjet", "ryanair", "air china", "ethiopian airlines", "wizz air"];
7
+ const type: isly.Type<"united airlines" | "american air" | "british airways" | "air france" | "lufthansa" | "qantas" | "alitalia" | "saudi air" | "sas" | "air india" | "air algerie" | "emirates" | "air malta" | "etihad air" | "tap" | "avianca" | "gulf air" | "aer lingus" | "turkish air" | "royal air maroc" | "tunis air" | "austrian air" | "flydubai" | "cebu air" | "thai airways" | "china airlines" | "malaysia airlines" | "iberia" | "qatar air" | "ana air" | "jet blue" | "middle east airlines" | "lot polish airlines" | "norwegian air" | "air arabia" | "easyjet" | "ryanair" | "air china" | "ethiopian airlines" | "wizz air">;
8
+ const type2: isly2.String<"united airlines" | "american air" | "british airways" | "air france" | "lufthansa" | "qantas" | "alitalia" | "saudi air" | "sas" | "air india" | "air algerie" | "emirates" | "air malta" | "etihad air" | "tap" | "avianca" | "gulf air" | "aer lingus" | "turkish air" | "royal air maroc" | "tunis air" | "austrian air" | "flydubai" | "cebu air" | "thai airways" | "china airlines" | "malaysia airlines" | "iberia" | "qatar air" | "ana air" | "jet blue" | "middle east airlines" | "lot polish airlines" | "norwegian air" | "air arabia" | "easyjet" | "ryanair" | "air china" | "ethiopian airlines" | "wizz air">;
9
+ type Checker = (merchant: Merchant, transaction: Transaction.Creatable.CardTransaction | Transaction.PreTransaction.Authorization) => boolean;
10
+ type Attribute = {
11
+ mccs: string[];
12
+ checkers?: Checker[];
13
+ };
14
+ const attributes: Record<Merchant, Attribute>;
15
+ function check(merchant: Merchant, transaction: Transaction.Creatable.CardTransaction | Transaction.PreTransaction.Authorization): boolean;
16
+ }
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Merchant = void 0;
4
+ const isly_1 = require("isly");
5
+ const isly2_1 = require("isly2");
6
+ var Merchant;
7
+ (function (Merchant) {
8
+ Merchant.values = [
9
+ "united airlines",
10
+ "american air",
11
+ "british airways",
12
+ "air france",
13
+ "lufthansa",
14
+ "qantas",
15
+ "alitalia",
16
+ "saudi air",
17
+ "sas",
18
+ "air india",
19
+ "air algerie",
20
+ "emirates",
21
+ "air malta",
22
+ "etihad air",
23
+ "tap",
24
+ "avianca",
25
+ "gulf air",
26
+ "aer lingus",
27
+ "turkish air",
28
+ "royal air maroc",
29
+ "tunis air",
30
+ "austrian air",
31
+ "flydubai",
32
+ "cebu air",
33
+ "thai airways",
34
+ "china airlines",
35
+ "malaysia airlines",
36
+ "iberia",
37
+ "qatar air",
38
+ "ana air",
39
+ "jet blue",
40
+ "middle east airlines",
41
+ "lot polish airlines",
42
+ "norwegian air",
43
+ "air arabia",
44
+ "easyjet",
45
+ "ryanair",
46
+ "air china",
47
+ "ethiopian airlines",
48
+ "wizz air",
49
+ ];
50
+ Merchant.type = isly_1.isly.string(Merchant.values);
51
+ Merchant.type2 = isly2_1.isly.string("value", ...Merchant.values);
52
+ Merchant.attributes = {
53
+ "united airlines": { mccs: ["3000"] },
54
+ "american air": { mccs: ["3001"] },
55
+ "british airways": { mccs: ["3005"] },
56
+ "air france": { mccs: ["3007"] },
57
+ lufthansa: { mccs: ["3008"] },
58
+ qantas: { mccs: ["3012"] },
59
+ alitalia: { mccs: ["3013"] },
60
+ "saudi air": { mccs: ["3014"] },
61
+ sas: { mccs: ["3016"] },
62
+ "air india": { mccs: ["3020"] },
63
+ "air algerie": { mccs: ["3021"] },
64
+ emirates: { mccs: ["3026"] },
65
+ "air malta": { mccs: ["3028"] },
66
+ "etihad air": { mccs: ["3034"] },
67
+ tap: { mccs: ["3035"] },
68
+ avianca: { mccs: ["3039"] },
69
+ "gulf air": { mccs: ["3040"] },
70
+ "aer lingus": { mccs: ["3043"] },
71
+ "turkish air": { mccs: ["3047"] },
72
+ "royal air maroc": { mccs: ["3048"] },
73
+ "tunis air": { mccs: ["3049"] },
74
+ "austrian air": { mccs: ["3051"] },
75
+ flydubai: { mccs: ["3070"] },
76
+ "cebu air": { mccs: ["3072"] },
77
+ "thai airways": { mccs: ["3077"] },
78
+ "china airlines": { mccs: ["3078"] },
79
+ "malaysia airlines": { mccs: ["3100"] },
80
+ iberia: { mccs: ["3102"] },
81
+ "qatar air": { mccs: ["3136"] },
82
+ "ana air": { mccs: ["3161"] },
83
+ "jet blue": { mccs: ["3174"] },
84
+ "middle east airlines": { mccs: ["3175"] },
85
+ "lot polish airlines": { mccs: ["3182"] },
86
+ "norwegian air": { mccs: ["3211"] },
87
+ "air arabia": { mccs: ["3236"] },
88
+ easyjet: { mccs: ["3245"] },
89
+ ryanair: { mccs: ["3246"] },
90
+ "air china": { mccs: ["3261"] },
91
+ "ethiopian airlines": { mccs: ["3294"] },
92
+ "wizz air": { mccs: ["3301"] },
93
+ };
94
+ function check(merchant, transaction) {
95
+ const attribute = Merchant.attributes[merchant];
96
+ return (attribute.mccs.some(mcc => transaction.counterpart.merchant.category == mcc) ||
97
+ (attribute.checkers ?? []).some(checker => checker(merchant, transaction)));
98
+ }
99
+ Merchant.check = check;
100
+ })(Merchant || (exports.Merchant = Merchant = {}));
101
+ //# sourceMappingURL=Merchant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Merchant.js","sourceRoot":"","sources":["../../../../Card/Restriction/Merchant.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { isly as isly2 } from "isly2";
2
+ import type { Transaction } from "../../Transaction";
3
+ import { Merchant as RestrictionsMerchant } from "./Merchant";
4
+ export interface Restriction {
5
+ merchants?: Restriction.Merchant[];
6
+ }
7
+ export declare namespace Restriction {
8
+ export import Merchant = RestrictionsMerchant;
9
+ const type: import("isly/dist/cjs/object").IslyObject<Restriction, object>;
10
+ const type2: isly2.Object<Restriction>;
11
+ function check(restrictions: Restriction, transaction: Transaction.Creatable.CardTransaction | Transaction.PreTransaction.Authorization): boolean;
12
+ }
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Restriction = void 0;
4
+ const isly_1 = require("isly");
5
+ const isly2_1 = require("isly2");
6
+ const Merchant_1 = require("./Merchant");
7
+ var Restriction;
8
+ (function (Restriction) {
9
+ Restriction.Merchant = Merchant_1.Merchant;
10
+ Restriction.type = isly_1.isly.object({ merchants: Restriction.Merchant.type.array().optional() });
11
+ Restriction.type2 = isly2_1.isly.object({
12
+ merchants: Restriction.Merchant.type2
13
+ .array()
14
+ .optional()
15
+ .rename("Merchants")
16
+ .describe("List of merchants that the card can be used with."),
17
+ });
18
+ function check(restrictions, transaction) {
19
+ let result = true;
20
+ if (restrictions.merchants?.length)
21
+ result = restrictions.merchants.some(merchant => Restriction.Merchant.check(merchant, transaction));
22
+ return result;
23
+ }
24
+ Restriction.check = check;
25
+ })(Restriction || (exports.Restriction = Restriction = {}));
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../Card/Restriction/index.ts"],"names":[],"mappings":";;;AAAA,+BAA2B;AAC3B,iCAAqC;AAErC,yCAA6D;AAK7D,IAAiB,WAAW,CAmB3B;AAnBD,WAAiB,WAAW;IACb,oBAAQ,GAAG,mBAAoB,CAAA;IAChC,gBAAI,GAAG,WAAI,CAAC,MAAM,CAAc,EAAE,SAAS,EAAE,YAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IAChF,iBAAK,GAAG,YAAK,CAAC,MAAM,CAAc;QAC9C,SAAS,EAAE,YAAA,QAAQ,CAAC,KAAK;aACvB,KAAK,EAAE;aACP,QAAQ,EAAE;aACV,MAAM,CAAC,WAAW,CAAC;aACnB,QAAQ,CAAC,mDAAmD,CAAC;KAC/D,CAAC,CAAA;IACF,SAAgB,KAAK,CACpB,YAAyB,EACzB,WAA6F;QAE7F,IAAI,MAAM,GAAY,IAAI,CAAA;QAC1B,IAAI,YAAY,CAAC,SAAS,EAAE,MAAM;YACjC,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,YAAA,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAA;QACxF,OAAO,MAAM,CAAA;IACd,CAAC;IARe,iBAAK,QAQpB,CAAA;AACF,CAAC,EAnBgB,WAAW,2BAAX,WAAW,QAmB3B"}
@@ -9,6 +9,7 @@ import { Expiry as CardExpiry } from "./Expiry";
9
9
  import { Meta as CardMeta } from "./Meta";
10
10
  import { Operation as CardOperation } from "./Operation";
11
11
  import { Preset as CardPreset } from "./Preset";
12
+ import { Restriction as CardRestriction } from "./Restriction";
12
13
  import { Scheme as CardScheme } from "./Scheme";
13
14
  import { Stack as CardStack } from "./Stack";
14
15
  export interface Card {
@@ -34,10 +35,11 @@ export interface Card {
34
35
  history: CardOperation[];
35
36
  rules: Rule[];
36
37
  meta?: CardMeta;
38
+ restricted?: {
39
+ to?: CardRestriction;
40
+ };
37
41
  }
38
42
  export declare namespace Card {
39
- const type: import("isly/dist/cjs/object").IslyObject<Card, object>;
40
- const type2: isly2.Object<Card>;
41
43
  export import Creatable = CardCreatable;
42
44
  export import Preset = CardPreset;
43
45
  export import Meta = CardMeta;
@@ -46,5 +48,8 @@ export declare namespace Card {
46
48
  export import Operation = CardOperation;
47
49
  export import Scheme = CardScheme;
48
50
  export import Stack = CardStack;
51
+ export import Restriction = CardRestriction;
52
+ const type: import("isly/dist/cjs/object").IslyObject<Card, object>;
53
+ const type2: isly2.Object<Card>;
49
54
  function toCsv(cards: Card[]): string;
50
55
  }
@@ -14,10 +14,20 @@ const Expiry_1 = require("./Expiry");
14
14
  const Meta_1 = require("./Meta");
15
15
  const Operation_1 = require("./Operation");
16
16
  const Preset_1 = require("./Preset");
17
+ const Restriction_1 = require("./Restriction");
17
18
  const Scheme_1 = require("./Scheme");
18
19
  const Stack_1 = require("./Stack");
19
20
  var Card;
20
21
  (function (Card) {
22
+ Card.Creatable = Creatable_1.Creatable;
23
+ Card.Preset = Preset_1.Preset;
24
+ Card.Meta = Meta_1.Meta;
25
+ Card.Expiry = Expiry_1.Expiry;
26
+ Card.Changeable = Changeable_1.Changeable;
27
+ Card.Operation = Operation_1.Operation;
28
+ Card.Scheme = Scheme_1.Scheme;
29
+ Card.Stack = Stack_1.Stack;
30
+ Card.Restriction = Restriction_1.Restriction;
21
31
  Card.type = isly_1.isly.object({
22
32
  id: isly_1.isly.string(),
23
33
  number: isly_1.isly.string().optional(),
@@ -41,6 +51,7 @@ var Card;
41
51
  history: isly_1.isly.array(Operation_1.Operation.type),
42
52
  rules: type_1.type.array(),
43
53
  meta: isly_1.isly.fromIs("Card.Meta", Meta_1.Meta.is).optional(),
54
+ restricted: isly_1.isly.object({ to: Restriction_1.Restriction.type.optional() }).optional(),
44
55
  });
45
56
  Card.type2 = isly2_1.isly
46
57
  .object({
@@ -70,17 +81,14 @@ var Card;
70
81
  .rename("Rules")
71
82
  .describe("Card rules that applies to authorizations made with the card."),
72
83
  meta: isly2_1.isly.from("Card.Meta", Meta_1.Meta.is).optional().rename("Meta").describe("Additional card information."),
84
+ restricted: isly2_1.isly
85
+ .object({ to: Restriction_1.Restriction.type2.optional() })
86
+ .optional()
87
+ .rename("Restrictions")
88
+ .describe("Set of restrictions that apply to the card."),
73
89
  })
74
90
  .rename("Card")
75
91
  .describe("Card information.");
76
- Card.Creatable = Creatable_1.Creatable;
77
- Card.Preset = Preset_1.Preset;
78
- Card.Meta = Meta_1.Meta;
79
- Card.Expiry = Expiry_1.Expiry;
80
- Card.Changeable = Changeable_1.Changeable;
81
- Card.Operation = Operation_1.Operation;
82
- Card.Scheme = Scheme_1.Scheme;
83
- Card.Stack = Stack_1.Stack;
84
92
  const csvMap = {
85
93
  id: card => card.id,
86
94
  created: card => readableDate(card.created),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../Card/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../Card/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
+ }