@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.
Files changed (62) hide show
  1. package/Analytics/Configuration/Mapping/Field.ts +16 -0
  2. package/Analytics/Configuration/Mapping/Transform.ts +8 -0
  3. package/Analytics/Configuration/Mapping/index.ts +9 -0
  4. package/Analytics/Configuration/Schema/Field.ts +16 -0
  5. package/Analytics/Configuration/Schema/Mode.ts +8 -0
  6. package/Analytics/Configuration/Schema/Type.ts +23 -0
  7. package/Analytics/Configuration/Schema/index.ts +7 -0
  8. package/Analytics/Configuration/index.ts +72 -0
  9. package/Analytics/Event/Base.ts +10 -0
  10. package/Analytics/Event/Operation.ts +20 -0
  11. package/Analytics/Event/Transaction.ts +22 -0
  12. package/Analytics/Event/index.ts +10 -0
  13. package/Analytics/index.ts +22 -0
  14. package/dist/Analytics/Configuration/Mapping/Field.d.ts +12 -0
  15. package/dist/Analytics/Configuration/Mapping/Field.js +11 -0
  16. package/dist/Analytics/Configuration/Mapping/Field.js.map +1 -0
  17. package/dist/Analytics/Configuration/Mapping/Transform.d.ts +6 -0
  18. package/dist/Analytics/Configuration/Mapping/Transform.js +7 -0
  19. package/dist/Analytics/Configuration/Mapping/Transform.js.map +1 -0
  20. package/dist/Analytics/Configuration/Mapping/index.d.ts +7 -0
  21. package/dist/Analytics/Configuration/Mapping/index.js +8 -0
  22. package/dist/Analytics/Configuration/Mapping/index.js.map +1 -0
  23. package/dist/Analytics/Configuration/Schema/Field.d.ts +14 -0
  24. package/dist/Analytics/Configuration/Schema/Field.js +15 -0
  25. package/dist/Analytics/Configuration/Schema/Field.js.map +1 -0
  26. package/dist/Analytics/Configuration/Schema/Mode.d.ts +6 -0
  27. package/dist/Analytics/Configuration/Schema/Mode.js +7 -0
  28. package/dist/Analytics/Configuration/Schema/Mode.js.map +1 -0
  29. package/dist/Analytics/Configuration/Schema/Type.d.ts +6 -0
  30. package/dist/Analytics/Configuration/Schema/Type.js +22 -0
  31. package/dist/Analytics/Configuration/Schema/Type.js.map +1 -0
  32. package/dist/Analytics/Configuration/Schema/index.d.ts +6 -0
  33. package/dist/Analytics/Configuration/Schema/index.js +7 -0
  34. package/dist/Analytics/Configuration/Schema/index.js.map +1 -0
  35. package/dist/Analytics/Configuration/index.d.ts +76 -0
  36. package/dist/Analytics/Configuration/index.js +62 -0
  37. package/dist/Analytics/Configuration/index.js.map +1 -0
  38. package/dist/Analytics/Event/Base.d.ts +12 -0
  39. package/dist/Analytics/Event/Base.js +2 -0
  40. package/dist/Analytics/Event/Base.js.map +1 -0
  41. package/dist/Analytics/Event/Operation.d.ts +13 -0
  42. package/dist/Analytics/Event/Operation.js +15 -0
  43. package/dist/Analytics/Event/Operation.js.map +1 -0
  44. package/dist/Analytics/Event/Transaction.d.ts +14 -0
  45. package/dist/Analytics/Event/Transaction.js +16 -0
  46. package/dist/Analytics/Event/Transaction.js.map +1 -0
  47. package/dist/Analytics/Event/index.d.ts +11 -0
  48. package/dist/Analytics/Event/index.js +8 -0
  49. package/dist/Analytics/Event/index.js.map +1 -0
  50. package/dist/Analytics/index.d.ts +6 -0
  51. package/dist/Analytics/index.js +8 -0
  52. package/dist/Analytics/index.js.map +1 -0
  53. package/dist/Identity.d.ts +2 -2
  54. package/dist/pax2pay.d.ts +1 -1
  55. package/dist/pax2pay.js +1 -1
  56. package/dist/pax2pay.js.map +1 -1
  57. package/package.json +7 -7
  58. package/pax2pay.ts +1 -1
  59. package/Event/index.ts +0 -97
  60. package/dist/Event/index.d.ts +0 -40
  61. package/dist/Event/index.js +0 -101
  62. 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,8 @@
