@pax2pay/model-banking 0.0.34 → 0.0.36

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.
@@ -14,21 +14,19 @@ export class Transactions extends rest.Collection<gracely.Error> {
14
14
  }
15
15
  async list(
16
16
  account?: string,
17
- currency?: string,
18
- start?: string,
19
- end?: string
17
+ search?: {
18
+ currency?: string
19
+ status?: string
20
+ start?: string
21
+ end?: string
22
+ }
20
23
  ): Promise<Transaction[] | gracely.Error> {
21
- const search =
22
- currency && start && end
23
- ? `?currency=${currency}&start=${start}&end=${end}`
24
- : currency && start
25
- ? `?currency=${currency}&start=${start}`
26
- : currency && end
27
- ? `?currency=${currency}&end=${end}`
28
- : currency
29
- ? `?currency=${currency}`
30
- : ""
31
- const path = account ? `/account/${account}/transaction` : `/transaction${search}`
24
+ const query = search
25
+ ? Object.entries(search)
26
+ .map(([k, v]) => `${k}=${v}`)
27
+ .reduce((prev, curr, i) => `${prev}${i == 0 ? "?" : "&"}${curr}`, "")
28
+ : ""
29
+ const path = account ? `/account/${account}/transaction` : `/transaction${query}`
32
30
  return this.client.get<Transaction[]>(path)
33
31
  }
34
32
  }
