@pax2pay/model-banking 0.1.316 → 0.1.317
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/Transaction/index.ts +63 -39
- package/dist/Transaction/index.d.ts +21 -7
- package/dist/Transaction/index.js +54 -26
- package/dist/Transaction/index.js.map +1 -1
- package/package.json +1 -1
package/Transaction/index.ts
CHANGED
|
@@ -52,7 +52,6 @@ export namespace Transaction {
|
|
|
52
52
|
export import Reference = TransactionReference
|
|
53
53
|
export import Note = TransactionNote
|
|
54
54
|
export import Status = TransactionStatus
|
|
55
|
-
|
|
56
55
|
export const type = isly.object<Transaction>({
|
|
57
56
|
counterpart: isly.fromIs("Rail.Address", Rail.Address.is),
|
|
58
57
|
currency: isly.fromIs("isoly.Currency", isoly.Currency.is),
|
|
@@ -96,38 +95,74 @@ export namespace Transaction {
|
|
|
96
95
|
}
|
|
97
96
|
}
|
|
98
97
|
export function fromCreatable(
|
|
99
|
-
organization: string,
|
|
100
|
-
accountId: string,
|
|
101
|
-
accountName: string,
|
|
102
|
-
account: Rail.Address,
|
|
103
|
-
rail: Rail,
|
|
104
98
|
creatable: Creatable & { counterpart: Rail.Address },
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
99
|
+
id: string,
|
|
100
|
+
state: Rule.State.Evaluated,
|
|
101
|
+
account: { id: string; name: string; organization: string; address: Rail.Address },
|
|
102
|
+
balance: { actual: number; reserved: number; available: number },
|
|
103
|
+
by: string | undefined,
|
|
104
|
+
operation: Operation | undefined,
|
|
105
|
+
reason: Status.Reason | undefined
|
|
112
106
|
): Transaction {
|
|
113
|
-
const
|
|
114
|
-
|
|
107
|
+
const status: Status = reason
|
|
108
|
+
? ["rejected", reason]
|
|
109
|
+
: state.outcome == "reject"
|
|
110
|
+
? ["rejected", "denied"]
|
|
111
|
+
: state.outcome == "review"
|
|
112
|
+
? "review"
|
|
113
|
+
: "processing"
|
|
114
|
+
const rail: Rail = state.card
|
|
115
|
+
? state.card.scheme
|
|
116
|
+
: account.address.type == "internal"
|
|
117
|
+
? "internal"
|
|
118
|
+
: account.address.type == "paxgiro"
|
|
119
|
+
? "paxgiro"
|
|
120
|
+
: "fasterpayments"
|
|
115
121
|
return {
|
|
116
122
|
...creatable,
|
|
117
|
-
amount,
|
|
118
|
-
type: getType(creatable,
|
|
119
|
-
direction:
|
|
120
|
-
organization,
|
|
121
|
-
accountId,
|
|
122
|
-
accountName,
|
|
123
|
-
account,
|
|
123
|
+
amount: -creatable.amount,
|
|
124
|
+
type: getType(creatable.counterpart, account.name),
|
|
125
|
+
direction: "outbound",
|
|
126
|
+
organization: account.organization,
|
|
127
|
+
accountId: account.id,
|
|
128
|
+
accountName: account.name,
|
|
129
|
+
account: account.address,
|
|
124
130
|
id,
|
|
125
131
|
posted: isoly.DateTime.now(),
|
|
126
132
|
by,
|
|
127
133
|
balance,
|
|
128
|
-
operations:
|
|
129
|
-
status
|
|
134
|
+
operations: !operation ? [] : [operation],
|
|
135
|
+
status,
|
|
130
136
|
rail,
|
|
137
|
+
flags: state.flags,
|
|
138
|
+
oldFlags: [],
|
|
139
|
+
notes: state.notes,
|
|
140
|
+
state,
|
|
141
|
+
risk: state.transaction.risk,
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
export function empty(
|
|
145
|
+
creatable: Creatable & { counterpart: Rail.Address },
|
|
146
|
+
account: { id: string; name: string; organization: string; address: Rail.Address },
|
|
147
|
+
balance: { actual: number; reserved: number; available: number },
|
|
148
|
+
by: string | undefined
|
|
149
|
+
): Transaction {
|
|
150
|
+
return {
|
|
151
|
+
...creatable,
|
|
152
|
+
amount: 0,
|
|
153
|
+
type: getType(creatable.counterpart, account.name),
|
|
154
|
+
direction: "inbound",
|
|
155
|
+
organization: account.organization,
|
|
156
|
+
accountId: account.id,
|
|
157
|
+
accountName: account.name,
|
|
158
|
+
account: account.address,
|
|
159
|
+
id: Identifier.generate(),
|
|
160
|
+
posted: isoly.DateTime.now(),
|
|
161
|
+
by,
|
|
162
|
+
balance,
|
|
163
|
+
operations: [],
|
|
164
|
+
status: "review",
|
|
165
|
+
rail: "internal",
|
|
131
166
|
flags: [],
|
|
132
167
|
oldFlags: [],
|
|
133
168
|
notes: [],
|
|
@@ -148,7 +183,7 @@ export namespace Transaction {
|
|
|
148
183
|
const id = Identifier.generate()
|
|
149
184
|
return {
|
|
150
185
|
...transaction,
|
|
151
|
-
type: getType(transaction, accountName),
|
|
186
|
+
type: getType(transaction.counterpart, accountName),
|
|
152
187
|
direction: "inbound",
|
|
153
188
|
organization,
|
|
154
189
|
accountId,
|
|
@@ -180,29 +215,18 @@ export namespace Transaction {
|
|
|
180
215
|
transaction.flags = Array.from(current)
|
|
181
216
|
transaction.oldFlags = Array.from(old)
|
|
182
217
|
}
|
|
183
|
-
export function getType(
|
|
184
|
-
transaction: TransactionCreatable & { counterpart: Rail.Address },
|
|
185
|
-
accountName: string
|
|
186
|
-
): Types {
|
|
218
|
+
export function getType(counterpart: Rail.Address, accountName: string): Types {
|
|
187
219
|
let result: Types
|
|
188
220
|
if (accountName.startsWith("settlement-") || accountName.startsWith("fee-"))
|
|
189
221
|
result = "system"
|
|
190
|
-
else if (
|
|
222
|
+
else if (counterpart.type == "internal")
|
|
191
223
|
result = "internal"
|
|
192
|
-
else if (
|
|
224
|
+
else if (counterpart.type == "card")
|
|
193
225
|
result = "card"
|
|
194
226
|
else
|
|
195
227
|
result = "external"
|
|
196
228
|
return result
|
|
197
229
|
}
|
|
198
|
-
export function getDirection(amount: number): Direction {
|
|
199
|
-
let result: Direction
|
|
200
|
-
if (amount < 0)
|
|
201
|
-
result = "outbound"
|
|
202
|
-
else
|
|
203
|
-
result = "inbound"
|
|
204
|
-
return result
|
|
205
|
-
}
|
|
206
230
|
|
|
207
231
|
const csvMap: Record<string, (transaction: Transaction) => string | number | undefined> = {
|
|
208
232
|
id: (transaction: Transaction) => transaction.id,
|
|
@@ -62,13 +62,30 @@ export declare namespace Transaction {
|
|
|
62
62
|
const get: isly.Type.GetFunction<Omit<Transaction, "state">>;
|
|
63
63
|
function from(transaction: Transaction): Event;
|
|
64
64
|
}
|
|
65
|
-
function fromCreatable(
|
|
65
|
+
function fromCreatable(creatable: Creatable & {
|
|
66
66
|
counterpart: Rail.Address;
|
|
67
|
-
},
|
|
67
|
+
}, id: string, state: Rule.State.Evaluated, account: {
|
|
68
|
+
id: string;
|
|
69
|
+
name: string;
|
|
70
|
+
organization: string;
|
|
71
|
+
address: Rail.Address;
|
|
72
|
+
}, balance: {
|
|
68
73
|
actual: number;
|
|
69
74
|
reserved: number;
|
|
70
75
|
available: number;
|
|
71
|
-
}, by
|
|
76
|
+
}, by: string | undefined, operation: Operation | undefined, reason: Status.Reason | undefined): Transaction;
|
|
77
|
+
function empty(creatable: Creatable & {
|
|
78
|
+
counterpart: Rail.Address;
|
|
79
|
+
}, account: {
|
|
80
|
+
id: string;
|
|
81
|
+
name: string;
|
|
82
|
+
organization: string;
|
|
83
|
+
address: Rail.Address;
|
|
84
|
+
}, balance: {
|
|
85
|
+
actual: number;
|
|
86
|
+
reserved: number;
|
|
87
|
+
available: number;
|
|
88
|
+
}, by: string | undefined): Transaction;
|
|
72
89
|
function fromIncoming(organization: string, accountId: string, accountName: string, transaction: Incoming, operations: Operation.Creatable[], balance: {
|
|
73
90
|
actual: number;
|
|
74
91
|
reserved: number;
|
|
@@ -76,9 +93,6 @@ export declare namespace Transaction {
|
|
|
76
93
|
}): Transaction;
|
|
77
94
|
function isIdentifier(value: string | any): value is string;
|
|
78
95
|
function flag(transaction: Transaction, flags: string[] | undefined): void;
|
|
79
|
-
function getType(
|
|
80
|
-
counterpart: Rail.Address;
|
|
81
|
-
}, accountName: string): Types;
|
|
82
|
-
function getDirection(amount: number): Direction;
|
|
96
|
+
function getType(counterpart: Rail.Address, accountName: string): Types;
|
|
83
97
|
function toCsv(transactions: Transaction[]): string;
|
|
84
98
|
}
|
|
@@ -62,36 +62,73 @@ export var Transaction;
|
|
|
62
62
|
}
|
|
63
63
|
Event.from = from;
|
|
64
64
|
})(Event = Transaction.Event || (Transaction.Event = {}));
|
|
65
|
-
function fromCreatable(
|
|
66
|
-
const
|
|
67
|
-
|
|
65
|
+
function fromCreatable(creatable, id, state, account, balance, by, operation, reason) {
|
|
66
|
+
const status = reason
|
|
67
|
+
? ["rejected", reason]
|
|
68
|
+
: state.outcome == "reject"
|
|
69
|
+
? ["rejected", "denied"]
|
|
70
|
+
: state.outcome == "review"
|
|
71
|
+
? "review"
|
|
72
|
+
: "processing";
|
|
73
|
+
const rail = state.card
|
|
74
|
+
? state.card.scheme
|
|
75
|
+
: account.address.type == "internal"
|
|
76
|
+
? "internal"
|
|
77
|
+
: account.address.type == "paxgiro"
|
|
78
|
+
? "paxgiro"
|
|
79
|
+
: "fasterpayments";
|
|
68
80
|
return {
|
|
69
81
|
...creatable,
|
|
70
|
-
amount,
|
|
71
|
-
type: getType(creatable,
|
|
72
|
-
direction:
|
|
73
|
-
organization,
|
|
74
|
-
accountId,
|
|
75
|
-
accountName,
|
|
76
|
-
account,
|
|
82
|
+
amount: -creatable.amount,
|
|
83
|
+
type: getType(creatable.counterpart, account.name),
|
|
84
|
+
direction: "outbound",
|
|
85
|
+
organization: account.organization,
|
|
86
|
+
accountId: account.id,
|
|
87
|
+
accountName: account.name,
|
|
88
|
+
account: account.address,
|
|
77
89
|
id,
|
|
78
90
|
posted: isoly.DateTime.now(),
|
|
79
91
|
by,
|
|
80
92
|
balance,
|
|
81
|
-
operations:
|
|
82
|
-
status
|
|
93
|
+
operations: !operation ? [] : [operation],
|
|
94
|
+
status,
|
|
83
95
|
rail,
|
|
96
|
+
flags: state.flags,
|
|
97
|
+
oldFlags: [],
|
|
98
|
+
notes: state.notes,
|
|
99
|
+
state,
|
|
100
|
+
risk: state.transaction.risk,
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
Transaction.fromCreatable = fromCreatable;
|
|
104
|
+
function empty(creatable, account, balance, by) {
|
|
105
|
+
return {
|
|
106
|
+
...creatable,
|
|
107
|
+
amount: 0,
|
|
108
|
+
type: getType(creatable.counterpart, account.name),
|
|
109
|
+
direction: "inbound",
|
|
110
|
+
organization: account.organization,
|
|
111
|
+
accountId: account.id,
|
|
112
|
+
accountName: account.name,
|
|
113
|
+
account: account.address,
|
|
114
|
+
id: Identifier.generate(),
|
|
115
|
+
posted: isoly.DateTime.now(),
|
|
116
|
+
by,
|
|
117
|
+
balance,
|
|
118
|
+
operations: [],
|
|
119
|
+
status: "review",
|
|
120
|
+
rail: "internal",
|
|
84
121
|
flags: [],
|
|
85
122
|
oldFlags: [],
|
|
86
123
|
notes: [],
|
|
87
124
|
};
|
|
88
125
|
}
|
|
89
|
-
Transaction.
|
|
126
|
+
Transaction.empty = empty;
|
|
90
127
|
function fromIncoming(organization, accountId, accountName, transaction, operations, balance) {
|
|
91
128
|
const id = Identifier.generate();
|
|
92
129
|
return {
|
|
93
130
|
...transaction,
|
|
94
|
-
type: getType(transaction, accountName),
|
|
131
|
+
type: getType(transaction.counterpart, accountName),
|
|
95
132
|
direction: "inbound",
|
|
96
133
|
organization,
|
|
97
134
|
accountId,
|
|
@@ -127,28 +164,19 @@ export var Transaction;
|
|
|
127
164
|
transaction.oldFlags = Array.from(old);
|
|
128
165
|
}
|
|
129
166
|
Transaction.flag = flag;
|
|
130
|
-
function getType(
|
|
167
|
+
function getType(counterpart, accountName) {
|
|
131
168
|
let result;
|
|
132
169
|
if (accountName.startsWith("settlement-") || accountName.startsWith("fee-"))
|
|
133
170
|
result = "system";
|
|
134
|
-
else if (
|
|
171
|
+
else if (counterpart.type == "internal")
|
|
135
172
|
result = "internal";
|
|
136
|
-
else if (
|
|
173
|
+
else if (counterpart.type == "card")
|
|
137
174
|
result = "card";
|
|
138
175
|
else
|
|
139
176
|
result = "external";
|
|
140
177
|
return result;
|
|
141
178
|
}
|
|
142
179
|
Transaction.getType = getType;
|
|
143
|
-
function getDirection(amount) {
|
|
144
|
-
let result;
|
|
145
|
-
if (amount < 0)
|
|
146
|
-
result = "outbound";
|
|
147
|
-
else
|
|
148
|
-
result = "inbound";
|
|
149
|
-
return result;
|
|
150
|
-
}
|
|
151
|
-
Transaction.getDirection = getDirection;
|
|
152
180
|
const csvMap = {
|
|
153
181
|
id: (transaction) => transaction.id,
|
|
154
182
|
created: (transaction) => readableDate(transaction.posted),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"../","sources":["Transaction/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,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;AAC/D,OAAO,EAAE,MAAM,IAAI,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAgCtD,MAAM,KAAW,WAAW,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../","sources":["Transaction/index.ts"],"names":[],"mappings":"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"}
|