1
+ import { isly } from "isly"
2
+
3
+ export type Mode = typeof Mode.values[number]
4
+
5
+ export namespace Mode {
6
+ export const values = ["NULLABLE", "REQUIRED", "REPEATED"] as const
7
+ export const type = isly.string<Mode>(values)
8
+ }
@@ -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,7 @@
1
+ import { Field as SchemaField } from "./Field"
2
+
3
+ export type Schema<T extends string = string> = Schema.Field<T>[]
4
+ export namespace Schema {
5
+ export import Field = SchemaField
6
+ export const type = Field.type.array()
7
+ }
@@ -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,10 @@
1
+ import { isoly } from "isoly"
2
+ import { Realm } from "../../Realm"
3
+
4
+ export type Base<T> = {
5
+ realm: Realm
6
+ entity: { type: string; id: string }
7
+ action: string
8
+ created: isoly.DateTime
9
+ value: T
10
+ }
@@ -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,6 @@
1
+ import { isly } from "isly";
2
+ export type Mode = typeof Mode.values[number];
3
+ export declare namespace Mode {
4
+ const values: readonly ["NULLABLE", "REQUIRED", "REPEATED"];
5
+ const type: isly.Type<"NULLABLE" | "REQUIRED" | "REPEATED">;
6
+ }
@@ -0,0 +1,7 @@
1
+ import { isly } from "isly";
2
+ export var Mode;
3
+ (function (Mode) {
4
+ Mode.values = ["NULLABLE", "REQUIRED", "REPEATED"];
5
+ Mode.type = isly.string(Mode.values);
6
+ })(Mode || (Mode = {}));
7
+ //# sourceMappingURL=Mode.js.map
@@ -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,6 @@
1
+ import { Field as SchemaField } from "./Field";
2
+ export type Schema<T extends string = string> = Schema.Field<T>[];
3
+ export declare namespace Schema {
4
+ export import Field = SchemaField;
5
+ const type: import("isly/dist/cjs/Type").Type<Field<string>[]>;
6
+ }
@@ -0,0 +1,7 @@
1
+ import { Field as SchemaField } from "./Field";
2
+ export var Schema;
3
+ (function (Schema) {
4
+ Schema.Field = SchemaField;
5
+ Schema.type = Schema.Field.type.array();
6
+ })(Schema || (Schema = {}));
7
+ //# sourceMappingURL=index.js.map
@@ -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,12 @@
1
+ import { isoly } from "isoly";
2
+ import { Realm } from "../../Realm";
3
+ export type Base<T> = {
4
+ realm: Realm;
5
+ entity: {
6
+ type: string;
7
+ id: string;
8
+ };
9
+ action: string;
10
+ created: isoly.DateTime;
11
+ value: T;
12
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Base.js.map
@@ -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,6 @@
1
+ import { Configuration as AnalyticsConfiguration } from "./Configuration";
2
+ import { Event as AnalyticsEvent } from "./Event";
3
+ export declare namespace Analytics {
4
+ export import Event = AnalyticsEvent;
5
+ export import Configuration = AnalyticsConfiguration;
6
+ }
@@ -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"}
@@ -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?: "eu" | "uk" | "test" | "testUK" | "upcheck" | undefined;
7
+ readonly realm?: Realm | undefined;
8
8
  readonly organization?: string | undefined;
9
9
  get realms(): Realm[] | undefined;
10
- constructor(key: Key, realm?: "eu" | "uk" | "test" | "testUK" | "upcheck" | undefined, organization?: string | undefined);
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
@@ -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,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,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"}
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.315",
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.20240208.0",
60
+ "@cloudflare/workers-types": "^4.20240620.0",
61
61
  "@types/jest": "^29.5.12",
62
- "@typescript-eslint/eslint-plugin": "7.13.0",
63
- "@typescript-eslint/parser": "7.13.0",
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.4.5"
71
+ "typescript": "^5.5.3"
72
72
  },