@@ -24,12 +24,14 @@ export namespace Transaction {
24
24
  export function is(value: any | Transaction): value is Transaction {
25
25
  return (
26
26
  typeof value == "object" &&
27
- TransactionCreatable.is({ ...value }) &&
27
+ typeof value.organization == "string" &&
28
+ typeof value.accountId == "string" &&
28
29
  cryptly.Identifier.is(value.id, 8) &&
30
+ Rail.is(value.account) &&
31
+ Rail.is(value.counterpart) &&
29
32
  isoly.DateTime.is(value.posted) &&
30
33
  typeof value.balance == "number" &&
31
- Array.isArray(value.operations) &&
32
- value.operations.every(Operation.is)
34
+ Array.isArray(value.operations)
33
35
  )
34
36
  }
35
37
  export function fromCreatable(
@@ -7,5 +7,10 @@ export declare class Transactions extends rest.Collection<gracely.Error> {
7
7
  readonly Notes: Notes;
8
8
  constructor(client: http.Client);
9
9
  create(account: string, transaction: Transaction.Creatable): Promise<Transaction | gracely.Error>;
10
- list(account?: string, currency?: string, start?: string, end?: string): Promise<Transaction[] | gracely.Error>;
10
+ list(account?: string, search?: {
11
+ currency?: string;
12
+ status?: string;
13
+ start?: string;
14
+ end?: string;
15
+ }): Promise<Transaction[] | gracely.Error>;
11
16
  }
@@ -8,17 +8,13 @@ export class Transactions extends rest.Collection {
8
8
  async create(account, transaction) {
9
9
  return this.client.post(`/account/${account}/transaction`, transaction);
10
10
  }
11
- async list(account, currency, start, end) {
12
- const search = currency && start && end
13
- ? `?currency=${currency}&start=${start}&end=${end}`
14
- : currency && start
15
- ? `?currency=${currency}&start=${start}`
16
- : currency && end
17
- ? `?currency=${currency}&end=${end}`
18
- : currency
19
- ? `?currency=${currency}`
20
- : "";
21
- const path = account ? `/account/${account}/transaction` : `/transaction${search}`;
11
+ async list(account, search) {
12
+ const query = search
13
+ ? Object.entries(search)
14
+ .map(([k, v]) => `${k}=${v}`)
15
+ .reduce((prev, curr, i) => `${prev}${i == 0 ? "?" : "&"}${curr}`, "")
16
+ : "";
17
+ const path = account ? `/account/${account}/transaction` : `/transaction${query}`;
22
18
  return this.client.get(path);
23
19
  }
24
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../","sources":["Client/Transactions/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,IAAI,MAAM,cAAc,CAAA;AAEpC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE/B,MAAM,OAAO,YAAa,SAAQ,IAAI,CAAC,UAAyB;IAE/D,YAAY,MAAmB;QAC9B,KAAK,CAAC,MAAM,CAAC,CAAA;QAFL,UAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAGvC,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,WAAkC;QAC/D,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAc,YAAY,OAAO,cAAc,EAAE,WAAW,CAAC,CAAA;IACrF,CAAC;IACD,KAAK,CAAC,IAAI,CACT,OAAgB,EAChB,QAAiB,EACjB,KAAc,EACd,GAAY;QAEZ,MAAM,MAAM,GACX,QAAQ,IAAI,KAAK,IAAI,GAAG;YACvB,CAAC,CAAC,aAAa,QAAQ,UAAU,KAAK,QAAQ,GAAG,EAAE;YACnD,CAAC,CAAC,QAAQ,IAAI,KAAK;gBACnB,CAAC,CAAC,aAAa,QAAQ,UAAU,KAAK,EAAE;gBACxC,CAAC,CAAC,QAAQ,IAAI,GAAG;oBACjB,CAAC,CAAC,aAAa,QAAQ,QAAQ,GAAG,EAAE;oBACpC,CAAC,CAAC,QAAQ;wBACV,CAAC,CAAC,aAAa,QAAQ,EAAE;wBACzB,CAAC,CAAC,EAAE,CAAA;QACN,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,YAAY,OAAO,cAAc,CAAC,CAAC,CAAC,eAAe,MAAM,EAAE,CAAA;QAClF,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAgB,IAAI,CAAC,CAAA;IAC5C,CAAC;CACD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"../","sources":["Client/Transactions/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,IAAI,MAAM,cAAc,CAAA;AAEpC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE/B,MAAM,OAAO,YAAa,SAAQ,IAAI,CAAC,UAAyB;IAE/D,YAAY,MAAmB;QAC9B,KAAK,CAAC,MAAM,CAAC,CAAA;QAFL,UAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAGvC,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,WAAkC;QAC/D,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAc,YAAY,OAAO,cAAc,EAAE,WAAW,CAAC,CAAA;IACrF,CAAC;IACD,KAAK,CAAC,IAAI,CACT,OAAgB,EAChB,MAKC;QAED,MAAM,KAAK,GAAG,MAAM;YACnB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;iBACrB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;iBAC5B,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC;YACvE,CAAC,CAAC,EAAE,CAAA;QACL,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,YAAY,OAAO,cAAc,CAAC,CAAC,CAAC,eAAe,KAAK,EAAE,CAAA;QACjF,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAgB,IAAI,CAAC,CAAA;IAC5C,CAAC;CACD"}
@@ -1,6 +1,7 @@
1
1
  import * as cryptly from "cryptly";
2
2
  import * as isoly from "isoly";
3
3
  import { Operation } from "../Operation";
4
+ import { Rail } from "../Rail";
4
5
  import { Creatable as TransactionCreatable } from "./Creatable";
5
6
  import { Incoming as TransactionIncoming } from "./Incoming";
6
7
  import { Note as TransactionNote } from "./Note";
@@ -8,12 +9,14 @@ export var Transaction;
8
9
  (function (Transaction) {
9
10
  function is(value) {
10
11
  return (typeof value == "object" &&
11
- TransactionCreatable.is({ ...value }) &&
12
+ typeof value.organization == "string" &&
13
+ typeof value.accountId == "string" &&
12
14
  cryptly.Identifier.is(value.id, 8) &&
15
+ Rail.is(value.account) &&
16
+ Rail.is(value.counterpart) &&
13
17
  isoly.DateTime.is(value.posted) &&
14
18
  typeof value.balance == "number" &&
15
- Array.isArray(value.operations) &&
16
- value.operations.every(Operation.is));
19
+ Array.isArray(value.operations));
17
20
  }
18
21
  Transaction.is = is;
19
22
  function fromCreatable(organization, accountId, account, transaction, result) {
@@ -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":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pax2pay/model-banking",
3
- "version": "0.0.34",
3
+ "version": "0.0.36",
4
4
  "description": "Library containing data model types and functions for the Pax2Pay Banking API.",
5
5
  "author": "Pax2Pay Ltd",
6
6
  "license": "MIT",
@@ -29,7 +29,7 @@
29
29
  "^.+\\.(j|t)sx?$": "ts-jest"
30
30
  },
31
31
  "transformIgnorePatterns": [
32
- "<rootDir>/node_modules/(?!(cryptly|authly|isoly|gracely|cloudly-http|cloudly-router|cloudly-formdata)/.*)"
32
+ "<rootDir>/node_modules/(?!(cryptly|authly|isoly|gracely|cloudly-http|cloudly-rest|cloudly-router|cloudly-formdata)/.*)"
33
33
  ],
34
34
  "testEnvironment": "node",
35
35
  "testRegex": "((\\.|/)(test|spec))(\\.|\\/.+)(jsx?|tsx?)$",