@pax2pay/model-banking 0.1.315 → 0.1.316
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/Analytics/Configuration/Mapping/Field.ts +16 -0
- package/Analytics/Configuration/Mapping/Transform.ts +8 -0
- package/Analytics/Configuration/Mapping/index.ts +9 -0
- package/Analytics/Configuration/Schema/Field.ts +16 -0
- package/Analytics/Configuration/Schema/Mode.ts +8 -0
- package/Analytics/Configuration/Schema/Type.ts +23 -0
- package/Analytics/Configuration/Schema/index.ts +7 -0
- package/Analytics/Configuration/index.ts +72 -0
- package/Analytics/Event/Base.ts +10 -0
- package/Analytics/Event/Operation.ts +20 -0
- package/Analytics/Event/Transaction.ts +22 -0
- package/Analytics/Event/index.ts +10 -0
- package/Analytics/index.ts +22 -0
- package/dist/Analytics/Configuration/Mapping/Field.d.ts +12 -0
- package/dist/Analytics/Configuration/Mapping/Field.js +11 -0
- package/dist/Analytics/Configuration/Mapping/Field.js.map +1 -0
- package/dist/Analytics/Configuration/Mapping/Transform.d.ts +6 -0
- package/dist/Analytics/Configuration/Mapping/Transform.js +7 -0
- package/dist/Analytics/Configuration/Mapping/Transform.js.map +1 -0
- package/dist/Analytics/Configuration/Mapping/index.d.ts +7 -0
- package/dist/Analytics/Configuration/Mapping/index.js +8 -0
- package/dist/Analytics/Configuration/Mapping/index.js.map +1 -0
- package/dist/Analytics/Configuration/Schema/Field.d.ts +14 -0
- package/dist/Analytics/Configuration/Schema/Field.js +15 -0
- package/dist/Analytics/Configuration/Schema/Field.js.map +1 -0
- package/dist/Analytics/Configuration/Schema/Mode.d.ts +6 -0
- package/dist/Analytics/Configuration/Schema/Mode.js +7 -0
- package/dist/Analytics/Configuration/Schema/Mode.js.map +1 -0
- package/dist/Analytics/Configuration/Schema/Type.d.ts +6 -0
- package/dist/Analytics/Configuration/Schema/Type.js +22 -0
- package/dist/Analytics/Configuration/Schema/Type.js.map +1 -0
- package/dist/Analytics/Configuration/Schema/index.d.ts +6 -0
- package/dist/Analytics/Configuration/Schema/index.js +7 -0
- package/dist/Analytics/Configuration/Schema/index.js.map +1 -0
- package/dist/Analytics/Configuration/index.d.ts +76 -0
- package/dist/Analytics/Configuration/index.js +62 -0
- package/dist/Analytics/Configuration/index.js.map +1 -0
- package/dist/Analytics/Event/Base.d.ts +12 -0
- package/dist/Analytics/Event/Base.js +2 -0
- package/dist/Analytics/Event/Base.js.map +1 -0
- package/dist/Analytics/Event/Operation.d.ts +13 -0
- package/dist/Analytics/Event/Operation.js +15 -0
- package/dist/Analytics/Event/Operation.js.map +1 -0
- package/dist/Analytics/Event/Transaction.d.ts +14 -0
- package/dist/Analytics/Event/Transaction.js +16 -0
- package/dist/Analytics/Event/Transaction.js.map +1 -0
- package/dist/Analytics/Event/index.d.ts +11 -0
- package/dist/Analytics/Event/index.js +8 -0
- package/dist/Analytics/Event/index.js.map +1 -0
- package/dist/Analytics/index.d.ts +6 -0
- package/dist/Analytics/index.js +8 -0
- package/dist/Analytics/index.js.map +1 -0
- package/dist/Identity.d.ts +2 -2
- package/dist/pax2pay.d.ts +1 -1
- package/dist/pax2pay.js +1 -1
- package/dist/pax2pay.js.map +1 -1
- package/package.json +7 -7
- package/pax2pay.ts +1 -1
- package/Event/index.ts +0 -97
- package/dist/Event/index.d.ts +0 -40
- package/dist/Event/index.js +0 -101
- package/dist/Event/index.js.map +0 -1
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { isly } from "isly"
|
|
2
|
+
import { Transform as FieldTransform } from "./Transform"
|
|
3
|
+
|
|
4
|
+
type Transformer = { selector: string; transform: Field.Transform }
|
|
5
|
+
export type Field = string | Transformer
|
|
6
|
+
|
|
7
|
+
export namespace Field {
|
|
8
|
+
export import Transform = FieldTransform
|
|
9
|
+
export const type = isly.union<string | Transformer, string, Transformer>(
|
|
10
|
+
isly.string(),
|
|
11
|
+
isly.object<Transformer>({
|
|
12
|
+
selector: isly.string(),
|
|
13
|
+
transform: Transform.type,
|
|
14
|
+
})
|
|
15
|
+
)
|
|
16
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { isly } from "isly"
|
|
2
|
+
|
|
3
|
+
export type Transform = typeof Transform.values[number]
|
|
4
|
+
|
|
5
|
+
export namespace Transform {
|
|
6
|
+
export const values = ["string", "stringify", "boolean", "float", "integer", "number", "point"] as const
|
|
7
|
+
export const type = isly.string<Transform>(values)
|
|
8
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { isly } from "isly"
|
|
2
|
+
import { Field as FieldMapping } from "./Field"
|
|
3
|
+
|
|
4
|
+
export type Mapping<T extends string = string> = Record<T, Mapping.Field>
|
|
5
|
+
|
|
6
|
+
export namespace Mapping {
|
|
7
|
+
export import Field = FieldMapping
|
|
8
|
+
export const type = isly.record<Mapping>(isly.string(), Field.type)
|
|
9
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { isly } from "isly"
|
|
2
|
+
import { Mode as FieldMode } from "./Mode"
|
|
3
|
+
import { Type as FieldType } from "./Type"
|
|
4
|
+
|
|
5
|
+
export type Field<T extends string = string> = { name: T; type: Field.Type; mode?: Field.Mode; fields?: Field[] }
|
|
6
|
+
|
|
7
|
+
export namespace Field {
|
|
8
|
+
export import Type = FieldType
|
|
9
|
+
export import Mode = FieldMode
|
|
10
|
+
export const type = isly.object<Field>({
|
|
11
|
+
name: isly.string(),
|
|
12
|
+
type: Type.type,
|
|
13
|
+
mode: Mode.type.optional(),
|
|
14
|
+
fields: isly.lazy((): isly.Type<Field<string>[] | undefined> => type.array().optional(), "fields"),
|
|
15
|
+
})
|
|
16
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { isly } from "isly"
|
|
2
|
+
|
|
3
|
+
export type Type = typeof Type.values[number]
|
|
4
|
+
|
|
5
|
+
export namespace Type {
|
|
6
|
+
export const values = [
|
|
7
|
+
"STRING",
|
|
8
|
+
"BYTES",
|
|
9
|
+
"INTEGER",
|
|
10
|
+
"FLOAT",
|
|
11
|
+
"NUMERIC",
|
|
12
|
+
"BIGNUMERIC",
|
|
13
|
+
"BOOLEAN",
|
|
14
|
+
"TIMESTAMP",
|
|
15
|
+
"DATE",
|
|
16
|
+
"TIME",
|
|
17
|
+
"DATETIME",
|
|
18
|
+
"INTERVAL",
|
|
19
|
+
"RECORD",
|
|
20
|
+
"GEOGRAPHY",
|
|
21
|
+
] as const
|
|
22
|
+
export const type = isly.string<Type>(values)
|
|
23
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { Mapping } from "./Mapping"
|
|
2
|
+
import { Schema } from "./Schema"
|
|
3
|
+
|
|
4
|
+
export namespace Configuration {
|
|
5
|
+
export const baseFields = [
|
|
6
|
+
"realm",
|
|
7
|
+
"entity",
|
|
8
|
+
"entityId",
|
|
9
|
+
"action",
|
|
10
|
+
"created",
|
|
11
|
+
"isError",
|
|
12
|
+
"version",
|
|
13
|
+
"source",
|
|
14
|
+
] as const
|
|
15
|
+
export type BaseFields = typeof baseFields[number]
|
|
16
|
+
export const baseMapping: Mapping<BaseFields> = {
|
|
17
|
+
realm: "realm",
|
|
18
|
+
entity: "entity.type",
|
|
19
|
+
entityId: "entity.id",
|
|
20
|
+
action: "action",
|
|
21
|
+
created: "created",
|
|
22
|
+
isError: { selector: "isError", transform: "boolean" },
|
|
23
|
+
version: "version",
|
|
24
|
+
source: "source",
|
|
25
|
+
}
|
|
26
|
+
export const baseTableSchema: Schema<BaseFields> = [
|
|
27
|
+
{ name: "realm", type: "STRING" },
|
|
28
|
+
{ name: "entity", type: "STRING" },
|
|
29
|
+
{ name: "entityId", type: "STRING" },
|
|
30
|
+
{ name: "action", type: "STRING" },
|
|
31
|
+
{ name: "created", type: "TIMESTAMP" },
|
|
32
|
+
{ name: "isError", type: "BOOLEAN" },
|
|
33
|
+
{ name: "source", type: "STRING" },
|
|
34
|
+
{ name: "version", type: "STRING" },
|
|
35
|
+
]
|
|
36
|
+
export function create(
|
|
37
|
+
mapping: Mapping,
|
|
38
|
+
schema: Schema,
|
|
39
|
+
config: { projectName?: "paxpay-prod" | "paxpay-nonprod"; datasetName?: string; tableName: string },
|
|
40
|
+
filter?: string
|
|
41
|
+
) {
|
|
42
|
+
return {
|
|
43
|
+
name: "ledger-events",
|
|
44
|
+
type: "bigquery",
|
|
45
|
+
filter: [
|
|
46
|
+
{
|
|
47
|
+
type: "selectively",
|
|
48
|
+
expression: filter ?? "source:pax2pay-worker-banking-ledger",
|
|
49
|
+
},
|
|
50
|
+
{ type: "useragent" },
|
|
51
|
+
{
|
|
52
|
+
type: "mapping",
|
|
53
|
+
mapping: {
|
|
54
|
+
...baseMapping,
|
|
55
|
+
...mapping,
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
],
|
|
59
|
+
batchSize: 10,
|
|
60
|
+
batchInterval: 3,
|
|
61
|
+
projectName: "paxpay-nonprod",
|
|
62
|
+
datasetName: "banking_ledger",
|
|
63
|
+
...config,
|
|
64
|
+
tableSchema: [...baseTableSchema, ...schema],
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
export const backup = create(
|
|
68
|
+
{ value: { selector: "value", transform: "stringify" } },
|
|
69
|
+
[{ name: "value", type: "STRING" }],
|
|
70
|
+
{ tableName: "backup_test" }
|
|
71
|
+
)
|
|
72
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { isoly } from "isoly"
|
|
2
|
+
import { Operation as modelOperation } from "../../Operation"
|
|
3
|
+
import { Realm } from "../../Realm"
|
|
4
|
+
import { Base } from "./Base"
|
|
5
|
+
|
|
6
|
+
export type Operation = Base<modelOperation> & {
|
|
7
|
+
entity: { type: "operation"; id: string }
|
|
8
|
+
action: "created"
|
|
9
|
+
}
|
|
10
|
+
export namespace Operation {
|
|
11
|
+
export function create(value: modelOperation, realm: Realm, action: Operation["action"]): Operation {
|
|
12
|
+
return {
|
|
13
|
+
realm,
|
|
14
|
+
entity: { type: "operation", id: value.signature ?? "" },
|
|
15
|
+
action,
|
|
16
|
+
created: isoly.DateTime.now(),
|
|
17
|
+
value,
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { isoly } from "isoly"
|
|
2
|
+
import { Realm } from "../../Realm"
|
|
3
|
+
import { Transaction as modelTransaction } from "../../Transaction"
|
|
4
|
+
import { Base } from "./Base"
|
|
5
|
+
|
|
6
|
+
export type Transaction = Base<modelTransaction> & {
|
|
7
|
+
entity: { type: "transaction"; id: string }
|
|
8
|
+
action: "created" | "finalized" | "cancelled" | "failed"
|
|
9
|
+
isError?: true
|
|
10
|
+
}
|
|
11
|
+
export namespace Transaction {
|
|
12
|
+
export function create(value: modelTransaction, realm: Realm, action: Transaction["action"]): Transaction {
|
|
13
|
+
return {
|
|
14
|
+
realm,
|
|
15
|
+
entity: { type: "transaction", id: value.id },
|
|
16
|
+
action,
|
|
17
|
+
...(action == "failed" ? { isError: true } : {}),
|
|
18
|
+
created: isoly.DateTime.now(),
|
|
19
|
+
value,
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Base as EventBase } from "./Base"
|
|
2
|
+
import { Operation as OperationEvent } from "./Operation"
|
|
3
|
+
import { Transaction as TransactionEvent } from "./Transaction"
|
|
4
|
+
|
|
5
|
+
export type Event = (Event.Transaction | Event.Operation) & { version: string }
|
|
6
|
+
export namespace Event {
|
|
7
|
+
export type Base<T> = EventBase<T>
|
|
8
|
+
export import Transaction = TransactionEvent
|
|
9
|
+
export import Operation = OperationEvent
|
|
10
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Configuration as AnalyticsConfiguration } from "./Configuration"
|
|
2
|
+
import { Event as AnalyticsEvent } from "./Event"
|
|
3
|
+
|
|
4
|
+
export namespace Analytics {
|
|
5
|
+
export import Event = AnalyticsEvent
|
|
6
|
+
export import Configuration = AnalyticsConfiguration
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
// /**
|
|
10
|
+
// * It is possible to set default values for analytics:
|
|
11
|
+
// *
|
|
12
|
+
// * Both properties in Event and in AnalyticsExtra can be used.
|
|
13
|
+
// * This needs to satisfies Partial<Event & AnalyticsExtra>, but not be declared as that.
|
|
14
|
+
// * Do not use `as` or declare the const as Partial<Event & AnalyticsExtra>.
|
|
15
|
+
// * If satisfies isn't possible to use (eg old typescript version or es-lint parsing error etc)
|
|
16
|
+
// * remove type-declaration.
|
|
17
|
+
// *
|
|
18
|
+
// * This is because the actual type of this object will effect the type of
|
|
19
|
+
// * the event-parameter for `Analytics.send(event)`
|
|
20
|
+
// */
|
|
21
|
+
// //eslint-disable-next-line
|
|
22
|
+
// export const analyticsDefault = { version: data.version, source: "pax2pay-worker-banking-ledger", } satisfies Partial<types.Event & AnalyticsExtra>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { isly } from "isly";
|
|
2
|
+
import { Transform as FieldTransform } from "./Transform";
|
|
3
|
+
type Transformer = {
|
|
4
|
+
selector: string;
|
|
5
|
+
transform: Field.Transform;
|
|
6
|
+
};
|
|
7
|
+
export type Field = string | Transformer;
|
|
8
|
+
export declare namespace Field {
|
|
9
|
+
export import Transform = FieldTransform;
|
|
10
|
+
const type: isly.Type<string | Transformer>;
|
|
11
|
+
}
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { isly } from "isly";
|
|
2
|
+
import { Transform as FieldTransform } from "./Transform";
|
|
3
|
+
export var Field;
|
|
4
|
+
(function (Field) {
|
|
5
|
+
Field.Transform = FieldTransform;
|
|
6
|
+
Field.type = isly.union(isly.string(), isly.object({
|
|
7
|
+
selector: isly.string(),
|
|
8
|
+
transform: Field.Transform.type,
|
|
9
|
+
}));
|
|
10
|
+
})(Field || (Field = {}));
|
|
11
|
+
//# sourceMappingURL=Field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Field.js","sourceRoot":"../","sources":["Analytics/Configuration/Mapping/Field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,SAAS,IAAI,cAAc,EAAE,MAAM,aAAa,CAAA;AAKzD,MAAM,KAAW,KAAK,CASrB;AATD,WAAiB,KAAK;IACP,eAAS,GAAG,cAAc,CAAA;IAC3B,UAAI,GAAG,IAAI,CAAC,KAAK,CAC7B,IAAI,CAAC,MAAM,EAAE,EACb,IAAI,CAAC,MAAM,CAAc;QACxB,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE;QACvB,SAAS,EAAE,MAAA,SAAS,CAAC,IAAI;KACzB,CAAC,CACF,CAAA;AACF,CAAC,EATgB,KAAK,KAAL,KAAK,QASrB"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { isly } from "isly";
|
|
2
|
+
export type Transform = typeof Transform.values[number];
|
|
3
|
+
export declare namespace Transform {
|
|
4
|
+
const values: readonly ["string", "stringify", "boolean", "float", "integer", "number", "point"];
|
|
5
|
+
const type: isly.Type<"string" | "number" | "boolean" | "integer" | "stringify" | "float" | "point">;
|
|
6
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { isly } from "isly";
|
|
2
|
+
export var Transform;
|
|
3
|
+
(function (Transform) {
|
|
4
|
+
Transform.values = ["string", "stringify", "boolean", "float", "integer", "number", "point"];
|
|
5
|
+
Transform.type = isly.string(Transform.values);
|
|
6
|
+
})(Transform || (Transform = {}));
|
|
7
|
+
//# sourceMappingURL=Transform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Transform.js","sourceRoot":"../","sources":["Analytics/Configuration/Mapping/Transform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAI3B,MAAM,KAAW,SAAS,CAGzB;AAHD,WAAiB,SAAS;IACZ,gBAAM,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAA;IAC3F,cAAI,GAAG,IAAI,CAAC,MAAM,CAAY,UAAA,MAAM,CAAC,CAAA;AACnD,CAAC,EAHgB,SAAS,KAAT,SAAS,QAGzB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { isly } from "isly";
|
|
2
|
+
import { Field as FieldMapping } from "./Field";
|
|
3
|
+
export type Mapping<T extends string = string> = Record<T, Mapping.Field>;
|
|
4
|
+
export declare namespace Mapping {
|
|
5
|
+
export import Field = FieldMapping;
|
|
6
|
+
const type: isly.Type<Mapping<string>>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { isly } from "isly";
|
|
2
|
+
import { Field as FieldMapping } from "./Field";
|
|
3
|
+
export var Mapping;
|
|
4
|
+
(function (Mapping) {
|
|
5
|
+
Mapping.Field = FieldMapping;
|
|
6
|
+
Mapping.type = isly.record(isly.string(), Mapping.Field.type);
|
|
7
|
+
})(Mapping || (Mapping = {}));
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../","sources":["Analytics/Configuration/Mapping/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,SAAS,CAAA;AAI/C,MAAM,KAAW,OAAO,CAGvB;AAHD,WAAiB,OAAO;IACT,aAAK,GAAG,YAAY,CAAA;IACrB,YAAI,GAAG,IAAI,CAAC,MAAM,CAAU,IAAI,CAAC,MAAM,EAAE,EAAE,QAAA,KAAK,CAAC,IAAI,CAAC,CAAA;AACpE,CAAC,EAHgB,OAAO,KAAP,OAAO,QAGvB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { isly } from "isly";
|
|
2
|
+
import { Mode as FieldMode } from "./Mode";
|
|
3
|
+
import { Type as FieldType } from "./Type";
|
|
4
|
+
export type Field<T extends string = string> = {
|
|
5
|
+
name: T;
|
|
6
|
+
type: Field.Type;
|
|
7
|
+
mode?: Field.Mode;
|
|
8
|
+
fields?: Field[];
|
|
9
|
+
};
|
|
10
|
+
export declare namespace Field {
|
|
11
|
+
export import Type = FieldType;
|
|
12
|
+
export import Mode = FieldMode;
|
|
13
|
+
const type: isly.object.ExtendableType<Field<string>>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { isly } from "isly";
|
|
2
|
+
import { Mode as FieldMode } from "./Mode";
|
|
3
|
+
import { Type as FieldType } from "./Type";
|
|
4
|
+
export var Field;
|
|
5
|
+
(function (Field) {
|
|
6
|
+
Field.Type = FieldType;
|
|
7
|
+
Field.Mode = FieldMode;
|
|
8
|
+
Field.type = isly.object({
|
|
9
|
+
name: isly.string(),
|
|
10
|
+
type: Field.Type.type,
|
|
11
|
+
mode: Field.Mode.type.optional(),
|
|
12
|
+
fields: isly.lazy(() => Field.type.array().optional(), "fields"),
|
|
13
|
+
});
|
|
14
|
+
})(Field || (Field = {}));
|
|
15
|
+
//# sourceMappingURL=Field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Field.js","sourceRoot":"../","sources":["Analytics/Configuration/Schema/Field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,QAAQ,CAAA;AAC1C,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,QAAQ,CAAA;AAI1C,MAAM,KAAW,KAAK,CASrB;AATD,WAAiB,KAAK;IACP,UAAI,GAAG,SAAS,CAAA;IAChB,UAAI,GAAG,SAAS,CAAA;IACjB,UAAI,GAAG,IAAI,CAAC,MAAM,CAAQ;QACtC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;QACnB,IAAI,EAAE,MAAA,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,MAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;QAC1B,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAA2C,EAAE,CAAC,MAAA,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC;KAClG,CAAC,CAAA;AACH,CAAC,EATgB,KAAK,KAAL,KAAK,QASrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Mode.js","sourceRoot":"../","sources":["Analytics/Configuration/Schema/Mode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAI3B,MAAM,KAAW,IAAI,CAGpB;AAHD,WAAiB,IAAI;IACP,WAAM,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAU,CAAA;IACtD,SAAI,GAAG,IAAI,CAAC,MAAM,CAAO,KAAA,MAAM,CAAC,CAAA;AAC9C,CAAC,EAHgB,IAAI,KAAJ,IAAI,QAGpB"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { isly } from "isly";
|
|
2
|
+
export type Type = typeof Type.values[number];
|
|
3
|
+
export declare namespace Type {
|
|
4
|
+
const values: readonly ["STRING", "BYTES", "INTEGER", "FLOAT", "NUMERIC", "BIGNUMERIC", "BOOLEAN", "TIMESTAMP", "DATE", "TIME", "DATETIME", "INTERVAL", "RECORD", "GEOGRAPHY"];
|
|
5
|
+
const type: isly.Type<"STRING" | "BYTES" | "INTEGER" | "FLOAT" | "NUMERIC" | "BIGNUMERIC" | "BOOLEAN" | "TIMESTAMP" | "DATE" | "TIME" | "DATETIME" | "INTERVAL" | "RECORD" | "GEOGRAPHY">;
|
|
6
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { isly } from "isly";
|
|
2
|
+
export var Type;
|
|
3
|
+
(function (Type) {
|
|
4
|
+
Type.values = [
|
|
5
|
+
"STRING",
|
|
6
|
+
"BYTES",
|
|
7
|
+
"INTEGER",
|
|
8
|
+
"FLOAT",
|
|
9
|
+
"NUMERIC",
|
|
10
|
+
"BIGNUMERIC",
|
|
11
|
+
"BOOLEAN",
|
|
12
|
+
"TIMESTAMP",
|
|
13
|
+
"DATE",
|
|
14
|
+
"TIME",
|
|
15
|
+
"DATETIME",
|
|
16
|
+
"INTERVAL",
|
|
17
|
+
"RECORD",
|
|
18
|
+
"GEOGRAPHY",
|
|
19
|
+
];
|
|
20
|
+
Type.type = isly.string(Type.values);
|
|
21
|
+
})(Type || (Type = {}));
|
|
22
|
+
//# sourceMappingURL=Type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Type.js","sourceRoot":"../","sources":["Analytics/Configuration/Schema/Type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAI3B,MAAM,KAAW,IAAI,CAkBpB;AAlBD,WAAiB,IAAI;IACP,WAAM,GAAG;QACrB,QAAQ;QACR,OAAO;QACP,SAAS;QACT,OAAO;QACP,SAAS;QACT,YAAY;QACZ,SAAS;QACT,WAAW;QACX,MAAM;QACN,MAAM;QACN,UAAU;QACV,UAAU;QACV,QAAQ;QACR,WAAW;KACF,CAAA;IACG,SAAI,GAAG,IAAI,CAAC,MAAM,CAAO,KAAA,MAAM,CAAC,CAAA;AAC9C,CAAC,EAlBgB,IAAI,KAAJ,IAAI,QAkBpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../","sources":["Analytics/Configuration/Schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,SAAS,CAAA;AAG9C,MAAM,KAAW,MAAM,CAGtB;AAHD,WAAiB,MAAM;IACR,YAAK,GAAG,WAAW,CAAA;IACpB,WAAI,GAAG,OAAA,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;AACvC,CAAC,EAHgB,MAAM,KAAN,MAAM,QAGtB"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { Mapping } from "./Mapping";
|
|
2
|
+
import { Schema } from "./Schema";
|
|
3
|
+
export declare namespace Configuration {
|
|
4
|
+
const baseFields: readonly ["realm", "entity", "entityId", "action", "created", "isError", "version", "source"];
|
|
5
|
+
type BaseFields = typeof baseFields[number];
|
|
6
|
+
const baseMapping: Mapping<BaseFields>;
|
|
7
|
+
const baseTableSchema: Schema<BaseFields>;
|
|
8
|
+
function create(mapping: Mapping, schema: Schema, config: {
|
|
9
|
+
projectName?: "paxpay-prod" | "paxpay-nonprod";
|
|
10
|
+
datasetName?: string;
|
|
11
|
+
tableName: string;
|
|
12
|
+
}, filter?: string): {
|
|
13
|
+
tableSchema: Schema.Field<string>[];
|
|
14
|
+
projectName: string;
|
|
15
|
+
datasetName: string;
|
|
16
|
+
tableName: string;
|
|
17
|
+
name: string;
|
|
18
|
+
type: string;
|
|
19
|
+
filter: ({
|
|
20
|
+
type: string;
|
|
21
|
+
expression: string;
|
|
22
|
+
mapping?: undefined;
|
|
23
|
+
} | {
|
|
24
|
+
type: string;
|
|
25
|
+
expression?: undefined;
|
|
26
|
+
mapping?: undefined;
|
|
27
|
+
} | {
|
|
28
|
+
type: string;
|
|
29
|
+
mapping: {
|
|
30
|
+
source: Mapping.Field;
|
|
31
|
+
action: Mapping.Field;
|
|
32
|
+
realm: Mapping.Field;
|
|
33
|
+
created: Mapping.Field;
|
|
34
|
+
entity: Mapping.Field;
|
|
35
|
+
entityId: Mapping.Field;
|
|
36
|
+
isError: Mapping.Field;
|
|
37
|
+
version: Mapping.Field;
|
|
38
|
+
};
|
|
39
|
+
expression?: undefined;
|
|
40
|
+
})[];
|
|
41
|
+
batchSize: number;
|
|
42
|
+
batchInterval: number;
|
|
43
|
+
};
|
|
44
|
+
const backup: {
|
|
45
|
+
tableSchema: Schema.Field<string>[];
|
|
46
|
+
projectName: string;
|
|
47
|
+
datasetName: string;
|
|
48
|
+
tableName: string;
|
|
49
|
+
name: string;
|
|
50
|
+
type: string;
|
|
51
|
+
filter: ({
|
|
52
|
+
type: string;
|
|
53
|
+
expression: string;
|
|
54
|
+
mapping?: undefined;
|
|
55
|
+
} | {
|
|
56
|
+
type: string;
|
|
57
|
+
expression?: undefined;
|
|
58
|
+
mapping?: undefined;
|
|
59
|
+
} | {
|
|
60
|
+
type: string;
|
|
61
|
+
mapping: {
|
|
62
|
+
source: Mapping.Field;
|
|
63
|
+
action: Mapping.Field;
|
|
64
|
+
realm: Mapping.Field;
|
|
65
|
+
created: Mapping.Field;
|
|
66
|
+
entity: Mapping.Field;
|
|
67
|
+
entityId: Mapping.Field;
|
|
68
|
+
isError: Mapping.Field;
|
|
69
|
+
version: Mapping.Field;
|
|
70
|
+
};
|
|
71
|
+
expression?: undefined;
|
|
72
|
+
})[];
|
|
73
|
+
batchSize: number;
|
|
74
|
+
batchInterval: number;
|
|
75
|
+
};
|
|
76
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
export var Configuration;
|
|
2
|
+
(function (Configuration) {
|
|
3
|
+
Configuration.baseFields = [
|
|
4
|
+
"realm",
|
|
5
|
+
"entity",
|
|
6
|
+
"entityId",
|
|
7
|
+
"action",
|
|
8
|
+
"created",
|
|
9
|
+
"isError",
|
|
10
|
+
"version",
|
|
11
|
+
"source",
|
|
12
|
+
];
|
|
13
|
+
Configuration.baseMapping = {
|
|
14
|
+
realm: "realm",
|
|
15
|
+
entity: "entity.type",
|
|
16
|
+
entityId: "entity.id",
|
|
17
|
+
action: "action",
|
|
18
|
+
created: "created",
|
|
19
|
+
isError: { selector: "isError", transform: "boolean" },
|
|
20
|
+
version: "version",
|
|
21
|
+
source: "source",
|
|
22
|
+
};
|
|
23
|
+
Configuration.baseTableSchema = [
|
|
24
|
+
{ name: "realm", type: "STRING" },
|
|
25
|
+
{ name: "entity", type: "STRING" },
|
|
26
|
+
{ name: "entityId", type: "STRING" },
|
|
27
|
+
{ name: "action", type: "STRING" },
|
|
28
|
+
{ name: "created", type: "TIMESTAMP" },
|
|
29
|
+
{ name: "isError", type: "BOOLEAN" },
|
|
30
|
+
{ name: "source", type: "STRING" },
|
|
31
|
+
{ name: "version", type: "STRING" },
|
|
32
|
+
];
|
|
33
|
+
function create(mapping, schema, config, filter) {
|
|
34
|
+
return {
|
|
35
|
+
name: "ledger-events",
|
|
36
|
+
type: "bigquery",
|
|
37
|
+
filter: [
|
|
38
|
+
{
|
|
39
|
+
type: "selectively",
|
|
40
|
+
expression: filter ?? "source:pax2pay-worker-banking-ledger",
|
|
41
|
+
},
|
|
42
|
+
{ type: "useragent" },
|
|
43
|
+
{
|
|
44
|
+
type: "mapping",
|
|
45
|
+
mapping: {
|
|
46
|
+
...Configuration.baseMapping,
|
|
47
|
+
...mapping,
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
],
|
|
51
|
+
batchSize: 10,
|
|
52
|
+
batchInterval: 3,
|
|
53
|
+
projectName: "paxpay-nonprod",
|
|
54
|
+
datasetName: "banking_ledger",
|
|
55
|
+
...config,
|
|
56
|
+
tableSchema: [...Configuration.baseTableSchema, ...schema],
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
Configuration.create = create;
|
|
60
|
+
Configuration.backup = create({ value: { selector: "value", transform: "stringify" } }, [{ name: "value", type: "STRING" }], { tableName: "backup_test" });
|
|
61
|
+
})(Configuration || (Configuration = {}));
|
|
62
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../","sources":["Analytics/Configuration/index.ts"],"names":[],"mappings":"AAGA,MAAM,KAAW,aAAa,CAoE7B;AApED,WAAiB,aAAa;IAChB,wBAAU,GAAG;QACzB,OAAO;QACP,QAAQ;QACR,UAAU;QACV,QAAQ;QACR,SAAS;QACT,SAAS;QACT,SAAS;QACT,QAAQ;KACC,CAAA;IAEG,yBAAW,GAAwB;QAC/C,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,aAAa;QACrB,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE;QACtD,OAAO,EAAE,SAAS;QAClB,MAAM,EAAE,QAAQ;KAChB,CAAA;IACY,6BAAe,GAAuB;QAClD,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE;QACjC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;QAClC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE;QACpC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;QAClC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE;QACtC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACpC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;QAClC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE;KACnC,CAAA;IACD,SAAgB,MAAM,CACrB,OAAgB,EAChB,MAAc,EACd,MAAmG,EACnG,MAAe;QAEf,OAAO;YACN,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE;gBACP;oBACC,IAAI,EAAE,aAAa;oBACnB,UAAU,EAAE,MAAM,IAAI,sCAAsC;iBAC5D;gBACD,EAAE,IAAI,EAAE,WAAW,EAAE;gBACrB;oBACC,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE;wBACR,GAAG,cAAA,WAAW;wBACd,GAAG,OAAO;qBACV;iBACD;aACD;YACD,SAAS,EAAE,EAAE;YACb,aAAa,EAAE,CAAC;YAChB,WAAW,EAAE,gBAAgB;YAC7B,WAAW,EAAE,gBAAgB;YAC7B,GAAG,MAAM;YACT,WAAW,EAAE,CAAC,GAAG,cAAA,eAAe,EAAE,GAAG,MAAM,CAAC;SAC5C,CAAA;IACF,CAAC;IA9Be,oBAAM,SA8BrB,CAAA;IACY,oBAAM,GAAG,MAAM,CAC3B,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EACxD,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EACnC,EAAE,SAAS,EAAE,aAAa,EAAE,CAC5B,CAAA;AACF,CAAC,EApEgB,aAAa,KAAb,aAAa,QAoE7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Base.js","sourceRoot":"../","sources":["Analytics/Event/Base.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Operation as modelOperation } from "../../Operation";
|
|
2
|
+
import { Realm } from "../../Realm";
|
|
3
|
+
import { Base } from "./Base";
|
|
4
|
+
export type Operation = Base<modelOperation> & {
|
|
5
|
+
entity: {
|
|
6
|
+
type: "operation";
|
|
7
|
+
id: string;
|
|
8
|
+
};
|
|
9
|
+
action: "created";
|
|
10
|
+
};
|
|
11
|
+
export declare namespace Operation {
|
|
12
|
+
function create(value: modelOperation, realm: Realm, action: Operation["action"]): Operation;
|
|
13
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { isoly } from "isoly";
|
|
2
|
+
export var Operation;
|
|
3
|
+
(function (Operation) {
|
|
4
|
+
function create(value, realm, action) {
|
|
5
|
+
return {
|
|
6
|
+
realm,
|
|
7
|
+
entity: { type: "operation", id: value.signature ?? "" },
|
|
8
|
+
action,
|
|
9
|
+
created: isoly.DateTime.now(),
|
|
10
|
+
value,
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
Operation.create = create;
|
|
14
|
+
})(Operation || (Operation = {}));
|
|
15
|
+
//# sourceMappingURL=Operation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Operation.js","sourceRoot":"../","sources":["Analytics/Event/Operation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAS7B,MAAM,KAAW,SAAS,CAUzB;AAVD,WAAiB,SAAS;IACzB,SAAgB,MAAM,CAAC,KAAqB,EAAE,KAAY,EAAE,MAA2B;QACtF,OAAO;YACN,KAAK;YACL,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,KAAK,CAAC,SAAS,IAAI,EAAE,EAAE;YACxD,MAAM;YACN,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE;YAC7B,KAAK;SACL,CAAA;IACF,CAAC;IARe,gBAAM,SAQrB,CAAA;AACF,CAAC,EAVgB,SAAS,KAAT,SAAS,QAUzB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Realm } from "../../Realm";
|
|
2
|
+
import { Transaction as modelTransaction } from "../../Transaction";
|
|
3
|
+
import { Base } from "./Base";
|
|
4
|
+
export type Transaction = Base<modelTransaction> & {
|
|
5
|
+
entity: {
|
|
6
|
+
type: "transaction";
|
|
7
|
+
id: string;
|
|
8
|
+
};
|
|
9
|
+
action: "created" | "finalized" | "cancelled" | "failed";
|
|
10
|
+
isError?: true;
|
|
11
|
+
};
|
|
12
|
+
export declare namespace Transaction {
|
|
13
|
+
function create(value: modelTransaction, realm: Realm, action: Transaction["action"]): Transaction;
|
|
14
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { isoly } from "isoly";
|
|
2
|
+
export var Transaction;
|
|
3
|
+
(function (Transaction) {
|
|
4
|
+
function create(value, realm, action) {
|
|
5
|
+
return {
|
|
6
|
+
realm,
|
|
7
|
+
entity: { type: "transaction", id: value.id },
|
|
8
|
+
action,
|
|
9
|
+
...(action == "failed" ? { isError: true } : {}),
|
|
10
|
+
created: isoly.DateTime.now(),
|
|
11
|
+
value,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
Transaction.create = create;
|
|
15
|
+
})(Transaction || (Transaction = {}));
|
|
16
|
+
//# sourceMappingURL=Transaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Transaction.js","sourceRoot":"../","sources":["Analytics/Event/Transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAU7B,MAAM,KAAW,WAAW,CAW3B;AAXD,WAAiB,WAAW;IAC3B,SAAgB,MAAM,CAAC,KAAuB,EAAE,KAAY,EAAE,MAA6B;QAC1F,OAAO;YACN,KAAK;YACL,MAAM,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE;YAC7C,MAAM;YACN,GAAG,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChD,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE;YAC7B,KAAK;SACL,CAAA;IACF,CAAC;IATe,kBAAM,SASrB,CAAA;AACF,CAAC,EAXgB,WAAW,KAAX,WAAW,QAW3B"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Base as EventBase } from "./Base";
|
|
2
|
+
import { Operation as OperationEvent } from "./Operation";
|
|
3
|
+
import { Transaction as TransactionEvent } from "./Transaction";
|
|
4
|
+
export type Event = (Event.Transaction | Event.Operation) & {
|
|
5
|
+
version: string;
|
|
6
|
+
};
|
|
7
|
+
export declare namespace Event {
|
|
8
|
+
type Base<T> = EventBase<T>;
|
|
9
|
+
export import Transaction = TransactionEvent;
|
|
10
|
+
export import Operation = OperationEvent;
|
|
11
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Operation as OperationEvent } from "./Operation";
|
|
2
|
+
import { Transaction as TransactionEvent } from "./Transaction";
|
|
3
|
+
export var Event;
|
|
4
|
+
(function (Event) {
|
|
5
|
+
Event.Transaction = TransactionEvent;
|
|
6
|
+
Event.Operation = OperationEvent;
|
|
7
|
+
})(Event || (Event = {}));
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../","sources":["Analytics/Event/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,IAAI,cAAc,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,EAAE,WAAW,IAAI,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAG/D,MAAM,KAAW,KAAK,CAIrB;AAJD,WAAiB,KAAK;IAEP,iBAAW,GAAG,gBAAgB,CAAA;IAC9B,eAAS,GAAG,cAAc,CAAA;AACzC,CAAC,EAJgB,KAAK,KAAL,KAAK,QAIrB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Configuration as AnalyticsConfiguration } from "./Configuration";
|
|
2
|
+
import { Event as AnalyticsEvent } from "./Event";
|
|
3
|
+
export var Analytics;
|
|
4
|
+
(function (Analytics) {
|
|
5
|
+
Analytics.Event = AnalyticsEvent;
|
|
6
|
+
Analytics.Configuration = AnalyticsConfiguration;
|
|
7
|
+
})(Analytics || (Analytics = {}));
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../","sources":["Analytics/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AACzE,OAAO,EAAE,KAAK,IAAI,cAAc,EAAE,MAAM,SAAS,CAAA;AAEjD,MAAM,KAAW,SAAS,CAGzB;AAHD,WAAiB,SAAS;IACX,eAAK,GAAG,cAAc,CAAA;IACtB,uBAAa,GAAG,sBAAsB,CAAA;AACrD,CAAC,EAHgB,SAAS,KAAT,SAAS,QAGzB"}
|
package/dist/Identity.d.ts
CHANGED
|
@@ -4,10 +4,10 @@ import { Realm } from "./Realm";
|
|
|
4
4
|
export declare class Identity {
|
|
5
5
|
#private;
|
|
6
6
|
readonly key: Key;
|
|
7
|
-
readonly realm?:
|
|
7
|
+
readonly realm?: Realm | undefined;
|
|
8
8
|
readonly organization?: string | undefined;
|
|
9
9
|
get realms(): Realm[] | undefined;
|
|
10
|
-
constructor(key: Key, realm?:
|
|
10
|
+
constructor(key: Key, realm?: Realm | undefined, organization?: string | undefined);
|
|
11
11
|
check(constraint: Key.Permissions | Key.Permissions[], realm?: Realm, organization?: string): boolean;
|
|
12
12
|
collectionCheck(collection: string): boolean;
|
|
13
13
|
static authenticate<T extends Partial<Record<"realm" | "organization", true>> = Record<string, never>>(header: {
|
package/dist/pax2pay.d.ts
CHANGED
|
@@ -2,7 +2,6 @@ export { Account } from "./Account";
|
|
|
2
2
|
export { Acquirer } from "./Acquirer";
|
|
3
3
|
export { Balances } from "./Balances";
|
|
4
4
|
export { Card } from "./Card";
|
|
5
|
-
export { Event } from "./Event";
|
|
6
5
|
export { Holidays } from "./Holidays";
|
|
7
6
|
export { Operation } from "./Operation";
|
|
8
7
|
export { Organization } from "./Organization";
|
|
@@ -28,3 +27,4 @@ export { Key } from "./Key";
|
|
|
28
27
|
export { Exchange } from "./Exchange";
|
|
29
28
|
export { Log } from "./Log";
|
|
30
29
|
export { Audit } from "./Audit";
|
|
30
|
+
export { Analytics } from "./Analytics";
|
package/dist/pax2pay.js
CHANGED
|
@@ -2,7 +2,6 @@ export { Account } from "./Account";
|
|
|
2
2
|
export { Acquirer } from "./Acquirer";
|
|
3
3
|
export { Balances } from "./Balances";
|
|
4
4
|
export { Card } from "./Card";
|
|
5
|
-
export { Event } from "./Event";
|
|
6
5
|
export { Holidays } from "./Holidays";
|
|
7
6
|
export { Operation } from "./Operation";
|
|
8
7
|
export { Organization } from "./Organization";
|
|
@@ -27,4 +26,5 @@ export { Identity } from "./Identity";
|
|
|
27
26
|
export { Key } from "./Key";
|
|
28
27
|
export { Exchange } from "./Exchange";
|
|
29
28
|
export { Log } from "./Log";
|
|
29
|
+
export { Analytics } from "./Analytics";
|
|
30
30
|
//# sourceMappingURL=pax2pay.js.map
|
package/dist/pax2pay.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pax2pay.js","sourceRoot":"../","sources":["pax2pay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"pax2pay.js","sourceRoot":"../","sources":["pax2pay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAE3B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pax2pay/model-banking",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.316",
|
|
4
4
|
"description": "Library containing data model types and functions for the Pax2Pay Banking API.",
|
|
5
5
|
"author": "Pax2Pay Ltd",
|
|
6
6
|
"license": "MIT",
|
|
@@ -57,10 +57,10 @@
|
|
|
57
57
|
"semver": "7.5.3"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
|
-
"@cloudflare/workers-types": "^4.
|
|
60
|
+
"@cloudflare/workers-types": "^4.20240620.0",
|
|
61
61
|
"@types/jest": "^29.5.12",
|
|
62
|
-
"@typescript-eslint/eslint-plugin": "7.
|
|
63
|
-
"@typescript-eslint/parser": "7.
|
|
62
|
+
"@typescript-eslint/eslint-plugin": "7.15.0",
|
|
63
|
+
"@typescript-eslint/parser": "7.15.0",
|
|
64
64
|
"eslint": "^8.56.0",
|
|
65
65
|
"eslint-plugin-prettierx": "github:utily/eslint-plugin-prettierx#utily-20231004",
|
|
66
66
|
"eslint-plugin-simple-import-sort": "^12.1.0",
|
|
@@ -68,10 +68,10 @@
|
|
|
68
68
|
"prettierx": "github:utily/prettierx#utily-20231004",
|
|
69
69
|
"rimraf": "^5.0.7",
|
|
70
70
|
"ts-jest": "^29.1.5",
|
|
71
|
-
"typescript": "^5.
|
|
71
|
+
"typescript": "^5.5.3"
|
|
72
72
|
},
|
|
73
73
|
"dependencies": {
|
|
74
|
-
"@userwidgets/model": "0.8.
|
|
74
|
+
"@userwidgets/model": "0.8.30",
|
|
75
75
|
"authly": "^3.1.1",
|
|
76
76
|
"cloudly-http": "^0.1.7",
|
|
77
77
|
"cloudly-rest": "^0.1.4",
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
"cryptly": "^4.0.5",
|
|
80
80
|
"gracely": "^2.0.8",
|
|
81
81
|
"isly": "0.1.16",
|
|
82
|
-
"isoly": "^2.3.
|
|
82
|
+
"isoly": "^2.3.11",
|
|
83
83
|
"selectively": "^2.0.11"
|
|
84
84
|
}
|
|
85
85
|
}
|
package/pax2pay.ts
CHANGED
|
@@ -2,7 +2,6 @@ export { Account } from "./Account"
|
|
|
2
2
|
export { Acquirer } from "./Acquirer"
|
|
3
3
|
export { Balances } from "./Balances"
|
|
4
4
|
export { Card } from "./Card"
|
|
5
|
-
export { Event } from "./Event"
|
|
6
5
|
export { Holidays } from "./Holidays"
|
|
7
6
|
export { Operation } from "./Operation"
|
|
8
7
|
export { Organization } from "./Organization"
|
|
@@ -28,3 +27,4 @@ export { Key } from "./Key"
|
|
|
28
27
|
export { Exchange } from "./Exchange"
|
|
29
28
|
export { Log } from "./Log"
|
|
30
29
|
export { Audit } from "./Audit"
|
|
30
|
+
export { Analytics } from "./Analytics"
|
package/Event/index.ts
DELETED
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import { Account as modelAccount } from "../Account"
|
|
2
|
-
import { Operation as modelOperation } from "../Operation"
|
|
3
|
-
import { Organization as modelOrganization } from "../Organization"
|
|
4
|
-
import { Rail as modelRail } from "../Rail"
|
|
5
|
-
import { Transaction as modelTransaction } from "../Transaction"
|
|
6
|
-
|
|
7
|
-
export interface Event {
|
|
8
|
-
organization?: string
|
|
9
|
-
account?: string
|
|
10
|
-
entity: Entity
|
|
11
|
-
action: string
|
|
12
|
-
data: any
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
type Entity = "account" | "transaction" | "operation" | "rail" | "organization" | "authorization" | "supplier"
|
|
16
|
-
export namespace Event {
|
|
17
|
-
export namespace Account {
|
|
18
|
-
export function created(account: modelAccount, organization: string): Event {
|
|
19
|
-
return { organization, entity: "account", action: "created", data: account }
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
export namespace Operation {
|
|
23
|
-
export function performed(operation: modelOperation, organization: string, account: string): Event {
|
|
24
|
-
return { organization, account, entity: "operation", action: "performed", data: operation }
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
export namespace Organization {
|
|
28
|
-
export function created(organization: modelOrganization): Event {
|
|
29
|
-
return { entity: "organization", action: "created", data: organization }
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
export namespace Rail {
|
|
33
|
-
export function added(rail: modelRail, organization: string, account: string): Event {
|
|
34
|
-
return { organization, account, entity: "rail", action: "added", data: rail }
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
export namespace Transaction {
|
|
38
|
-
export function initiated(transaction: modelTransaction, organization: string, account: string): Event {
|
|
39
|
-
return {
|
|
40
|
-
organization,
|
|
41
|
-
account,
|
|
42
|
-
entity: "transaction",
|
|
43
|
-
action: "initiated",
|
|
44
|
-
data: transaction,
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
export function finalized(transaction: modelTransaction, organization: string, account: string): Event {
|
|
48
|
-
return {
|
|
49
|
-
organization,
|
|
50
|
-
account,
|
|
51
|
-
entity: "transaction",
|
|
52
|
-
action: "finalized",
|
|
53
|
-
data: transaction,
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
export function incoming(transaction: modelTransaction, organization: string, account: string): Event {
|
|
57
|
-
return {
|
|
58
|
-
organization,
|
|
59
|
-
account,
|
|
60
|
-
entity: "transaction",
|
|
61
|
-
action: "incoming",
|
|
62
|
-
data: transaction,
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
export function validated(transaction: modelTransaction, organization: string, account: string): Event {
|
|
66
|
-
return {
|
|
67
|
-
organization,
|
|
68
|
-
account,
|
|
69
|
-
entity: "transaction",
|
|
70
|
-
action: "validated",
|
|
71
|
-
data: transaction,
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
export function expired(transaction: modelTransaction, organization: string, account: string): Event {
|
|
75
|
-
return {
|
|
76
|
-
organization,
|
|
77
|
-
account,
|
|
78
|
-
entity: "transaction",
|
|
79
|
-
action: "expired",
|
|
80
|
-
data: transaction,
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
export namespace Supplier {
|
|
85
|
-
export namespace PaxGiro {
|
|
86
|
-
export function response(response: any, organization: string, account: string): Event {
|
|
87
|
-
return {
|
|
88
|
-
organization,
|
|
89
|
-
account,
|
|
90
|
-
entity: "supplier",
|
|
91
|
-
action: "transaction response",
|
|
92
|
-
data: response,
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}
|
package/dist/Event/index.d.ts
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { Account as modelAccount } from "../Account";
|
|
2
|
-
import { Operation as modelOperation } from "../Operation";
|
|
3
|
-
import { Organization as modelOrganization } from "../Organization";
|
|
4
|
-
import { Rail as modelRail } from "../Rail";
|
|
5
|
-
import { Transaction as modelTransaction } from "../Transaction";
|
|
6
|
-
export interface Event {
|
|
7
|
-
organization?: string;
|
|
8
|
-
account?: string;
|
|
9
|
-
entity: Entity;
|
|
10
|
-
action: string;
|
|
11
|
-
data: any;
|
|
12
|
-
}
|
|
13
|
-
type Entity = "account" | "transaction" | "operation" | "rail" | "organization" | "authorization" | "supplier";
|
|
14
|
-
export declare namespace Event {
|
|
15
|
-
namespace Account {
|
|
16
|
-
function created(account: modelAccount, organization: string): Event;
|
|
17
|
-
}
|
|
18
|
-
namespace Operation {
|
|
19
|
-
function performed(operation: modelOperation, organization: string, account: string): Event;
|
|
20
|
-
}
|
|
21
|
-
namespace Organization {
|
|
22
|
-
function created(organization: modelOrganization): Event;
|
|
23
|
-
}
|
|
24
|
-
namespace Rail {
|
|
25
|
-
function added(rail: modelRail, organization: string, account: string): Event;
|
|
26
|
-
}
|
|
27
|
-
namespace Transaction {
|
|
28
|
-
function initiated(transaction: modelTransaction, organization: string, account: string): Event;
|
|
29
|
-
function finalized(transaction: modelTransaction, organization: string, account: string): Event;
|
|
30
|
-
function incoming(transaction: modelTransaction, organization: string, account: string): Event;
|
|
31
|
-
function validated(transaction: modelTransaction, organization: string, account: string): Event;
|
|
32
|
-
function expired(transaction: modelTransaction, organization: string, account: string): Event;
|
|
33
|
-
}
|
|
34
|
-
namespace Supplier {
|
|
35
|
-
namespace PaxGiro {
|
|
36
|
-
function response(response: any, organization: string, account: string): Event;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
export {};
|
package/dist/Event/index.js
DELETED
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
export var Event;
|
|
2
|
-
(function (Event) {
|
|
3
|
-
let Account;
|
|
4
|
-
(function (Account) {
|
|
5
|
-
function created(account, organization) {
|
|
6
|
-
return { organization, entity: "account", action: "created", data: account };
|
|
7
|
-
}
|
|
8
|
-
Account.created = created;
|
|
9
|
-
})(Account = Event.Account || (Event.Account = {}));
|
|
10
|
-
let Operation;
|
|
11
|
-
(function (Operation) {
|
|
12
|
-
function performed(operation, organization, account) {
|
|
13
|
-
return { organization, account, entity: "operation", action: "performed", data: operation };
|
|
14
|
-
}
|
|
15
|
-
Operation.performed = performed;
|
|
16
|
-
})(Operation = Event.Operation || (Event.Operation = {}));
|
|
17
|
-
let Organization;
|
|
18
|
-
(function (Organization) {
|
|
19
|
-
function created(organization) {
|
|
20
|
-
return { entity: "organization", action: "created", data: organization };
|
|
21
|
-
}
|
|
22
|
-
Organization.created = created;
|
|
23
|
-
})(Organization = Event.Organization || (Event.Organization = {}));
|
|
24
|
-
let Rail;
|
|
25
|
-
(function (Rail) {
|
|
26
|
-
function added(rail, organization, account) {
|
|
27
|
-
return { organization, account, entity: "rail", action: "added", data: rail };
|
|
28
|
-
}
|
|
29
|
-
Rail.added = added;
|
|
30
|
-
})(Rail = Event.Rail || (Event.Rail = {}));
|
|
31
|
-
let Transaction;
|
|
32
|
-
(function (Transaction) {
|
|
33
|
-
function initiated(transaction, organization, account) {
|
|
34
|
-
return {
|
|
35
|
-
organization,
|
|
36
|
-
account,
|
|
37
|
-
entity: "transaction",
|
|
38
|
-
action: "initiated",
|
|
39
|
-
data: transaction,
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
Transaction.initiated = initiated;
|
|
43
|
-
function finalized(transaction, organization, account) {
|
|
44
|
-
return {
|
|
45
|
-
organization,
|
|
46
|
-
account,
|
|
47
|
-
entity: "transaction",
|
|
48
|
-
action: "finalized",
|
|
49
|
-
data: transaction,
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
Transaction.finalized = finalized;
|
|
53
|
-
function incoming(transaction, organization, account) {
|
|
54
|
-
return {
|
|
55
|
-
organization,
|
|
56
|
-
account,
|
|
57
|
-
entity: "transaction",
|
|
58
|
-
action: "incoming",
|
|
59
|
-
data: transaction,
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
Transaction.incoming = incoming;
|
|
63
|
-
function validated(transaction, organization, account) {
|
|
64
|
-
return {
|
|
65
|
-
organization,
|
|
66
|
-
account,
|
|
67
|
-
entity: "transaction",
|
|
68
|
-
action: "validated",
|
|
69
|
-
data: transaction,
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
Transaction.validated = validated;
|
|
73
|
-
function expired(transaction, organization, account) {
|
|
74
|
-
return {
|
|
75
|
-
organization,
|
|
76
|
-
account,
|
|
77
|
-
entity: "transaction",
|
|
78
|
-
action: "expired",
|
|
79
|
-
data: transaction,
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
Transaction.expired = expired;
|
|
83
|
-
})(Transaction = Event.Transaction || (Event.Transaction = {}));
|
|
84
|
-
let Supplier;
|
|
85
|
-
(function (Supplier) {
|
|
86
|
-
let PaxGiro;
|
|
87
|
-
(function (PaxGiro) {
|
|
88
|
-
function response(response, organization, account) {
|
|
89
|
-
return {
|
|
90
|
-
organization,
|
|
91
|
-
account,
|
|
92
|
-
entity: "supplier",
|
|
93
|
-
action: "transaction response",
|
|
94
|
-
data: response,
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
|
-
PaxGiro.response = response;
|
|
98
|
-
})(PaxGiro = Supplier.PaxGiro || (Supplier.PaxGiro = {}));
|
|
99
|
-
})(Supplier = Event.Supplier || (Event.Supplier = {}));
|
|
100
|
-
})(Event || (Event = {}));
|
|
101
|
-
//# sourceMappingURL=index.js.map
|
package/dist/Event/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"../","sources":["Event/index.ts"],"names":[],"mappings":"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"}
|