@pax2pay/model-banking 0.1.479 → 0.1.480
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/Rule/State/Authorization.ts +27 -12
- package/Rule/State/Transaction.ts +1 -1
- package/Rule/State/index.ts +1 -2
- package/Transaction/Creatable.ts +7 -1
- package/dist/cjs/Rule/State/Authorization.d.ts +5 -4
- package/dist/cjs/Rule/State/Authorization.js +24 -10
- package/dist/cjs/Rule/State/Authorization.js.map +1 -1
- package/dist/cjs/Rule/State/Transaction.d.ts +2 -2
- package/dist/cjs/Rule/State/index.d.ts +1 -1
- package/dist/cjs/Rule/State/index.js +2 -2
- package/dist/cjs/Rule/State/index.js.map +1 -1
- package/dist/cjs/Transaction/Creatable.d.ts +10 -2
- package/dist/cjs/Transaction/Creatable.js.map +1 -1
- package/dist/mjs/Rule/State/Authorization.d.ts +5 -4
- package/dist/mjs/Rule/State/Authorization.js +24 -10
- package/dist/mjs/Rule/State/Authorization.js.map +1 -1
- package/dist/mjs/Rule/State/Transaction.d.ts +2 -2
- package/dist/mjs/Rule/State/index.d.ts +1 -1
- package/dist/mjs/Rule/State/index.js +2 -2
- package/dist/mjs/Rule/State/index.js.map +1 -1
- package/dist/mjs/Transaction/Creatable.d.ts +10 -2
- package/dist/mjs/Transaction/Creatable.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,26 +2,40 @@ import { isoly } from "isoly"
|
|
|
2
2
|
import { isly } from "isly"
|
|
3
3
|
import { Creatable as AuthorizationCreatable } from "../../Authorization/Creatable"
|
|
4
4
|
import { Merchant } from "../../Merchant"
|
|
5
|
-
import
|
|
5
|
+
import { Rail } from "../../Rail"
|
|
6
6
|
import type { Transaction } from "../../Transaction"
|
|
7
7
|
|
|
8
|
-
export interface Authorization extends Omit<AuthorizationCreatable, "amount"> {
|
|
8
|
+
export interface Authorization extends Omit<AuthorizationCreatable, "amount" | "reference"> {
|
|
9
9
|
time: string
|
|
10
10
|
hour: number
|
|
11
11
|
currency: isoly.Currency
|
|
12
12
|
amount: number
|
|
13
13
|
merchant: Merchant & { reference: string }
|
|
14
|
+
reference?: string
|
|
14
15
|
}
|
|
15
16
|
export namespace Authorization {
|
|
16
|
-
export function from(
|
|
17
|
-
return
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
17
|
+
export function from(transaction: Transaction.Creatable.Resolved | Transaction): Authorization | undefined {
|
|
18
|
+
return Rail.Address.Card.Counterpart.type.is(transaction.counterpart) &&
|
|
19
|
+
"account" in transaction &&
|
|
20
|
+
transaction.account.type == "card" &&
|
|
21
|
+
"id" in transaction.account
|
|
22
|
+
? {
|
|
23
|
+
time: isoly.DateTime.getTime(isoly.DateTime.now()),
|
|
24
|
+
hour: isoly.DateTime.getHour(isoly.DateTime.now()),
|
|
25
|
+
currency: transaction.currency,
|
|
26
|
+
amount: Math.abs(typeof transaction.amount == "number" ? transaction.amount : transaction.amount.original),
|
|
27
|
+
merchant: {
|
|
28
|
+
...transaction.counterpart.merchant,
|
|
29
|
+
reference: `${transaction.counterpart.acquirer.id}-${transaction.counterpart.merchant.id}`,
|
|
30
|
+
},
|
|
31
|
+
card: transaction.account.id,
|
|
32
|
+
acquirer: transaction.counterpart.acquirer,
|
|
33
|
+
reference:
|
|
34
|
+
typeof transaction.reference == "string" ? transaction.reference : transaction.reference?.reference,
|
|
35
|
+
description: transaction.description,
|
|
36
|
+
...("exchange" in transaction ? { exchange: transaction.exchange } : {}),
|
|
37
|
+
}
|
|
38
|
+
: undefined
|
|
25
39
|
}
|
|
26
40
|
export function toTransaction(authorization: Authorization): Transaction.Creatable & {
|
|
27
41
|
counterpart: Rail.Address.Card.Counterpart
|
|
@@ -37,7 +51,7 @@ export namespace Authorization {
|
|
|
37
51
|
},
|
|
38
52
|
}
|
|
39
53
|
}
|
|
40
|
-
export const type = AuthorizationCreatable.type.omit(["amount"]).extend<Authorization>({
|
|
54
|
+
export const type = AuthorizationCreatable.type.omit(["amount", "reference"]).extend<Authorization>({
|
|
41
55
|
time: isly.string(),
|
|
42
56
|
hour: isly.number(),
|
|
43
57
|
currency: isly.string(isoly.Currency.values),
|
|
@@ -46,5 +60,6 @@ export namespace Authorization {
|
|
|
46
60
|
Merchant.type,
|
|
47
61
|
isly.object<{ reference: string }>({ reference: isly.string() })
|
|
48
62
|
),
|
|
63
|
+
reference: isly.string().optional(),
|
|
49
64
|
})
|
|
50
65
|
}
|
|
@@ -2,7 +2,7 @@ import { isoly } from "isoly"
|
|
|
2
2
|
import { Transaction as ModelTransaction } from "../../Transaction"
|
|
3
3
|
import type { Rule } from "../index"
|
|
4
4
|
|
|
5
|
-
export
|
|
5
|
+
export type Transaction = ModelTransaction.Creatable.Resolved & {
|
|
6
6
|
kind: Rule.Base.Kind
|
|
7
7
|
stage: "finalize" | "initiate"
|
|
8
8
|
amount: number
|
package/Rule/State/index.ts
CHANGED
|
@@ -47,7 +47,6 @@ export namespace State {
|
|
|
47
47
|
transaction: ModelTransaction.Creatable.Resolved | ModelTransaction,
|
|
48
48
|
kind: Rule.Base.Kind,
|
|
49
49
|
stage: "finalize" | "initiate",
|
|
50
|
-
authorization?: Authorization,
|
|
51
50
|
card?: Card,
|
|
52
51
|
organization?: Organization
|
|
53
52
|
): State {
|
|
@@ -55,7 +54,7 @@ export namespace State {
|
|
|
55
54
|
data,
|
|
56
55
|
account: Account.from(account, address, transactions, days),
|
|
57
56
|
transaction: Transaction.from(account.name, transaction, kind, stage),
|
|
58
|
-
authorization,
|
|
57
|
+
authorization: Authorization.from(transaction),
|
|
59
58
|
card,
|
|
60
59
|
organization,
|
|
61
60
|
}
|
package/Transaction/Creatable.ts
CHANGED
|
@@ -11,7 +11,7 @@ export interface Creatable {
|
|
|
11
11
|
exchange?: Exchange
|
|
12
12
|
}
|
|
13
13
|
export namespace Creatable {
|
|
14
|
-
export type Resolved = Creatable & { counterpart: Rail.Address }
|
|
14
|
+
export type Resolved = (Creatable & { counterpart: Rail.Address }) | CardTransaction
|
|
15
15
|
export const type = isly.object<Creatable>({
|
|
16
16
|
counterpart: isly.union<string | Rail.Address, string, Rail.Address>(isly.string(), Rail.Address.type),
|
|
17
17
|
currency: isly.fromIs("isoly.Currency", isoly.Currency.is),
|
|
@@ -19,4 +19,10 @@ export namespace Creatable {
|
|
|
19
19
|
description: isly.string(),
|
|
20
20
|
exchange: Exchange.type.optional(),
|
|
21
21
|
})
|
|
22
|
+
export interface CardTransaction extends Creatable {
|
|
23
|
+
account: Pick<Rail.Address.Card, "id" | "type">
|
|
24
|
+
counterpart: Rail.Address.Card.Counterpart
|
|
25
|
+
reference: { reference: string }
|
|
26
|
+
approvalCode?: string
|
|
27
|
+
}
|
|
22
28
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { isoly } from "isoly";
|
|
2
2
|
import { Creatable as AuthorizationCreatable } from "../../Authorization/Creatable";
|
|
3
3
|
import { Merchant } from "../../Merchant";
|
|
4
|
-
import
|
|
4
|
+
import { Rail } from "../../Rail";
|
|
5
5
|
import type { Transaction } from "../../Transaction";
|
|
6
|
-
export interface Authorization extends Omit<AuthorizationCreatable, "amount"> {
|
|
6
|
+
export interface Authorization extends Omit<AuthorizationCreatable, "amount" | "reference"> {
|
|
7
7
|
time: string;
|
|
8
8
|
hour: number;
|
|
9
9
|
currency: isoly.Currency;
|
|
@@ -11,11 +11,12 @@ export interface Authorization extends Omit<AuthorizationCreatable, "amount"> {
|
|
|
11
11
|
merchant: Merchant & {
|
|
12
12
|
reference: string;
|
|
13
13
|
};
|
|
14
|
+
reference?: string;
|
|
14
15
|
}
|
|
15
16
|
export declare namespace Authorization {
|
|
16
|
-
function from(
|
|
17
|
+
function from(transaction: Transaction.Creatable.Resolved | Transaction): Authorization | undefined;
|
|
17
18
|
function toTransaction(authorization: Authorization): Transaction.Creatable & {
|
|
18
19
|
counterpart: Rail.Address.Card.Counterpart;
|
|
19
20
|
};
|
|
20
|
-
const type: import("isly/dist/cjs/object").IslyObject<Authorization, Omit<AuthorizationCreatable, "amount">>;
|
|
21
|
+
const type: import("isly/dist/cjs/object").IslyObject<Authorization, Omit<AuthorizationCreatable, "amount" | "reference">>;
|
|
21
22
|
}
|
|
@@ -5,17 +5,30 @@ const isoly_1 = require("isoly");
|
|
|
5
5
|
const isly_1 = require("isly");
|
|
6
6
|
const Creatable_1 = require("../../Authorization/Creatable");
|
|
7
7
|
const Merchant_1 = require("../../Merchant");
|
|
8
|
+
const Rail_1 = require("../../Rail");
|
|
8
9
|
var Authorization;
|
|
9
10
|
(function (Authorization) {
|
|
10
|
-
function from(
|
|
11
|
-
return
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
11
|
+
function from(transaction) {
|
|
12
|
+
return Rail_1.Rail.Address.Card.Counterpart.type.is(transaction.counterpart) &&
|
|
13
|
+
"account" in transaction &&
|
|
14
|
+
transaction.account.type == "card" &&
|
|
15
|
+
"id" in transaction.account
|
|
16
|
+
? {
|
|
17
|
+
time: isoly_1.isoly.DateTime.getTime(isoly_1.isoly.DateTime.now()),
|
|
18
|
+
hour: isoly_1.isoly.DateTime.getHour(isoly_1.isoly.DateTime.now()),
|
|
19
|
+
currency: transaction.currency,
|
|
20
|
+
amount: Math.abs(typeof transaction.amount == "number" ? transaction.amount : transaction.amount.original),
|
|
21
|
+
merchant: {
|
|
22
|
+
...transaction.counterpart.merchant,
|
|
23
|
+
reference: `${transaction.counterpart.acquirer.id}-${transaction.counterpart.merchant.id}`,
|
|
24
|
+
},
|
|
25
|
+
card: transaction.account.id,
|
|
26
|
+
acquirer: transaction.counterpart.acquirer,
|
|
27
|
+
reference: typeof transaction.reference == "string" ? transaction.reference : transaction.reference?.reference,
|
|
28
|
+
description: transaction.description,
|
|
29
|
+
...("exchange" in transaction ? { exchange: transaction.exchange } : {}),
|
|
30
|
+
}
|
|
31
|
+
: undefined;
|
|
19
32
|
}
|
|
20
33
|
Authorization.from = from;
|
|
21
34
|
function toTransaction(authorization) {
|
|
@@ -31,12 +44,13 @@ var Authorization;
|
|
|
31
44
|
};
|
|
32
45
|
}
|
|
33
46
|
Authorization.toTransaction = toTransaction;
|
|
34
|
-
Authorization.type = Creatable_1.Creatable.type.omit(["amount"]).extend({
|
|
47
|
+
Authorization.type = Creatable_1.Creatable.type.omit(["amount", "reference"]).extend({
|
|
35
48
|
time: isly_1.isly.string(),
|
|
36
49
|
hour: isly_1.isly.number(),
|
|
37
50
|
currency: isly_1.isly.string(isoly_1.isoly.Currency.values),
|
|
38
51
|
amount: isly_1.isly.number(),
|
|
39
52
|
merchant: isly_1.isly.intersection(Merchant_1.Merchant.type, isly_1.isly.object({ reference: isly_1.isly.string() })),
|
|
53
|
+
reference: isly_1.isly.string().optional(),
|
|
40
54
|
});
|
|
41
55
|
})(Authorization || (exports.Authorization = Authorization = {}));
|
|
42
56
|
//# sourceMappingURL=Authorization.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Authorization.js","sourceRoot":"","sources":["../../../../Rule/State/Authorization.ts"],"names":[],"mappings":";;;AAAA,iCAA6B;AAC7B,+BAA2B;AAC3B,6DAAmF;AACnF,6CAAyC;
|
|
1
|
+
{"version":3,"file":"Authorization.js","sourceRoot":"","sources":["../../../../Rule/State/Authorization.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { isoly } from "isoly";
|
|
2
2
|
import { Transaction as ModelTransaction } from "../../Transaction";
|
|
3
3
|
import type { Rule } from "../index";
|
|
4
|
-
export
|
|
4
|
+
export type Transaction = ModelTransaction.Creatable.Resolved & {
|
|
5
5
|
kind: Rule.Base.Kind;
|
|
6
6
|
stage: "finalize" | "initiate";
|
|
7
7
|
amount: number;
|
|
@@ -17,7 +17,7 @@ export interface Transaction extends ModelTransaction.Creatable.Resolved {
|
|
|
17
17
|
};
|
|
18
18
|
reserve?: number;
|
|
19
19
|
};
|
|
20
|
-
}
|
|
20
|
+
};
|
|
21
21
|
export declare namespace Transaction {
|
|
22
22
|
function from(accountName: string, transaction: ModelTransaction.Creatable.Resolved | ModelTransaction, kind: Rule.Base.Kind, stage: "finalize" | "initiate"): Transaction;
|
|
23
23
|
}
|
|
@@ -37,5 +37,5 @@ export declare namespace State {
|
|
|
37
37
|
flags: string[];
|
|
38
38
|
notes: ModelTransaction.Note[];
|
|
39
39
|
}
|
|
40
|
-
function from(data: Data, account: ModelAccount, address: Rail.Address, transactions: Account.Transactions, days: Account.Days, transaction: ModelTransaction.Creatable.Resolved | ModelTransaction, kind: Rule.Base.Kind, stage: "finalize" | "initiate",
|
|
40
|
+
function from(data: Data, account: ModelAccount, address: Rail.Address, transactions: Account.Transactions, days: Account.Days, transaction: ModelTransaction.Creatable.Resolved | ModelTransaction, kind: Rule.Base.Kind, stage: "finalize" | "initiate", card?: Card, organization?: Organization): State;
|
|
41
41
|
}
|
|
@@ -21,12 +21,12 @@ var State;
|
|
|
21
21
|
Outcome.values = ["approve", "reject", "review"];
|
|
22
22
|
Outcome.type = isly_1.isly.string(Outcome.values);
|
|
23
23
|
})(Outcome = State.Outcome || (State.Outcome = {}));
|
|
24
|
-
function from(data, account, address, transactions, days, transaction, kind, stage,
|
|
24
|
+
function from(data, account, address, transactions, days, transaction, kind, stage, card, organization) {
|
|
25
25
|
return {
|
|
26
26
|
data,
|
|
27
27
|
account: State.Account.from(account, address, transactions, days),
|
|
28
28
|
transaction: State.Transaction.from(account.name, transaction, kind, stage),
|
|
29
|
-
authorization,
|
|
29
|
+
authorization: State.Authorization.from(transaction),
|
|
30
30
|
card,
|
|
31
31
|
organization,
|
|
32
32
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../Rule/State/index.ts"],"names":[],"mappings":";;;AAAA,+BAA2B;AAK3B,uCAAmD;AACnD,mDAAqE;AACrE,iCAA0C;AAE1C,iDAAkE;AAClE,uCAAmD;AACnD,+CAA+D;AAU/D,IAAiB,KAAK,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../Rule/State/index.ts"],"names":[],"mappings":";;;AAAA,+BAA2B;AAK3B,uCAAmD;AACnD,mDAAqE;AACrE,iCAA0C;AAE1C,iDAAkE;AAClE,uCAAmD;AACnD,+CAA+D;AAU/D,IAAiB,KAAK,CAwCrB;AAxCD,WAAiB,KAAK;IACP,aAAO,GAAG,iBAAY,CAAA;IACtB,mBAAa,GAAG,6BAAkB,CAAA;IAClC,UAAI,GAAG,WAAS,CAAA;IAChB,aAAO,GAAG,iBAAY,CAAA;IACtB,iBAAW,GAAG,yBAAgB,CAAA;IAC9B,kBAAY,GAAG,2BAAiB,CAAA;IAG9C,IAAiB,OAAO,CAGvB;IAHD,WAAiB,OAAO;QACV,cAAM,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAA;QACjD,YAAI,GAAG,WAAI,CAAC,MAAM,CAAU,QAAA,MAAM,CAAC,CAAA;IACjD,CAAC,EAHgB,OAAO,GAAP,aAAO,KAAP,aAAO,QAGvB;IAOD,SAAgB,IAAI,CACnB,IAAU,EACV,OAAqB,EACrB,OAAqB,EACrB,YAAkC,EAClC,IAAkB,EAClB,WAAmE,EACnE,IAAoB,EACpB,KAA8B,EAC9B,IAAW,EACX,YAA2B;QAE3B,OAAO;YACN,IAAI;YACJ,OAAO,EAAE,MAAA,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC;YAC3D,WAAW,EAAE,MAAA,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC;YACrE,aAAa,EAAE,MAAA,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC;YAC9C,IAAI;YACJ,YAAY;SACZ,CAAA;IACF,CAAC;IApBe,UAAI,OAoBnB,CAAA;AACF,CAAC,EAxCgB,KAAK,qBAAL,KAAK,QAwCrB"}
|
|
@@ -9,8 +9,16 @@ export interface Creatable {
|
|
|
9
9
|
exchange?: Exchange;
|
|
10
10
|
}
|
|
11
11
|
export declare namespace Creatable {
|
|
12
|
-
type Resolved = Creatable & {
|
|
12
|
+
type Resolved = (Creatable & {
|
|
13
13
|
counterpart: Rail.Address;
|
|
14
|
-
};
|
|
14
|
+
}) | CardTransaction;
|
|
15
15
|
const type: import("isly/dist/cjs/object").IslyObject<Creatable, object>;
|
|
16
|
+
interface CardTransaction extends Creatable {
|
|
17
|
+
account: Pick<Rail.Address.Card, "id" | "type">;
|
|
18
|
+
counterpart: Rail.Address.Card.Counterpart;
|
|
19
|
+
reference: {
|
|
20
|
+
reference: string;
|
|
21
|
+
};
|
|
22
|
+
approvalCode?: string;
|
|
23
|
+
}
|
|
16
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Creatable.js","sourceRoot":"","sources":["../../../Transaction/Creatable.ts"],"names":[],"mappings":";;;AAAA,iCAA6B;AAC7B,+BAA2B;AAC3B,kCAA8B;AAC9B,yCAAqC;AASrC,IAAiB,SAAS,
|
|
1
|
+
{"version":3,"file":"Creatable.js","sourceRoot":"","sources":["../../../Transaction/Creatable.ts"],"names":[],"mappings":";;;AAAA,iCAA6B;AAC7B,+BAA2B;AAC3B,kCAA8B;AAC9B,yCAAqC;AASrC,IAAiB,SAAS,CAezB;AAfD,WAAiB,SAAS;IAEZ,cAAI,GAAG,WAAI,CAAC,MAAM,CAAY;QAC1C,WAAW,EAAE,WAAI,CAAC,KAAK,CAA8C,WAAI,CAAC,MAAM,EAAE,EAAE,WAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QACtG,QAAQ,EAAE,WAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,aAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1D,MAAM,EAAE,WAAI,CAAC,MAAM,EAAE;QACrB,WAAW,EAAE,WAAI,CAAC,MAAM,EAAE;QAC1B,QAAQ,EAAE,mBAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE;KAClC,CAAC,CAAA;AAOH,CAAC,EAfgB,SAAS,yBAAT,SAAS,QAezB"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { isoly } from "isoly";
|
|
2
2
|
import { Creatable as AuthorizationCreatable } from "../../Authorization/Creatable";
|
|
3
3
|
import { Merchant } from "../../Merchant";
|
|
4
|
-
import
|
|
4
|
+
import { Rail } from "../../Rail";
|
|
5
5
|
import type { Transaction } from "../../Transaction";
|
|
6
|
-
export interface Authorization extends Omit<AuthorizationCreatable, "amount"> {
|
|
6
|
+
export interface Authorization extends Omit<AuthorizationCreatable, "amount" | "reference"> {
|
|
7
7
|
time: string;
|
|
8
8
|
hour: number;
|
|
9
9
|
currency: isoly.Currency;
|
|
@@ -11,11 +11,12 @@ export interface Authorization extends Omit<AuthorizationCreatable, "amount"> {
|
|
|
11
11
|
merchant: Merchant & {
|
|
12
12
|
reference: string;
|
|
13
13
|
};
|
|
14
|
+
reference?: string;
|
|
14
15
|
}
|
|
15
16
|
export declare namespace Authorization {
|
|
16
|
-
function from(
|
|
17
|
+
function from(transaction: Transaction.Creatable.Resolved | Transaction): Authorization | undefined;
|
|
17
18
|
function toTransaction(authorization: Authorization): Transaction.Creatable & {
|
|
18
19
|
counterpart: Rail.Address.Card.Counterpart;
|
|
19
20
|
};
|
|
20
|
-
const type: import("isly/dist/cjs/object").IslyObject<Authorization, Omit<AuthorizationCreatable, "amount">>;
|
|
21
|
+
const type: import("isly/dist/cjs/object").IslyObject<Authorization, Omit<AuthorizationCreatable, "amount" | "reference">>;
|
|
21
22
|
}
|
|
@@ -2,17 +2,30 @@ import { isoly } from "isoly";
|
|
|
2
2
|
import { isly } from "isly";
|
|
3
3
|
import { Creatable as AuthorizationCreatable } from "../../Authorization/Creatable";
|
|
4
4
|
import { Merchant } from "../../Merchant";
|
|
5
|
+
import { Rail } from "../../Rail";
|
|
5
6
|
export var Authorization;
|
|
6
7
|
(function (Authorization) {
|
|
7
|
-
function from(
|
|
8
|
-
return
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
8
|
+
function from(transaction) {
|
|
9
|
+
return Rail.Address.Card.Counterpart.type.is(transaction.counterpart) &&
|
|
10
|
+
"account" in transaction &&
|
|
11
|
+
transaction.account.type == "card" &&
|
|
12
|
+
"id" in transaction.account
|
|
13
|
+
? {
|
|
14
|
+
time: isoly.DateTime.getTime(isoly.DateTime.now()),
|
|
15
|
+
hour: isoly.DateTime.getHour(isoly.DateTime.now()),
|
|
16
|
+
currency: transaction.currency,
|
|
17
|
+
amount: Math.abs(typeof transaction.amount == "number" ? transaction.amount : transaction.amount.original),
|
|
18
|
+
merchant: {
|
|
19
|
+
...transaction.counterpart.merchant,
|
|
20
|
+
reference: `${transaction.counterpart.acquirer.id}-${transaction.counterpart.merchant.id}`,
|
|
21
|
+
},
|
|
22
|
+
card: transaction.account.id,
|
|
23
|
+
acquirer: transaction.counterpart.acquirer,
|
|
24
|
+
reference: typeof transaction.reference == "string" ? transaction.reference : transaction.reference?.reference,
|
|
25
|
+
description: transaction.description,
|
|
26
|
+
...("exchange" in transaction ? { exchange: transaction.exchange } : {}),
|
|
27
|
+
}
|
|
28
|
+
: undefined;
|
|
16
29
|
}
|
|
17
30
|
Authorization.from = from;
|
|
18
31
|
function toTransaction(authorization) {
|
|
@@ -28,12 +41,13 @@ export var Authorization;
|
|
|
28
41
|
};
|
|
29
42
|
}
|
|
30
43
|
Authorization.toTransaction = toTransaction;
|
|
31
|
-
Authorization.type = AuthorizationCreatable.type.omit(["amount"]).extend({
|
|
44
|
+
Authorization.type = AuthorizationCreatable.type.omit(["amount", "reference"]).extend({
|
|
32
45
|
time: isly.string(),
|
|
33
46
|
hour: isly.number(),
|
|
34
47
|
currency: isly.string(isoly.Currency.values),
|
|
35
48
|
amount: isly.number(),
|
|
36
49
|
merchant: isly.intersection(Merchant.type, isly.object({ reference: isly.string() })),
|
|
50
|
+
reference: isly.string().optional(),
|
|
37
51
|
});
|
|
38
52
|
})(Authorization || (Authorization = {}));
|
|
39
53
|
//# sourceMappingURL=Authorization.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Authorization.js","sourceRoot":"","sources":["../../../../Rule/State/Authorization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,SAAS,IAAI,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AACnF,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"Authorization.js","sourceRoot":"","sources":["../../../../Rule/State/Authorization.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { isoly } from "isoly";
|
|
2
2
|
import { Transaction as ModelTransaction } from "../../Transaction";
|
|
3
3
|
import type { Rule } from "../index";
|
|
4
|
-
export
|
|
4
|
+
export type Transaction = ModelTransaction.Creatable.Resolved & {
|
|
5
5
|
kind: Rule.Base.Kind;
|
|
6
6
|
stage: "finalize" | "initiate";
|
|
7
7
|
amount: number;
|
|
@@ -17,7 +17,7 @@ export interface Transaction extends ModelTransaction.Creatable.Resolved {
|
|
|
17
17
|
};
|
|
18
18
|
reserve?: number;
|
|
19
19
|
};
|
|
20
|
-
}
|
|
20
|
+
};
|
|
21
21
|
export declare namespace Transaction {
|
|
22
22
|
function from(accountName: string, transaction: ModelTransaction.Creatable.Resolved | ModelTransaction, kind: Rule.Base.Kind, stage: "finalize" | "initiate"): Transaction;
|
|
23
23
|
}
|
|
@@ -37,5 +37,5 @@ export declare namespace State {
|
|
|
37
37
|
flags: string[];
|
|
38
38
|
notes: ModelTransaction.Note[];
|
|
39
39
|
}
|
|
40
|
-
function from(data: Data, account: ModelAccount, address: Rail.Address, transactions: Account.Transactions, days: Account.Days, transaction: ModelTransaction.Creatable.Resolved | ModelTransaction, kind: Rule.Base.Kind, stage: "finalize" | "initiate",
|
|
40
|
+
function from(data: Data, account: ModelAccount, address: Rail.Address, transactions: Account.Transactions, days: Account.Days, transaction: ModelTransaction.Creatable.Resolved | ModelTransaction, kind: Rule.Base.Kind, stage: "finalize" | "initiate", card?: Card, organization?: Organization): State;
|
|
41
41
|
}
|
|
@@ -18,12 +18,12 @@ export var State;
|
|
|
18
18
|
Outcome.values = ["approve", "reject", "review"];
|
|
19
19
|
Outcome.type = isly.string(Outcome.values);
|
|
20
20
|
})(Outcome = State.Outcome || (State.Outcome = {}));
|
|
21
|
-
function from(data, account, address, transactions, days, transaction, kind, stage,
|
|
21
|
+
function from(data, account, address, transactions, days, transaction, kind, stage, card, organization) {
|
|
22
22
|
return {
|
|
23
23
|
data,
|
|
24
24
|
account: State.Account.from(account, address, transactions, days),
|
|
25
25
|
transaction: State.Transaction.from(account.name, transaction, kind, stage),
|
|
26
|
-
authorization,
|
|
26
|
+
authorization: State.Authorization.from(transaction),
|
|
27
27
|
card,
|
|
28
28
|
organization,
|
|
29
29
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../Rule/State/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAK3B,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,aAAa,IAAI,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,QAAQ,CAAA;AAE1C,OAAO,EAAE,YAAY,IAAI,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,WAAW,IAAI,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAU/D,MAAM,KAAW,KAAK,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../Rule/State/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAK3B,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,aAAa,IAAI,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,QAAQ,CAAA;AAE1C,OAAO,EAAE,YAAY,IAAI,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,WAAW,IAAI,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAU/D,MAAM,KAAW,KAAK,CAwCrB;AAxCD,WAAiB,KAAK;IACP,aAAO,GAAG,YAAY,CAAA;IACtB,mBAAa,GAAG,kBAAkB,CAAA;IAClC,UAAI,GAAG,SAAS,CAAA;IAChB,aAAO,GAAG,YAAY,CAAA;IACtB,iBAAW,GAAG,gBAAgB,CAAA;IAC9B,kBAAY,GAAG,iBAAiB,CAAA;IAG9C,IAAiB,OAAO,CAGvB;IAHD,WAAiB,OAAO;QACV,cAAM,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAA;QACjD,YAAI,GAAG,IAAI,CAAC,MAAM,CAAU,QAAA,MAAM,CAAC,CAAA;IACjD,CAAC,EAHgB,OAAO,GAAP,aAAO,KAAP,aAAO,QAGvB;IAOD,SAAgB,IAAI,CACnB,IAAU,EACV,OAAqB,EACrB,OAAqB,EACrB,YAAkC,EAClC,IAAkB,EAClB,WAAmE,EACnE,IAAoB,EACpB,KAA8B,EAC9B,IAAW,EACX,YAA2B;QAE3B,OAAO;YACN,IAAI;YACJ,OAAO,EAAE,MAAA,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC;YAC3D,WAAW,EAAE,MAAA,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC;YACrE,aAAa,EAAE,MAAA,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC;YAC9C,IAAI;YACJ,YAAY;SACZ,CAAA;IACF,CAAC;IApBe,UAAI,OAoBnB,CAAA;AACF,CAAC,EAxCgB,KAAK,KAAL,KAAK,QAwCrB"}
|
|
@@ -9,8 +9,16 @@ export interface Creatable {
|
|
|
9
9
|
exchange?: Exchange;
|
|
10
10
|
}
|
|
11
11
|
export declare namespace Creatable {
|
|
12
|
-
type Resolved = Creatable & {
|
|
12
|
+
type Resolved = (Creatable & {
|
|
13
13
|
counterpart: Rail.Address;
|
|
14
|
-
};
|
|
14
|
+
}) | CardTransaction;
|
|
15
15
|
const type: import("isly/dist/cjs/object").IslyObject<Creatable, object>;
|
|
16
|
+
interface CardTransaction extends Creatable {
|
|
17
|
+
account: Pick<Rail.Address.Card, "id" | "type">;
|
|
18
|
+
counterpart: Rail.Address.Card.Counterpart;
|
|
19
|
+
reference: {
|
|
20
|
+
reference: string;
|
|
21
|
+
};
|
|
22
|
+
approvalCode?: string;
|
|
23
|
+
}
|
|
16
24
|
}
|
|
@@ -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,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AASrC,MAAM,KAAW,SAAS,
|
|
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,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AASrC,MAAM,KAAW,SAAS,CAezB;AAfD,WAAiB,SAAS;IAEZ,cAAI,GAAG,IAAI,CAAC,MAAM,CAAY;QAC1C,WAAW,EAAE,IAAI,CAAC,KAAK,CAA8C,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QACtG,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,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE;KAClC,CAAC,CAAA;AAOH,CAAC,EAfgB,SAAS,KAAT,SAAS,QAezB"}
|