@pax2pay/model-banking 0.1.218 → 0.1.220

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.
package/Identity.ts CHANGED
@@ -12,7 +12,12 @@ export class Identity {
12
12
  { [`*-*`]: constraint },
13
13
  ].some(e => userwidgets.User.Permissions.check(this.key.permissions, e))
14
14
  }
15
-
15
+ #realms: Realm[] | undefined
16
+ get realms(): Realm[] | undefined {
17
+ return (this.#realms ??= Object.keys(this.key.permissions).flatMap(code =>
18
+ code.split("-")[0] == "*" ? Realm.realms : code.split("-")[0]
19
+ ) as Realm[])
20
+ }
16
21
  static async authenticate(
17
22
  header: { authorization?: string | undefined; realm?: Realm; organization?: string },
18
23
  constraint: Key.Permissions,
@@ -37,7 +37,11 @@ export namespace Creatable {
37
37
  export const is = type.is
38
38
  export const flaw = type.flaw
39
39
  export function fromRefund(account: string, entry: Settlement.Entry.Refund.Creatable, stack: Card.Stack): Creatable {
40
- const [currency, amount] = entry.amount
40
+ // The Entry.Refund.Creatable has negative amount and fee
41
+ // The operation amounts should always be positive
42
+ const [currency, entryAmount] = entry.amount
43
+ const operationAmount = Math.abs(entryAmount)
44
+ const operationFee = Math.abs(entry.fee.other[currency] ?? 0)
41
45
  return {
42
46
  account: account,
43
47
  currency,
@@ -45,22 +49,22 @@ export namespace Creatable {
45
49
  changes: {
46
50
  actual: {
47
51
  type: "add",
48
- amount: isoly.Currency.add(currency, amount, entry.fee.other[currency] ?? 0),
52
+ amount: isoly.Currency.add(currency, operationAmount, operationFee),
49
53
  status: "pending",
50
54
  },
51
55
  incomingReserved: {
52
56
  type: "add",
53
- amount: isoly.Currency.add(currency, amount, entry.fee.other[currency] ?? 0),
57
+ amount: isoly.Currency.add(currency, operationAmount, operationFee),
54
58
  status: "pending",
55
59
  },
56
60
  [`fee_${stack}_${entry.batch}`]: {
57
61
  type: "subtract" as const,
58
- amount: entry.fee.other[currency] ?? 0,
62
+ amount: operationFee,
59
63
  status: "pending" as const,
60
64
  },
61
65
  [`settle_${stack}_${entry.batch}`]: {
62
66
  type: "subtract" as const,
63
- amount: amount,
67
+ amount: operationAmount,
64
68
  status: "pending" as const,
65
69
  },
66
70
  },
@@ -23,7 +23,7 @@ export namespace Incoming {
23
23
  return {
24
24
  account: card,
25
25
  currency,
26
- amount: isoly.Currency.add(currency, amount, entry.fee.other[currency] ?? 0),
26
+ amount: isoly.Currency.add(currency, -amount, -(entry.fee.other[currency] ?? 0)),
27
27
  posted: isoly.DateTime.now(),
28
28
  counterpart: { type: "card", merchant: entry.merchant, acquirer: entry.acquirer },
29
29
  description: "Refund transaction.",
@@ -2,11 +2,13 @@ import { userwidgets } from "@userwidgets/model";
2
2
  import { Key } from "./Key";
3
3
  import { Realm } from "./Realm";
4
4
  export declare class Identity {
5
+ #private;
5
6
  readonly key: Key;
6
7
  readonly realm?: "eu" | "uk" | "test" | "testUK" | "upcheck" | undefined;
7
8
  readonly organization?: string | undefined;
8
9
  constructor(key: Key, realm?: "eu" | "uk" | "test" | "testUK" | "upcheck" | undefined, organization?: string | undefined);
9
10
  check(constraint: Key.Permissions, realm?: Realm, organization?: string): boolean;
11
+ get realms(): Realm[] | undefined;
10
12
  static authenticate(header: {
11
13
  authorization?: string | undefined;
12
14
  realm?: Realm;
package/dist/Identity.js CHANGED
@@ -1,9 +1,23 @@
1
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
3
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
+ };
6
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
7
+ if (kind === "m") throw new TypeError("Private method is not writable");
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
10
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
11
+ };
12
+ var _Identity_realms;
1
13
  import { userwidgets } from "@userwidgets/model";
14
+ import { Realm } from "./Realm";
2
15
  export class Identity {
3
16
  constructor(key, realm, organization) {
4
17
  this.key = key;
5
18
  this.realm = realm;
6
19
  this.organization = organization;
20
+ _Identity_realms.set(this, void 0);
7
21
  }
8
22
  check(constraint, realm, organization) {
9
23
  return [
@@ -13,6 +27,9 @@ export class Identity {
13
27
  { [`*-*`]: constraint },
14
28
  ].some(e => userwidgets.User.Permissions.check(this.key.permissions, e));
15
29
  }
30
+ get realms() {
31
+ return (__classPrivateFieldSet(this, _Identity_realms, __classPrivateFieldGet(this, _Identity_realms, "f") ?? Object.keys(this.key.permissions).flatMap(code => code.split("-")[0] == "*" ? Realm.realms : code.split("-")[0]), "f"));
32
+ }
16
33
  static async authenticate(header, constraint, verifier = productionVerifier) {
17
34
  const authorization = header.authorization?.startsWith("Bearer ")
18
35
  ? header.authorization.replace("Bearer ", "")
@@ -23,6 +40,7 @@ export class Identity {
23
40
  return result?.check(constraint) ? result : undefined;
24
41
  }
25
42
  }
43
+ _Identity_realms = new WeakMap();
26
44
  const publicKey = "MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA2W8CD2kpfS4QIRV2/rgm4NVvsvJsYNMHtnIl9ADvO3A81hAmRKvOAPVoXICe6+EuZ47jGjGL7f48GEoQuITfBPv/MosCDj1YhJ56ILDynCSd8FlxDrhv8pl5IquST7tcL6Hc6m+vuvoTLrFQ5QqNxv0a5eDd/YTrWv7SUuRfBEhYd/wMysGynN3QauHqy5ceBCt1nv1MJLGlSzczMRK7wjy1zi2g9NCHZBOoo1HXOpi727Xh+YXHc9EP2TN0oOXyxykv45nkGIDI0Qek3/pfkavClBffc1sEqA+rUx7YqRN9KGYxwLMLug+NOOh3ptqjfobXbR5fx/sUWhvcjUMTE1JreTrWYbGmVnjd/SeYSClfmGhdTBUfqnZbaABv0ruTXva18qRhP4y143vHMk/k8HzbuROTKAzrtEeLIjgwUgDcnE+JwDqcb8tKSGV6i++TiTldlSBCRTT4dK2hpHJje80b2abqtrbCkxbJlT98UsAAoiq2eW1X6lYmCfiGCJPkfswibQ2tPAKKNe/2xuHPsjx4FuXGmV0dbzmCwSIQoApXqOvKzoNFi6AaKIjxfNmiEigLwKpNrw08H0lVZbq/9MMxI3TzMTZjY9QmBKVLSGy3Z6IJqZpyK22lv7whJcllG0Qw8tv8+7wmC8SR3+4jpuxuFGZ+69CW+otx+CPMJjcCAwEAAQ==";
27
45
  const productionVerifier = userwidgets.User.Key.Verifier.create(publicKey);
28
46
  //# sourceMappingURL=Identity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Identity.js","sourceRoot":"../","sources":["Identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAIhD,MAAM,OAAO,QAAQ;IACpB,YAAqB,GAAQ,EAAW,KAAa,EAAW,YAAqB;QAAhE,QAAG,GAAH,GAAG,CAAK;QAAW,UAAK,GAAL,KAAK,CAAQ;QAAW,iBAAY,GAAZ,YAAY,CAAS;IAAG,CAAC;IACzF,KAAK,CAAC,UAA2B,EAAE,KAAa,EAAE,YAAqB;QACtE,OAAO;YACN,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,YAAY,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE;YAC/E,EAAE,CAAC,GAAG,YAAY,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE;YACxD,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,UAAU,EAAE;YAC5C,EAAE,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE;SACvB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAA;IACzE,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,YAAY,CACxB,MAAoF,EACpF,UAA2B,EAC3B,WAA+C,kBAAkB;QAEjE,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,SAAS,CAAC;YAChE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;YAC7C,CAAC,CAAC,SAAS,CAAA;QACZ,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QAChD,MAAM,MAAM,GACX,GAAG;YACH,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAU,EAAE,CAAC,GAAG,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAW,CAAC,CAAA;QAC7G,OAAO,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;IACtD,CAAC;CACD;AACD,MAAM,SAAS,GACd,kuBAAkuB,CAAA;AACnuB,MAAM,kBAAkB,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAM,SAAS,CAAC,CAAA"}
1
+ {"version":3,"file":"Identity.js","sourceRoot":"../","sources":["Identity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAEhD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE/B,MAAM,OAAO,QAAQ;IACpB,YAAqB,GAAQ,EAAW,KAAa,EAAW,YAAqB;QAAhE,QAAG,GAAH,GAAG,CAAK;QAAW,UAAK,GAAL,KAAK,CAAQ;QAAW,iBAAY,GAAZ,YAAY,CAAS;QASrF,mCAA4B;IAT4D,CAAC;IACzF,KAAK,CAAC,UAA2B,EAAE,KAAa,EAAE,YAAqB;QACtE,OAAO;YACN,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,YAAY,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE;YAC/E,EAAE,CAAC,GAAG,YAAY,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE;YACxD,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,UAAU,EAAE;YAC5C,EAAE,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE;SACvB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAA;IACzE,CAAC;IAED,IAAI,MAAM;QACT,OAAO,CAAC,sGAAiB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CACzE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAClD,MAAA,CAAC,CAAA;IACd,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,YAAY,CACxB,MAAoF,EACpF,UAA2B,EAC3B,WAA+C,kBAAkB;QAEjE,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,SAAS,CAAC;YAChE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;YAC7C,CAAC,CAAC,SAAS,CAAA;QACZ,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QAChD,MAAM,MAAM,GACX,GAAG;YACH,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAU,EAAE,CAAC,GAAG,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAW,CAAC,CAAA;QAC7G,OAAO,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;IACtD,CAAC;CACD;;AACD,MAAM,SAAS,GACd,kuBAAkuB,CAAA;AACnuB,MAAM,kBAAkB,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAM,SAAS,CAAC,CAAA"}
@@ -27,7 +27,9 @@ export var Creatable;
27
27
  Creatable.is = Creatable.type.is;
28
28
  Creatable.flaw = Creatable.type.flaw;
29
29
  function fromRefund(account, entry, stack) {
30
- const [currency, amount] = entry.amount;
30
+ const [currency, entryAmount] = entry.amount;
31
+ const operationAmount = Math.abs(entryAmount);
32
+ const operationFee = Math.abs(entry.fee.other[currency] ?? 0);
31
33
  return {
32
34
  account: account,
33
35
  currency,
@@ -35,22 +37,22 @@ export var Creatable;
35
37
  changes: {
36
38
  actual: {
37
39
  type: "add",
38
- amount: isoly.Currency.add(currency, amount, entry.fee.other[currency] ?? 0),
40
+ amount: isoly.Currency.add(currency, operationAmount, operationFee),
39
41
  status: "pending",
40
42
  },
41
43
  incomingReserved: {
42
44
  type: "add",
43
- amount: isoly.Currency.add(currency, amount, entry.fee.other[currency] ?? 0),
45
+ amount: isoly.Currency.add(currency, operationAmount, operationFee),
44
46
  status: "pending",
45
47
  },
46
48
  [`fee_${stack}_${entry.batch}`]: {
47
49
  type: "subtract",
48
- amount: entry.fee.other[currency] ?? 0,
50
+ amount: operationFee,
49
51
  status: "pending",
50
52
  },
51
53
  [`settle_${stack}_${entry.batch}`]: {
52
54
  type: "subtract",
53
- amount: amount,
55
+ amount: operationAmount,
54
56
  status: "pending",
55
57
  },
56
58
  },
@@ -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;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AASnC,MAAM,KAAW,SAAS,CAsDzB;AAtDD,WAAiB,SAAS;IACZ,eAAK,GAAG;QACpB,UAAU;QACV,kBAAkB;QAClB,UAAU;QACV,kBAAkB;QAClB,eAAe;QACf,SAAS;QACT,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,SAAS;QACT,SAAS;KACA,CAAA;IAEG,cAAI,GAAG,IAAI,CAAC,MAAM,CAAY;QAC1C,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACjE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1D,OAAO,EAAE,OAAO,CAAC,IAAI;QACrB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,UAAA,KAAK,CAAC;KACxB,CAAC,CAAA;IACW,YAAE,GAAG,UAAA,IAAI,CAAC,EAAE,CAAA;IACZ,cAAI,GAAG,UAAA,IAAI,CAAC,IAAI,CAAA;IAC7B,SAAgB,UAAU,CAAC,OAAe,EAAE,KAAwC,EAAE,KAAiB;QACtG,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAA;QACvC,OAAO;YACN,OAAO,EAAE,OAAO;YAChB,QAAQ;YACR,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACR,MAAM,EAAE;oBACP,IAAI,EAAE,KAAK;oBACX,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAC5E,MAAM,EAAE,SAAS;iBACjB;gBACD,gBAAgB,EAAE;oBACjB,IAAI,EAAE,KAAK;oBACX,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAC5E,MAAM,EAAE,SAAS;iBACjB;gBACD,CAAC,OAAO,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;oBAChC,IAAI,EAAE,UAAmB;oBACzB,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACtC,MAAM,EAAE,SAAkB;iBAC1B;gBACD,CAAC,UAAU,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;oBACnC,IAAI,EAAE,UAAmB;oBACzB,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,SAAkB;iBAC1B;aACD;SACD,CAAA;IACF,CAAC;IA7Be,oBAAU,aA6BzB,CAAA;AACF,CAAC,EAtDgB,SAAS,KAAT,SAAS,QAsDzB"}
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;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AASnC,MAAM,KAAW,SAAS,CA0DzB;AA1DD,WAAiB,SAAS;IACZ,eAAK,GAAG;QACpB,UAAU;QACV,kBAAkB;QAClB,UAAU;QACV,kBAAkB;QAClB,eAAe;QACf,SAAS;QACT,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,SAAS;QACT,SAAS;KACA,CAAA;IAEG,cAAI,GAAG,IAAI,CAAC,MAAM,CAAY;QAC1C,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACjE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1D,OAAO,EAAE,OAAO,CAAC,IAAI;QACrB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,UAAA,KAAK,CAAC;KACxB,CAAC,CAAA;IACW,YAAE,GAAG,UAAA,IAAI,CAAC,EAAE,CAAA;IACZ,cAAI,GAAG,UAAA,IAAI,CAAC,IAAI,CAAA;IAC7B,SAAgB,UAAU,CAAC,OAAe,EAAE,KAAwC,EAAE,KAAiB;QAGtG,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,MAAM,CAAA;QAC5C,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7D,OAAO;YACN,OAAO,EAAE,OAAO;YAChB,QAAQ;YACR,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACR,MAAM,EAAE;oBACP,IAAI,EAAE,KAAK;oBACX,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,eAAe,EAAE,YAAY,CAAC;oBACnE,MAAM,EAAE,SAAS;iBACjB;gBACD,gBAAgB,EAAE;oBACjB,IAAI,EAAE,KAAK;oBACX,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,eAAe,EAAE,YAAY,CAAC;oBACnE,MAAM,EAAE,SAAS;iBACjB;gBACD,CAAC,OAAO,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;oBAChC,IAAI,EAAE,UAAmB;oBACzB,MAAM,EAAE,YAAY;oBACpB,MAAM,EAAE,SAAkB;iBAC1B;gBACD,CAAC,UAAU,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;oBACnC,IAAI,EAAE,UAAmB;oBACzB,MAAM,EAAE,eAAe;oBACvB,MAAM,EAAE,SAAkB;iBAC1B;aACD;SACD,CAAA;IACF,CAAC;IAjCe,oBAAU,aAiCzB,CAAA;AACF,CAAC,EA1DgB,SAAS,KAAT,SAAS,QA0DzB"}
@@ -17,7 +17,7 @@ export var Incoming;
17
17
  return {
18
18
  account: card,
19
19
  currency,
20
- amount: isoly.Currency.add(currency, amount, entry.fee.other[currency] ?? 0),
20
+ amount: isoly.Currency.add(currency, -amount, -(entry.fee.other[currency] ?? 0)),
21
21
  posted: isoly.DateTime.now(),
22
22
  counterpart: { type: "card", merchant: entry.merchant, acquirer: entry.acquirer },
23
23
  description: "Refund transaction.",
@@ -1 +1 @@
1
- {"version":3,"file":"Incoming.js","sourceRoot":"../","sources":["Transaction/Incoming.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAE9B,OAAO,EAAE,SAAS,IAAI,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAC/D,OAAO,EAAE,SAAS,IAAI,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAO/D,MAAM,KAAW,QAAQ,CAmBxB;AAnBD,WAAiB,QAAQ;IACX,aAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAW;QAC9D,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;QACrB,SAAS,EAAE,oBAAoB,CAAC,IAAI,CAAC,QAAQ,EAAE;KAC/C,CAAC,CAAA;IACW,WAAE,GAAG,SAAA,IAAI,CAAC,EAAE,CAAA;IACZ,aAAI,GAAG,SAAA,IAAI,CAAC,IAAI,CAAA;IAC7B,SAAgB,UAAU,CAAC,KAAwC,EAAE,IAAe;QACnF,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAA;QACvC,OAAO;YACN,OAAO,EAAE,IAAI;YACb,QAAQ;YACR,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5E,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE;YAC5B,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE;YACjF,WAAW,EAAE,qBAAqB;SAClC,CAAA;IACF,CAAC;IAVe,mBAAU,aAUzB,CAAA;AACF,CAAC,EAnBgB,QAAQ,KAAR,QAAQ,QAmBxB"}
1
+ {"version":3,"file":"Incoming.js","sourceRoot":"../","sources":["Transaction/Incoming.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAE9B,OAAO,EAAE,SAAS,IAAI,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAC/D,OAAO,EAAE,SAAS,IAAI,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAO/D,MAAM,KAAW,QAAQ,CAmBxB;AAnBD,WAAiB,QAAQ;IACX,aAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAW;QAC9D,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;QACrB,SAAS,EAAE,oBAAoB,CAAC,IAAI,CAAC,QAAQ,EAAE;KAC/C,CAAC,CAAA;IACW,WAAE,GAAG,SAAA,IAAI,CAAC,EAAE,CAAA;IACZ,aAAI,GAAG,SAAA,IAAI,CAAC,IAAI,CAAA;IAC7B,SAAgB,UAAU,CAAC,KAAwC,EAAE,IAAe;QACnF,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAA;QACvC,OAAO;YACN,OAAO,EAAE,IAAI;YACb,QAAQ;YACR,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAChF,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE;YAC5B,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE;YACjF,WAAW,EAAE,qBAAqB;SAClC,CAAA;IACF,CAAC;IAVe,mBAAU,aAUzB,CAAA;AACF,CAAC,EAnBgB,QAAQ,KAAR,QAAQ,QAmBxB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pax2pay/model-banking",
3
- "version": "0.1.218",
3
+ "version": "0.1.220",
4
4
  "description": "Library containing data model types and functions for the Pax2Pay Banking API.",
5
5
  "author": "Pax2Pay Ltd",
6
6
  "license": "MIT",