@pax2pay/model-banking 0.1.116 → 0.1.118

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.
@@ -12,8 +12,9 @@ export namespace Change {
12
12
  return (
13
13
  typeof value == "object" &&
14
14
  (value.actual == undefined || isChangeType(value.actual)) &&
15
- (value.reserved == undefined || isChangeType(value.reserved)) &&
16
- (value.actual || value.reserved)
15
+ (value.incomingReserved == undefined || isChangeType(value.incomingReserved)) &&
16
+ (value.outgoingReserved == undefined || isChangeType(value.outgoingReserved)) &&
17
+ (!!value.incomingReserved || !!value.outgoingReserved || !!value.actual)
17
18
  )
18
19
  }
19
20
  export function isChangeType(value: ChangeType | any): value is ChangeType {
@@ -1,4 +1,5 @@
1
1
  import { isoly } from "isoly"
2
+ import { isly } from "isly"
2
3
  import { Operation } from "../Operation"
3
4
  import { Rail } from "../Rail"
4
5
 
@@ -11,15 +12,14 @@ export interface Creatable {
11
12
  }
12
13
 
13
14
  export namespace Creatable {
14
- export function is(value: any | Creatable): value is Creatable {
15
- return (
16
- typeof value == "object" &&
17
- Rail.is(value.counterpart) &&
18
- isoly.Currency.is(value.currency) &&
19
- typeof value.amount == "number" &&
20
- typeof value.description == "string" &&
21
- (value.operations == undefined ||
22
- (Array.isArray(value.operations) && value.operations.every(Operation.Creatable.is)))
23
- )
24
- }
15
+ export const type = isly.object<Creatable>({
16
+ counterpart: isly.fromIs("Rail", Rail.is),
17
+ currency: isly.fromIs("isoly.Currency", isoly.Currency.is),
18
+ amount: isly.number(),
19
+ description: isly.string(),
20
+ operations: isly.array(isly.fromIs("Operation.Creatable", Operation.Creatable.is)),
21
+ })
22
+ export const is = type.is
23
+ export const flaw = type.flaw
24
+ export const get = type.get
25
25
  }
@@ -1,4 +1,5 @@
1
1
  import { isoly } from "isoly"
2
+ import { isly } from "isly"
2
3
 
3
4
  export interface Note extends Note.Creatable {
4
5
  author: string
@@ -14,8 +15,17 @@ export namespace Note {
14
15
  action?: "approve" | "reject"
15
16
  }
16
17
  export namespace Creatable {
17
- export function is(value: Creatable | any): value is Creatable {
18
- return true
19
- }
18
+ export const type = isly.object<Creatable>({
19
+ text: isly.string().optional(),
20
+ action: isly.string(["approve", "reject"]).optional(),
21
+ })
22
+ export const is = type.is
20
23
  }
24
+ export const type = isly.object<Note>({
25
+ author: isly.string(),
26
+ created: isly.string(),
27
+ text: isly.string().optional(),
28
+ action: isly.string(["approve", "reject"]).optional(),
29
+ })
30
+ export const is = type.is
21
31
  }
@@ -1,3 +1,4 @@
1
+ import { isly } from "isly"
1
2
  import { Supplier } from "../Supplier"
2
3
 
3
4
  export interface Reference {
@@ -6,3 +7,13 @@ export interface Reference {
6
7
  returnId?: string
7
8
  endToEndId?: string
8
9
  }
10
+
11
+ export namespace Reference {
12
+ export const type = isly.object<Reference>({
13
+ supplier: isly.fromIs("Supplier", Supplier.is).optional(),
14
+ reference: isly.string().optional(),
15
+ returnId: isly.string().optional(),
16
+ endToEndId: isly.string().optional(),
17
+ })
18
+ export const is = type.is
19
+ }
@@ -1,5 +1,6 @@
1
1
  import * as cryptly from "cryptly"
2
2
  import { isoly } from "isoly"
3
+ import { isly } from "isly"
3
4
  import { Operation } from "../Operation"
4
5
  import { Rail } from "../Rail"
5
6
  import { Creatable as TransactionCreatable } from "./Creatable"
@@ -23,19 +24,23 @@ export interface Transaction extends TransactionCreatable {
23
24
  }
24
25
 
25
26
  export namespace Transaction {
26
- export function is(value: any | Transaction): value is Transaction {
27
- return (
28
- typeof value == "object" &&
29
- typeof value.organization == "string" &&
30
- typeof value.accountId == "string" &&
31
- cryptly.Identifier.is(value.id, 8) &&
32
- Rail.is(value.account) &&
33
- Rail.is(value.counterpart) &&
34
- isoly.DateTime.is(value.posted) &&
35
- typeof value.balance == "number" &&
36
- Array.isArray(value.operations)
37
- )
38
- }
27
+ export const type = TransactionCreatable.type.extend<Transaction>({
28
+ organization: isly.string(),
29
+ accountId: isly.string(),
30
+ account: isly.fromIs("Rail", Rail.is),
31
+ id: isly.fromIs("cryptly.Identifier", cryptly.Identifier.is).readonly(),
32
+ reference: isly.fromIs("TransactionReference", TransactionReference.is).readonly().optional(),
33
+ posted: isly.string(),
34
+ transacted: isly.string().optional(),
35
+ balance: isly.number(),
36
+ operations: isly.array(isly.fromIs("Operation", Operation.is)),
37
+ status: isly.string(["created", "approved", "rejected", "processing", "finalized"]),
38
+ flags: isly.array(isly.string() || "review"),
39
+ notes: isly.array(isly.fromIs("TransactionNote", TransactionNote.is)),
40
+ })
41
+ export const is = type.is
42
+ export const flaw = type.flaw
43
+ export const get = type.get
39
44
  export function fromCreatable(
40
45
  organization: string,
41
46
  accountId: string,
@@ -5,8 +5,9 @@ export var Change;
5
5
  function is(value) {
6
6
  return (typeof value == "object" &&
7
7
  (value.actual == undefined || isChangeType(value.actual)) &&
8
- (value.reserved == undefined || isChangeType(value.reserved)) &&
9
- (value.actual || value.reserved));
8
+ (value.incomingReserved == undefined || isChangeType(value.incomingReserved)) &&
9
+ (value.outgoingReserved == undefined || isChangeType(value.outgoingReserved)) &&
10
+ (!!value.incomingReserved || !!value.outgoingReserved || !!value.actual));
10
11
  }
11
12
  Change.is = is;
12
13
  function isChangeType(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"Creatable.js","sourceRoot":"../","sources":["Operation/Creatable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAQ7B,MAAM,KAAW,MAAM,CAkDtB;AAlDD,WAAiB,MAAM;IACtB,SAAgB,EAAE,CAAC,KAAmB;QACrC,OAAO,CACN,OAAO,KAAK,IAAI,QAAQ;YACxB,CAAC,KAAK,CAAC,MAAM,IAAI,SAAS,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACzD,CAAC,KAAK,CAAC,QAAQ,IAAI,SAAS,IAAI,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC7D,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAChC,CAAA;IACF,CAAC;IAPe,SAAE,KAOjB,CAAA;IACD,SAAgB,YAAY,CAAC,KAAuB;QACnD,OAAO,CACN,OAAO,KAAK,IAAI,QAAQ;YACxB,OAAO,KAAK,CAAC,MAAM,IAAI,QAAQ;YAC/B,KAAK,CAAC,MAAM,GAAG,CAAC;YAChB,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,IAAI,UAAU,CAAC;YACjD,OAAO,KAAK,CAAC,MAAM,IAAI,QAAQ;YAC/B,CAAC,KAAK,CAAC,MAAM,IAAI,SAAS,IAAI,KAAK,CAAC,MAAM,IAAI,SAAS,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ,CAAC,CACpF,CAAA;IACF,CAAC;IATe,mBAAY,eAS3B,CAAA;IAOD,SAAgB,aAAa,CAAC,KAAwB;QACrD,OAAO,CACN,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC;YACvB,KAAK,CAAC,MAAM,IAAI,SAAS;YACzB,OAAO,KAAK,CAAC,QAAQ,IAAI,QAAQ;YACjC,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,CAC5B,CAAA;IACF,CAAC;IAPe,oBAAa,gBAO5B,CAAA;IACD,SAAgB,SAAS,CAAC,KAAoB;QAC7C,OAAO,CACN,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC;YACvB,KAAK,CAAC,QAAQ,IAAI,SAAS;YAC3B,OAAO,KAAK,CAAC,MAAM,IAAI,QAAQ;YAC/B,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,CAC1B,CAAA;IACF,CAAC;IAPe,gBAAS,YAOxB,CAAA;IACD,SAAgB,cAAc,CAAC,KAAyB;QACvD,OAAO,CACN,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC,MAAM,IAAI,QAAQ;YAC/B,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,UAAU;YAC/B,OAAO,KAAK,CAAC,QAAQ,IAAI,QAAQ;YACjC,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,UAAU,CACjC,CAAA;IACF,CAAC;IARe,qBAAc,iBAQ7B,CAAA;AACF,CAAC,EAlDgB,MAAM,KAAN,MAAM,QAkDtB;AAQD,MAAM,KAAW,SAAS,CAUzB;AAVD,WAAiB,SAAS;IACzB,SAAgB,EAAE,CAAC,KAAsB;QACxC,OAAO,CACN,OAAO,KAAK,IAAI,QAAQ;YACxB,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;YACpC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC;YACjC,OAAO,KAAK,CAAC,MAAM,IAAI,QAAQ;YAC/B,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CACvB,CAAA;IACF,CAAC;IARe,YAAE,KAQjB,CAAA;AACF,CAAC,EAVgB,SAAS,KAAT,SAAS,QAUzB"}
1
+ {"version":3,"file":"Creatable.js","sourceRoot":"../","sources":["Operation/Creatable.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { isoly } from "isoly";
2
+ import { isly } from "isly";
2
3
  import { Operation } from "../Operation";
3
4
  import { Rail } from "../Rail";
4
5
  export interface Creatable {
@@ -9,5 +10,8 @@ export interface Creatable {
9
10
  operations?: Operation.Creatable[];
10
11
  }
11
12
  export declare namespace Creatable {
12
- function is(value: any | Creatable): value is Creatable;
13
+ const type: isly.object.ExtendableType<Creatable>;
14
+ const is: isly.Type.IsFunction<Creatable>;
15
+ const flaw: isly.Type.FlawFunction;
16
+ const get: isly.Type.GetFunction<Creatable>;
13
17
  }
@@ -1,17 +1,18 @@
1
1
  import { isoly } from "isoly";
2
+ import { isly } from "isly";
2
3
  import { Operation } from "../Operation";
3
4
  import { Rail } from "../Rail";
4
5
  export var Creatable;
5
6
  (function (Creatable) {
6
- function is(value) {
7
- return (typeof value == "object" &&
8
- Rail.is(value.counterpart) &&
9
- isoly.Currency.is(value.currency) &&
10
- typeof value.amount == "number" &&
11
- typeof value.description == "string" &&
12
- (value.operations == undefined ||
13
- (Array.isArray(value.operations) && value.operations.every(Operation.Creatable.is))));
14
- }
15
- Creatable.is = is;
7
+ Creatable.type = isly.object({
8
+ counterpart: isly.fromIs("Rail", Rail.is),
9
+ currency: isly.fromIs("isoly.Currency", isoly.Currency.is),
10
+ amount: isly.number(),
11
+ description: isly.string(),
12
+ operations: isly.array(isly.fromIs("Operation.Creatable", Operation.Creatable.is)),
13
+ });
14
+ Creatable.is = Creatable.type.is;
15
+ Creatable.flaw = Creatable.type.flaw;
16
+ Creatable.get = Creatable.type.get;
16
17
  })(Creatable || (Creatable = {}));
17
18
  //# sourceMappingURL=Creatable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Creatable.js","sourceRoot":"../","sources":["Transaction/Creatable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAU9B,MAAM,KAAW,SAAS,CAYzB;AAZD,WAAiB,SAAS;IACzB,SAAgB,EAAE,CAAC,KAAsB;QACxC,OAAO,CACN,OAAO,KAAK,IAAI,QAAQ;YACxB,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC;YAC1B,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC;YACjC,OAAO,KAAK,CAAC,MAAM,IAAI,QAAQ;YAC/B,OAAO,KAAK,CAAC,WAAW,IAAI,QAAQ;YACpC,CAAC,KAAK,CAAC,UAAU,IAAI,SAAS;gBAC7B,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CACrF,CAAA;IACF,CAAC;IAVe,YAAE,KAUjB,CAAA;AACF,CAAC,EAZgB,SAAS,KAAT,SAAS,QAYzB"}
1
+ {"version":3,"file":"Creatable.js","sourceRoot":"../","sources":["Transaction/Creatable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAU9B,MAAM,KAAW,SAAS,CAWzB;AAXD,WAAiB,SAAS;IACZ,cAAI,GAAG,IAAI,CAAC,MAAM,CAAY;QAC1C,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;QACzC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1D,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;QACrB,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE;QAC1B,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;KAClF,CAAC,CAAA;IACW,YAAE,GAAG,UAAA,IAAI,CAAC,EAAE,CAAA;IACZ,cAAI,GAAG,UAAA,IAAI,CAAC,IAAI,CAAA;IAChB,aAAG,GAAG,UAAA,IAAI,CAAC,GAAG,CAAA;AAC5B,CAAC,EAXgB,SAAS,KAAT,SAAS,QAWzB"}
@@ -1,4 +1,5 @@
1
1
  import { isoly } from "isoly";
2
+ import { isly } from "isly";
2
3
  export interface Note extends Note.Creatable {
3
4
  author: string;
4
5
  created: isoly.DateTime;
@@ -10,6 +11,9 @@ export declare namespace Note {
10
11
  action?: "approve" | "reject";
11
12
  }
12
13
  namespace Creatable {
13
- function is(value: Creatable | any): value is Creatable;
14
+ const type: isly.object.ExtendableType<Creatable>;
15
+ const is: isly.Type.IsFunction<Creatable>;
14
16
  }
17
+ const type: isly.object.ExtendableType<Note>;
18
+ const is: isly.Type.IsFunction<Note>;
15
19
  }
@@ -1,4 +1,5 @@
1
1
  import { isoly } from "isoly";
2
+ import { isly } from "isly";
2
3
  export var Note;
3
4
  (function (Note) {
4
5
  function fromCreatable(note, author) {
@@ -7,10 +8,18 @@ export var Note;
7
8
  Note.fromCreatable = fromCreatable;
8
9
  let Creatable;
9
10
  (function (Creatable) {
10
- function is(value) {
11
- return true;
12
- }
13
- Creatable.is = is;
11
+ Creatable.type = isly.object({
12
+ text: isly.string().optional(),
13
+ action: isly.string(["approve", "reject"]).optional(),
14
+ });
15
+ Creatable.is = Creatable.type.is;
14
16
  })(Creatable = Note.Creatable || (Note.Creatable = {}));
17
+ Note.type = isly.object({
18
+ author: isly.string(),
19
+ created: isly.string(),
20
+ text: isly.string().optional(),
21
+ action: isly.string(["approve", "reject"]).optional(),
22
+ });
23
+ Note.is = Note.type.is;
15
24
  })(Note || (Note = {}));
16
25
  //# sourceMappingURL=Note.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Note.js","sourceRoot":"../","sources":["Transaction/Note.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAO7B,MAAM,KAAW,IAAI,CAapB;AAbD,WAAiB,IAAI;IACpB,SAAgB,aAAa,CAAC,IAAe,EAAE,MAAc;QAC5D,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;IAClE,CAAC;IAFe,kBAAa,gBAE5B,CAAA;IAKD,IAAiB,SAAS,CAIzB;IAJD,WAAiB,SAAS;QACzB,SAAgB,EAAE,CAAC,KAAsB;YACxC,OAAO,IAAI,CAAA;QACZ,CAAC;QAFe,YAAE,KAEjB,CAAA;IACF,CAAC,EAJgB,SAAS,GAAT,cAAS,KAAT,cAAS,QAIzB;AACF,CAAC,EAbgB,IAAI,KAAJ,IAAI,QAapB"}
1
+ {"version":3,"file":"Note.js","sourceRoot":"../","sources":["Transaction/Note.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAO3B,MAAM,KAAW,IAAI,CAsBpB;AAtBD,WAAiB,IAAI;IACpB,SAAgB,aAAa,CAAC,IAAe,EAAE,MAAc;QAC5D,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;IAClE,CAAC;IAFe,kBAAa,gBAE5B,CAAA;IAKD,IAAiB,SAAS,CAMzB;IAND,WAAiB,SAAS;QACZ,cAAI,GAAG,IAAI,CAAC,MAAM,CAAY;YAC1C,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC9B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;SACrD,CAAC,CAAA;QACW,YAAE,GAAG,UAAA,IAAI,CAAC,EAAE,CAAA;IAC1B,CAAC,EANgB,SAAS,GAAT,cAAS,KAAT,cAAS,QAMzB;IACY,SAAI,GAAG,IAAI,CAAC,MAAM,CAAO;QACrC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;QACrB,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;QACtB,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;KACrD,CAAC,CAAA;IACW,OAAE,GAAG,KAAA,IAAI,CAAC,EAAE,CAAA;AAC1B,CAAC,EAtBgB,IAAI,KAAJ,IAAI,QAsBpB"}
@@ -1,3 +1,4 @@
1
+ import { isly } from "isly";
1
2
  import { Supplier } from "../Supplier";
2
3
  export interface Reference {
3
4
  supplier?: Supplier;
@@ -5,3 +6,7 @@ export interface Reference {
5
6
  returnId?: string;
6
7
  endToEndId?: string;
7
8
  }
9
+ export declare namespace Reference {
10
+ const type: isly.object.ExtendableType<Reference>;
11
+ const is: isly.Type.IsFunction<Reference>;
12
+ }
@@ -1,2 +1,13 @@
1
- export {};
1
+ import { isly } from "isly";
2
+ import { Supplier } from "../Supplier";
3
+ export var Reference;
4
+ (function (Reference) {
5
+ Reference.type = isly.object({
6
+ supplier: isly.fromIs("Supplier", Supplier.is).optional(),
7
+ reference: isly.string().optional(),
8
+ returnId: isly.string().optional(),
9
+ endToEndId: isly.string().optional(),
10
+ });
11
+ Reference.is = Reference.type.is;
12
+ })(Reference || (Reference = {}));
2
13
  //# sourceMappingURL=Reference.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Reference.js","sourceRoot":"../","sources":["Transaction/Reference.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"Reference.js","sourceRoot":"../","sources":["Transaction/Reference.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAStC,MAAM,KAAW,SAAS,CAQzB;AARD,WAAiB,SAAS;IACZ,cAAI,GAAG,IAAI,CAAC,MAAM,CAAY;QAC1C,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;QACzD,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACnC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAClC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACpC,CAAC,CAAA;IACW,YAAE,GAAG,UAAA,IAAI,CAAC,EAAE,CAAA;AAC1B,CAAC,EARgB,SAAS,KAAT,SAAS,QAQzB"}
@@ -1,5 +1,6 @@
1
1
  import * as cryptly from "cryptly";
2
2
  import { isoly } from "isoly";
3
+ import { isly } from "isly";
3
4
  import { Operation } from "../Operation";
4
5
  import { Rail } from "../Rail";
5
6
  import { Creatable as TransactionCreatable } from "./Creatable";
@@ -21,7 +22,10 @@ export interface Transaction extends TransactionCreatable {
21
22
  notes: TransactionNote[];
22
23
  }
23
24
  export declare namespace Transaction {
24
- function is(value: any | Transaction): value is Transaction;
25
+ const type: isly.object.ExtendableType<Transaction>;
26
+ const is: isly.Type.IsFunction<Transaction>;
27
+ const flaw: isly.Type.FlawFunction;
28
+ const get: isly.Type.GetFunction<Transaction>;
25
29
  function fromCreatable(organization: string, accountId: string, account: Rail, transaction: Creatable & {
26
30
  operations: Operation.Creatable[];
27
31
  }, result: number): Transaction;
@@ -1,24 +1,31 @@
1
1
  import * as cryptly from "cryptly";
2
2
  import { isoly } from "isoly";
3
+ import { isly } from "isly";
3
4
  import { Operation } from "../Operation";
4
5
  import { Rail } from "../Rail";
5
6
  import { Creatable as TransactionCreatable } from "./Creatable";
6
7
  import { Incoming as TransactionIncoming } from "./Incoming";
7
8
  import { Note as TransactionNote } from "./Note";
9
+ import { Reference as TransactionReference } from "./Reference";
8
10
  export var Transaction;
9
11
  (function (Transaction) {
10
- function is(value) {
11
- return (typeof value == "object" &&
12
- typeof value.organization == "string" &&
13
- typeof value.accountId == "string" &&
14
- cryptly.Identifier.is(value.id, 8) &&
15
- Rail.is(value.account) &&
16
- Rail.is(value.counterpart) &&
17
- isoly.DateTime.is(value.posted) &&
18
- typeof value.balance == "number" &&
19
- Array.isArray(value.operations));
20
- }
21
- Transaction.is = is;
12
+ Transaction.type = TransactionCreatable.type.extend({
13
+ organization: isly.string(),
14
+ accountId: isly.string(),
15
+ account: isly.fromIs("Rail", Rail.is),
16
+ id: isly.fromIs("cryptly.Identifier", cryptly.Identifier.is).readonly(),
17
+ reference: isly.fromIs("TransactionReference", TransactionReference.is).readonly().optional(),
18
+ posted: isly.string(),
19
+ transacted: isly.string().optional(),
20
+ balance: isly.number(),
21
+ operations: isly.array(isly.fromIs("Operation", Operation.is)),
22
+ status: isly.string(["created", "approved", "rejected", "processing", "finalized"]),
23
+ flags: isly.array(isly.string() || "review"),
24
+ notes: isly.array(isly.fromIs("TransactionNote", TransactionNote.is)),
25
+ });
26
+ Transaction.is = Transaction.type.is;
27
+ Transaction.flaw = Transaction.type.flaw;
28
+ Transaction.get = Transaction.type.get;
22
29
  function fromCreatable(organization, accountId, account, transaction, result) {
23
30
  const id = cryptly.Identifier.generate(8);
24
31
  const timestamp = isoly.DateTime.now();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../","sources":["Transaction/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"../","sources":["Transaction/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,SAAS,IAAI,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAC/D,OAAO,EAAE,QAAQ,IAAI,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,EAAE,IAAI,IAAI,eAAe,EAAE,MAAM,QAAQ,CAAA;AAChD,OAAO,EAAE,SAAS,IAAI,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAiB/D,MAAM,KAAW,WAAW,CAmF3B;AAnFD,WAAiB,WAAW;IACd,gBAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAc;QACjE,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE;QAC3B,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE;QACxB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;QACrC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;QACvE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,oBAAoB,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QAC7F,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;QACrB,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACpC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;QACtB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;QAC9D,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;QACnF,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,QAAQ,CAAC;QAC5C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC;KACrE,CAAC,CAAA;IACW,cAAE,GAAG,YAAA,IAAI,CAAC,EAAE,CAAA;IACZ,gBAAI,GAAG,YAAA,IAAI,CAAC,IAAI,CAAA;IAChB,eAAG,GAAG,YAAA,IAAI,CAAC,GAAG,CAAA;IAC3B,SAAgB,aAAa,CAC5B,YAAoB,EACpB,SAAiB,EACjB,OAAa,EACb,WAA8D,EAC9D,MAAc;QAEd,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QACzC,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAA;QACtC,IAAI,IAAI,IAAI,WAAW;YACtB,OAAO,WAAW,CAAC,EAAE,CAAA;QACtB,IAAI,QAAQ,IAAI,WAAW;YAC1B,OAAO,WAAW,CAAC,MAAM,CAAA;QAC1B,OAAO;YACN,YAAY,EAAE,YAAY;YAC1B,SAAS,EAAE,SAAS;YACpB,OAAO,EAAE,OAAO;YAChB,EAAE,EAAE,EAAE;YACN,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,MAAM;YACf,GAAG,WAAW;YACd,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAC3E,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,EAAE;SACT,CAAA;IACF,CAAC;IA1Be,yBAAa,gBA0B5B,CAAA;IAED,SAAgB,YAAY,CAC3B,YAAoB,EACpB,SAAiB,EACjB,WAA6D,EAC7D,MAAc;QAEd,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QACzC,IAAI,IAAI,IAAI,WAAW;YACtB,OAAO,WAAW,CAAC,EAAE,CAAA;QACtB,IAAI,YAAY,IAAI,WAAW;YAC9B,OAAO,WAAW,CAAC,UAAU,CAAA;QAC9B,OAAO;YACN,YAAY,EAAE,YAAY;YAC1B,SAAS,EAAE,SAAS;YACpB,EAAE,EAAE,EAAE;YACN,OAAO,EAAE,MAAM;YACf,GAAG,WAAW;YACd,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAC3E,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,EAAE;SACT,CAAA;IACF,CAAC;IAtBe,wBAAY,eAsB3B,CAAA;IACD,SAAgB,YAAY,CAAC,KAA+B;QAC3D,OAAO,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IACvC,CAAC;IAFe,wBAAY,eAE3B,CAAA;IAGY,qBAAS,GAAG,oBAAoB,CAAA;IAEhC,oBAAQ,GAAG,mBAAmB,CAAA;IAG9B,gBAAI,GAAG,eAAe,CAAA;AAIpC,CAAC,EAnFgB,WAAW,KAAX,WAAW,QAmF3B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pax2pay/model-banking",
3
- "version": "0.1.116",
3
+ "version": "0.1.118",
4
4
  "description": "Library containing data model types and functions for the Pax2Pay Banking API.",
5
5
  "author": "Pax2Pay Ltd",
6
6
  "license": "MIT",
@@ -71,6 +71,7 @@
71
71
  },
72
72
  "dependencies": {
73
73
  "@userwidgets/model": "^0.4.3",
74
+ "authly": "^3.0.6",
74
75
  "cloudly-http": "^0.1.6",
75
76
  "cloudly-rest": "^0.1.3",
76
77
  "cryptly": "^3.0.4",
@@ -0,0 +1,14 @@
1
+ import * as authly from "authly"
2
+ import { Transaction } from "../Transaction"
3
+
4
+ export namespace verifier {
5
+ export async function verify(event: string | undefined): Promise<authly.Payload | undefined> {
6
+ const verifier = authly.Verifier.create(authly.Algorithm.RS256(publicKey))
7
+ const result = verifier ? await verifier.verify(event) : undefined
8
+ return result ? Transaction.get(result) : result
9
+ //TODO: Expand to work with other types for other hook-events
10
+ }
11
+ }
12
+
13
+ const publicKey =
14
+ "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzWKqXfw8HU6lMtoLdc1WEkEZP/Dmhx8JmfMMQxcUIiFUkObL9zAEo/pk4/1FCaAy/l14yX76OU97Eannq8FObjd8tU5UOqb4n9RpXO3md1JDIZkuqhjQwuCJax/0nyNY+WH5MLWCBgo5kw6R+AHBdCXQGSGoMGfm0qQAySDE1PmZWc/6sR4WacK+ooMO/YtP7HuQQeG8qsJ44wbQXaYlKupxJr3EDo+Un4N9/PHmXlTTz1u7/aO2KbzP+V6kevvPzf+mS+KvSLMYMgIuDiQXvlor9UeC1M5VNj7Trx6HKnoiekKUt3tL14cIHVKhpOTlN2l2yj4ImmAG3qZ4gMO6DwIDAQAB"