73
73
  "dependencies": {
74
- "@userwidgets/model": "0.8.24",
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.10",
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
- }
@@ -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 {};
@@ -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
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../","sources":["Event/index.ts"],"names":[],"mappings":"AAeA,MAAM,KAAW,KAAK,CAiFrB;AAjFD,WAAiB,KAAK;IACrB,IAAiB,OAAO,CAIvB;IAJD,WAAiB,OAAO;QACvB,SAAgB,OAAO,CAAC,OAAqB,EAAE,YAAoB;YAClE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;QAC7E,CAAC;QAFe,eAAO,UAEtB,CAAA;IACF,CAAC,EAJgB,OAAO,GAAP,aAAO,KAAP,aAAO,QAIvB;IACD,IAAiB,SAAS,CAIzB;IAJD,WAAiB,SAAS;QACzB,SAAgB,SAAS,CAAC,SAAyB,EAAE,YAAoB,EAAE,OAAe;YACzF,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;QAC5F,CAAC;QAFe,mBAAS,YAExB,CAAA;IACF,CAAC,EAJgB,SAAS,GAAT,eAAS,KAAT,eAAS,QAIzB;IACD,IAAiB,YAAY,CAI5B;IAJD,WAAiB,YAAY;QAC5B,SAAgB,OAAO,CAAC,YAA+B;YACtD,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,CAAA;QACzE,CAAC;QAFe,oBAAO,UAEtB,CAAA;IACF,CAAC,EAJgB,YAAY,GAAZ,kBAAY,KAAZ,kBAAY,QAI5B;IACD,IAAiB,IAAI,CAIpB;IAJD,WAAiB,IAAI;QACpB,SAAgB,KAAK,CAAC,IAAe,EAAE,YAAoB,EAAE,OAAe;YAC3E,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;QAC9E,CAAC;QAFe,UAAK,QAEpB,CAAA;IACF,CAAC,EAJgB,IAAI,GAAJ,UAAI,KAAJ,UAAI,QAIpB;IACD,IAAiB,WAAW,CA8C3B;IA9CD,WAAiB,WAAW;QAC3B,SAAgB,SAAS,CAAC,WAA6B,EAAE,YAAoB,EAAE,OAAe;YAC7F,OAAO;gBACN,YAAY;gBACZ,OAAO;gBACP,MAAM,EAAE,aAAa;gBACrB,MAAM,EAAE,WAAW;gBACnB,IAAI,EAAE,WAAW;aACjB,CAAA;QACF,CAAC;QARe,qBAAS,YAQxB,CAAA;QACD,SAAgB,SAAS,CAAC,WAA6B,EAAE,YAAoB,EAAE,OAAe;YAC7F,OAAO;gBACN,YAAY;gBACZ,OAAO;gBACP,MAAM,EAAE,aAAa;gBACrB,MAAM,EAAE,WAAW;gBACnB,IAAI,EAAE,WAAW;aACjB,CAAA;QACF,CAAC;QARe,qBAAS,YAQxB,CAAA;QACD,SAAgB,QAAQ,CAAC,WAA6B,EAAE,YAAoB,EAAE,OAAe;YAC5F,OAAO;gBACN,YAAY;gBACZ,OAAO;gBACP,MAAM,EAAE,aAAa;gBACrB,MAAM,EAAE,UAAU;gBAClB,IAAI,EAAE,WAAW;aACjB,CAAA;QACF,CAAC;QARe,oBAAQ,WAQvB,CAAA;QACD,SAAgB,SAAS,CAAC,WAA6B,EAAE,YAAoB,EAAE,OAAe;YAC7F,OAAO;gBACN,YAAY;gBACZ,OAAO;gBACP,MAAM,EAAE,aAAa;gBACrB,MAAM,EAAE,WAAW;gBACnB,IAAI,EAAE,WAAW;aACjB,CAAA;QACF,CAAC;QARe,qBAAS,YAQxB,CAAA;QACD,SAAgB,OAAO,CAAC,WAA6B,EAAE,YAAoB,EAAE,OAAe;YAC3F,OAAO;gBACN,YAAY;gBACZ,OAAO;gBACP,MAAM,EAAE,aAAa;gBACrB,MAAM,EAAE,SAAS;gBACjB,IAAI,EAAE,WAAW;aACjB,CAAA;QACF,CAAC;QARe,mBAAO,UAQtB,CAAA;IACF,CAAC,EA9CgB,WAAW,GAAX,iBAAW,KAAX,iBAAW,QA8C3B;IACD,IAAiB,QAAQ,CAYxB;IAZD,WAAiB,QAAQ;QACxB,IAAiB,OAAO,CAUvB;QAVD,WAAiB,OAAO;YACvB,SAAgB,QAAQ,CAAC,QAAa,EAAE,YAAoB,EAAE,OAAe;gBAC5E,OAAO;oBACN,YAAY;oBACZ,OAAO;oBACP,MAAM,EAAE,UAAU;oBAClB,MAAM,EAAE,sBAAsB;oBAC9B,IAAI,EAAE,QAAQ;iBACd,CAAA;YACF,CAAC;YARe,gBAAQ,WAQvB,CAAA;QACF,CAAC,EAVgB,OAAO,GAAP,gBAAO,KAAP,gBAAO,QAUvB;IACF,CAAC,EAZgB,QAAQ,GAAR,cAAQ,KAAR,cAAQ,QAYxB;AACF,CAAC,EAjFgB,KAAK,KAAL,KAAK,QAiFrB"}