@diia-inhouse/analytics 1.72.27 → 1.72.28

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 (49) hide show
  1. package/dist/index.js +21 -0
  2. package/dist/index.js.map +1 -0
  3. package/dist/interfaces/actionResult.js +28 -0
  4. package/dist/interfaces/actionResult.js.map +1 -0
  5. package/dist/interfaces/actionType.js +26 -0
  6. package/dist/interfaces/actionType.js.map +1 -0
  7. package/dist/interfaces/analytics.js +3 -0
  8. package/dist/interfaces/analytics.js.map +1 -0
  9. package/dist/interfaces/categories.js +13 -0
  10. package/dist/interfaces/categories.js.map +1 -0
  11. package/dist/interfaces/data.js +3 -0
  12. package/dist/interfaces/data.js.map +1 -0
  13. package/dist/interfaces/device.js +3 -0
  14. package/dist/interfaces/device.js.map +1 -0
  15. package/dist/interfaces/index.js +25 -0
  16. package/dist/interfaces/index.js.map +1 -0
  17. package/dist/interfaces/nextGenAnalytics.js +3 -0
  18. package/dist/interfaces/nextGenAnalytics.js.map +1 -0
  19. package/dist/interfaces/rating.js +356 -0
  20. package/dist/interfaces/rating.js.map +1 -0
  21. package/dist/mocks/analytics.js +81 -0
  22. package/dist/mocks/analytics.js.map +1 -0
  23. package/dist/mocks/index.js +18 -0
  24. package/dist/mocks/index.js.map +1 -0
  25. package/dist/services/analytics.js +146 -0
  26. package/dist/services/analytics.js.map +1 -0
  27. package/dist/services/index.js +18 -0
  28. package/dist/services/index.js.map +1 -0
  29. package/dist/types/index.d.ts +4 -0
  30. package/dist/types/interfaces/actionResult.d.ts +23 -0
  31. package/dist/types/interfaces/actionType.d.ts +21 -0
  32. package/dist/types/interfaces/analytics.d.ts +37 -0
  33. package/dist/types/interfaces/categories.d.ts +8 -0
  34. package/dist/types/interfaces/data.d.ts +25 -0
  35. package/dist/types/interfaces/device.d.ts +8 -0
  36. package/dist/types/interfaces/index.d.ts +8 -0
  37. package/dist/types/interfaces/nextGenAnalytics.d.ts +14 -0
  38. package/dist/types/interfaces/rating.d.ts +441 -0
  39. package/dist/types/mocks/analytics.d.ts +2 -0
  40. package/dist/types/mocks/index.d.ts +1 -0
  41. package/dist/types/services/analytics.d.ts +18 -0
  42. package/dist/types/services/index.d.ts +1 -0
  43. package/dist/types/utils/index.d.ts +1 -0
  44. package/dist/types/utils/rating.d.ts +9 -0
  45. package/dist/utils/index.js +18 -0
  46. package/dist/utils/index.js.map +1 -0
  47. package/dist/utils/rating.js +157 -0
  48. package/dist/utils/rating.js.map +1 -0
  49. package/package.json +3 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/mocks/analytics.ts"],"names":[],"mappings":";;AAIA,8CA4EC;AA9ED,8CAA2D;AAE3D,SAAgB,iBAAiB,CAAC,aAAkC,EAAE;IAClE,MAAM,KAAK,GAAqB;QAC5B;YACI,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,MAAM;SACf;QACD;YACI,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,MAAM;SACf;KACJ,CAAA;IAED,OAAO;QACH,KAAK,EAAE,uBAAuB;QAC9B,MAAM,EAAE;YACJ,KAAK,EAAE,qDAAqD;YAC5D,KAAK,EAAE;gBACH;oBACI,IAAI,EAAE,wBAAW,CAAC,KAAK;oBACvB,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE;wBACF,KAAK,EAAE,eAAe;wBACtB,WAAW,EAAE,oCAAoC;wBACjD,KAAK;qBACR;oBACD,UAAU,EAAE,EAAE;iBACjB;gBACD;oBACI,IAAI,EAAE,wBAAW,CAAC,GAAG;oBACrB,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE;wBACF,KAAK,EAAE,eAAe;wBACtB,WAAW,EAAE,oCAAoC;wBACjD,KAAK;qBACR;oBACD,UAAU,EAAE,EAAE;iBACjB;gBACD;oBACI,IAAI,EAAE,wBAAW,CAAC,EAAE;oBACpB,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE;wBACF,KAAK,EAAE,+BAA+B;wBACtC,WAAW,EAAE,oCAAoC;wBACjD,KAAK;qBACR;oBACD,UAAU,EAAE,EAAE;iBACjB;gBACD;oBACI,IAAI,EAAE,wBAAW,CAAC,IAAI;oBACtB,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE;wBACF,KAAK,EAAE,iBAAiB;wBACxB,WAAW,EAAE,oCAAoC;wBACjD,KAAK;qBACR;oBACD,UAAU,EAAE,EAAE;iBACjB;gBACD;oBACI,IAAI,EAAE,wBAAW,CAAC,SAAS;oBAC3B,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE;wBACF,KAAK,EAAE,iBAAiB;wBACxB,WAAW,EAAE,oCAAoC;wBACjD,KAAK;qBACR;oBACD,UAAU,EAAE,EAAE;iBACjB;aACJ;SACJ;QACD,OAAO,EAAE;YACL,KAAK,EAAE,6BAA6B;YACpC,IAAI,EAAE,+CAA+C;SACxD;QACD,UAAU,EAAE,kBAAkB;QAC9B,GAAG,UAAU;KAChB,CAAA;AACL,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./analytics"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mocks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B"}
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AnalyticsService = void 0;
4
+ const utils_1 = require("@diia-inhouse/utils");
5
+ const interfaces_1 = require("../interfaces");
6
+ class AnalyticsService {
7
+ logger;
8
+ asyncLocalStorage;
9
+ constructor(logger, asyncLocalStorage) {
10
+ this.logger = logger;
11
+ this.asyncLocalStorage = asyncLocalStorage;
12
+ }
13
+ acquirerLog(category, acquirerId, actionType, actionResult, headers, data) {
14
+ const analytics = {
15
+ date: this.getDate(),
16
+ category,
17
+ acquirer: acquirerId,
18
+ action: {
19
+ type: actionType,
20
+ result: actionResult,
21
+ },
22
+ appVersion: headers?.appVersion,
23
+ device: this.getDevice(headers),
24
+ data,
25
+ };
26
+ this.logAnalytics(analytics);
27
+ }
28
+ userAcquirerLog(category, userIdentifier, acquirerId, actionType, actionResult, headers, data) {
29
+ const analytics = {
30
+ date: this.getDate(),
31
+ category,
32
+ acquirer: acquirerId,
33
+ identifier: userIdentifier,
34
+ action: {
35
+ type: actionType,
36
+ result: actionResult,
37
+ },
38
+ appVersion: headers?.appVersion,
39
+ device: this.getDevice(headers),
40
+ data,
41
+ };
42
+ this.logAnalytics(analytics);
43
+ }
44
+ notificationLog(actionType, actionResult, headers, data) {
45
+ const analytics = {
46
+ date: this.getDate(),
47
+ category: interfaces_1.AnalyticsCategory.Notification,
48
+ action: {
49
+ type: actionType,
50
+ result: actionResult,
51
+ },
52
+ appVersion: headers.appVersion,
53
+ device: this.getDevice(headers),
54
+ data,
55
+ };
56
+ this.logAnalytics(analytics);
57
+ }
58
+ userLog(actionType, actionResult, userIdentifier, headers, data) {
59
+ const analytics = {
60
+ date: this.getDate(),
61
+ category: interfaces_1.AnalyticsCategory.Users,
62
+ action: {
63
+ type: actionType,
64
+ result: actionResult,
65
+ },
66
+ identifier: userIdentifier,
67
+ appVersion: headers.appVersion,
68
+ device: this.getDevice(headers),
69
+ data,
70
+ };
71
+ this.logAnalytics(analytics);
72
+ }
73
+ authLog(actionType, actionResult, userIdentifier, headers, data) {
74
+ const analytics = {
75
+ date: this.getDate(),
76
+ category: interfaces_1.AnalyticsCategory.Auth,
77
+ action: {
78
+ type: actionType,
79
+ result: actionResult,
80
+ },
81
+ identifier: userIdentifier,
82
+ appVersion: headers.appVersion,
83
+ device: this.getDevice(headers),
84
+ data,
85
+ };
86
+ this.logAnalytics(analytics);
87
+ }
88
+ log(category, actionType, actionResult, data) {
89
+ const context = this.asyncLocalStorage.getStore();
90
+ if (!context) {
91
+ this.logger.fatal('Analytics log is used without als context');
92
+ return;
93
+ }
94
+ const { session, headers } = context;
95
+ const analytics = {
96
+ date: this.getDate(),
97
+ category,
98
+ action: {
99
+ type: actionType,
100
+ result: actionResult,
101
+ },
102
+ appVersion: headers?.appVersion,
103
+ device: this.getDevice(headers),
104
+ data,
105
+ };
106
+ if (utils_1.guards.isUserSession(session)) {
107
+ analytics.identifier = session.user.identifier;
108
+ }
109
+ if (utils_1.guards.isServiceEntranceSession(session)) {
110
+ const { acquirerId, branchHashId, offerHashId } = session.entrance;
111
+ analytics.acquirer = acquirerId;
112
+ if (!data) {
113
+ data = {};
114
+ }
115
+ if (!data.branch) {
116
+ data.branch = branchHashId;
117
+ }
118
+ if (!data.offer) {
119
+ data.offer = offerHashId;
120
+ }
121
+ }
122
+ this.logger.info('Analytics', { analytics });
123
+ }
124
+ getDate() {
125
+ return new Date().toISOString();
126
+ }
127
+ getDevice(headers) {
128
+ if (!headers) {
129
+ return;
130
+ }
131
+ const { mobileUid, platformType, platformVersion } = headers;
132
+ return {
133
+ identifier: mobileUid,
134
+ platform: {
135
+ type: platformType,
136
+ version: platformVersion,
137
+ },
138
+ };
139
+ }
140
+ logAnalytics(analytics) {
141
+ const log = { analytics };
142
+ this.logger.info('Analytics', log);
143
+ }
144
+ }
145
+ exports.AnalyticsService = AnalyticsService;
146
+ //# sourceMappingURL=analytics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/services/analytics.ts"],"names":[],"mappings":";;;AAKA,+CAA4C;AAE5C,8CAesB;AAEtB,MAAa,gBAAgB;IAEJ;IACA;IAFrB,YACqB,MAAc,EACd,iBAA6C;QAD7C,WAAM,GAAN,MAAM,CAAQ;QACd,sBAAiB,GAAjB,iBAAiB,CAA4B;IAC/D,CAAC;IAEJ,WAAW,CACP,QAA2B,EAC3B,UAAoB,EACpB,UAA+B,EAC/B,YAAmC,EACnC,OAA+B,EAC/B,IAA4B;QAE5B,MAAM,SAAS,GAAsB;YACjC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;YACpB,QAAQ;YACR,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE;gBACJ,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,YAAY;aACvB;YACD,UAAU,EAAE,OAAO,EAAE,UAAU;YAC/B,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAC/B,IAAI;SACP,CAAA;QAED,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;IAChC,CAAC;IAED,eAAe,CACX,QAA2B,EAC3B,cAAsB,EACtB,UAAgC,EAChC,UAA+B,EAC/B,YAAmC,EACnC,OAA+B,EAC/B,IAA4B;QAE5B,MAAM,SAAS,GAAsB;YACjC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;YACpB,QAAQ;YACR,QAAQ,EAAE,UAAU;YACpB,UAAU,EAAE,cAAc;YAC1B,MAAM,EAAE;gBACJ,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,YAAY;aACvB;YACD,UAAU,EAAE,OAAO,EAAE,UAAU;YAC/B,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAC/B,IAAI;SACP,CAAA;QAED,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;IAChC,CAAC;IAED,eAAe,CACX,UAA+B,EAC/B,YAAmC,EACnC,OAAmB,EACnB,IAAgC;QAEhC,MAAM,SAAS,GAA0B;YACrC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;YACpB,QAAQ,EAAE,8BAAiB,CAAC,YAAY;YACxC,MAAM,EAAE;gBACJ,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,YAAY;aACvB;YACD,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAC/B,IAAI;SACP,CAAA;QAED,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;IAChC,CAAC;IAED,OAAO,CACH,UAA+B,EAC/B,YAAmC,EACnC,cAAsB,EACtB,OAAmB,EACnB,IAAwB;QAExB,MAAM,SAAS,GAAkB;YAC7B,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;YACpB,QAAQ,EAAE,8BAAiB,CAAC,KAAK;YACjC,MAAM,EAAE;gBACJ,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,YAAY;aACvB;YACD,UAAU,EAAE,cAAc;YAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAC/B,IAAI;SACP,CAAA;QAED,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;IAChC,CAAC;IAED,OAAO,CACH,UAA+B,EAC/B,YAAmC,EACnC,cAAsB,EACtB,OAAmB,EACnB,IAA8B;QAE9B,MAAM,SAAS,GAAkB;YAC7B,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;YACpB,QAAQ,EAAE,8BAAiB,CAAC,IAAI;YAChC,MAAM,EAAE;gBACJ,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,YAAY;aACvB;YACD,UAAU,EAAE,cAAc;YAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAC/B,IAAI;SACP,CAAA;QAED,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;IAChC,CAAC;IAED,GAAG,CAAC,QAAgB,EAAE,UAAkB,EAAE,YAAoB,EAAE,IAA8B;QAC1F,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAA;QACjD,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAA;YAE9D,OAAM;QACV,CAAC;QAED,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;QACpC,MAAM,SAAS,GAAqB;YAChC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;YACpB,QAAQ;YACR,MAAM,EAAE;gBACJ,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,YAAY;aACvB;YACD,UAAU,EAAE,OAAO,EAAE,UAAU;YAC/B,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAC/B,IAAI;SACP,CAAA;QACD,IAAI,cAAM,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,SAAS,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAA;QAClD,CAAC;QAED,IAAI,cAAM,CAAC,wBAAwB,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3C,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAA;YAElE,SAAS,CAAC,QAAQ,GAAG,UAAU,CAAA;YAC/B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACR,IAAI,GAAG,EAAE,CAAA;YACb,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,GAAG,YAAY,CAAA;YAC9B,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACd,IAAI,CAAC,KAAK,GAAG,WAAW,CAAA;YAC5B,CAAC;QACL,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,CAAC,CAAA;IAChD,CAAC;IAEO,OAAO;QACX,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IACnC,CAAC;IAEO,SAAS,CAAC,OAAoB;QAClC,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAM;QACV,CAAC;QAED,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,OAAO,CAAA;QAE5D,OAAO;YACH,UAAU,EAAE,SAAS;YACrB,QAAQ,EAAE;gBACN,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,eAAe;aAC3B;SACJ,CAAA;IACL,CAAC;IAEO,YAAY,CAAC,SAAoB;QACrC,MAAM,GAAG,GAAiB,EAAE,SAAS,EAAE,CAAA;QAEvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAA;IACtC,CAAC;CACJ;AAhMD,4CAgMC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./analytics"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B"}
@@ -0,0 +1,4 @@
1
+ export * from './interfaces';
2
+ export * from './services';
3
+ export * from './utils';
4
+ export * from './mocks';
@@ -0,0 +1,23 @@
1
+ export declare enum AnalyticsActionResult {
2
+ Error = "error",
3
+ Success = "success",
4
+ NotFound = "notFound",
5
+ NoPhoto = "noPhoto",
6
+ NeedVerification = "needVerification",
7
+ Confirming = "confirming",
8
+ NotConfirmed = "notConfirmed",
9
+ Declined = "declined",
10
+ Inactive = "inactive",
11
+ UnavailableLegalReasons = "unavailableLegalReasons",
12
+ Booked = "booked",
13
+ NotBooked = "notBooked",
14
+ Allowed = "allowed",
15
+ NotAllowed = "notAllowed",
16
+ Prepared = "prepared",
17
+ NotPrepared = "notPrepared",
18
+ Delivered = "delivered",
19
+ NotDelivered = "notDelivered",
20
+ Available = "available",
21
+ NotAvailable = "notAvailable",
22
+ NewUser = "newUser"
23
+ }
@@ -0,0 +1,21 @@
1
+ export declare enum AnalyticsActionType {
2
+ AddBranch = "addBranch",
3
+ UpdateBranch = "updateBranch",
4
+ RemoveBranch = "removeBranch",
5
+ AddOffer = "addOffer",
6
+ RemoveOffer = "removeOffer",
7
+ Booking = "booking",
8
+ Permission = "permission",
9
+ Preparation = "preparation",
10
+ Delivery = "delivery",
11
+ Push = "push",
12
+ AddAppVersion = "addAppVersion",
13
+ RemoveAppVersion = "removeAppVersion",
14
+ AppStatus = "appStatus",
15
+ Attestation = "attestation",
16
+ Validation = "validation",
17
+ Check = "check",
18
+ GetGroups = "getGroups",
19
+ SignUp = "signUp",
20
+ SignOut = "signOut"
21
+ }
@@ -0,0 +1,37 @@
1
+ import { ObjectId } from 'bson';
2
+ import { AnalyticsActionResult } from './actionResult';
3
+ import { AnalyticsActionType } from './actionType';
4
+ import { AnalyticsCategory } from './categories';
5
+ import { AcquirerAnalyticsData, NotificationAnalyticsData, UserAnalyticsData } from './data';
6
+ import { AnalyticsDevice } from './device';
7
+ interface BaseAnalytics {
8
+ date: string;
9
+ category: AnalyticsCategory;
10
+ action: {
11
+ type: AnalyticsActionType;
12
+ result: AnalyticsActionResult;
13
+ };
14
+ appVersion?: string;
15
+ device?: AnalyticsDevice;
16
+ }
17
+ export interface AcquirerAnalytics extends BaseAnalytics {
18
+ acquirer?: ObjectId;
19
+ identifier?: string;
20
+ data?: AcquirerAnalyticsData;
21
+ }
22
+ export interface NotificationAnalytics extends BaseAnalytics {
23
+ data?: NotificationAnalyticsData;
24
+ }
25
+ export interface UserAnalytics extends BaseAnalytics {
26
+ identifier: string;
27
+ data?: UserAnalyticsData;
28
+ }
29
+ export interface AuthAnalytics extends BaseAnalytics {
30
+ identifier: string;
31
+ data?: Record<string, unknown>;
32
+ }
33
+ export type Analytics = AcquirerAnalytics | NotificationAnalytics | UserAnalytics | AuthAnalytics;
34
+ export interface AnalyticsLog {
35
+ analytics: Analytics;
36
+ }
37
+ export {};
@@ -0,0 +1,8 @@
1
+ export declare enum AnalyticsCategory {
2
+ Acquirers = "acquirers",
3
+ AcquirersRequest = "acquirersRequest",
4
+ Notification = "notification",
5
+ Users = "users",
6
+ Auth = "auth",
7
+ Vaccination = "vaccination"
8
+ }
@@ -0,0 +1,25 @@
1
+ export interface AcquirerAnalyticsPackageItem {
2
+ scope: string;
3
+ document: string;
4
+ }
5
+ export interface AcquirerAnalyticsData {
6
+ branch?: string;
7
+ branchScopes?: Record<string, unknown>;
8
+ offer?: string;
9
+ scopeType?: string;
10
+ offerScopes?: Record<string, unknown>;
11
+ request?: string;
12
+ scopeList?: Record<string, unknown>;
13
+ scopes?: Record<string, unknown> | unknown[];
14
+ reason?: string;
15
+ package?: AcquirerAnalyticsPackageItem[];
16
+ offerRequestType?: string;
17
+ deliveryTypes?: string[];
18
+ }
19
+ export interface UserAnalyticsData {
20
+ lastActivityDate: string;
21
+ lastDocumentUpdate: string;
22
+ }
23
+ export interface NotificationAnalyticsData {
24
+ reason: string;
25
+ }
@@ -0,0 +1,8 @@
1
+ import { PlatformType } from '@diia-inhouse/types';
2
+ export interface AnalyticsDevice {
3
+ identifier?: string;
4
+ platform: {
5
+ type?: PlatformType;
6
+ version?: string;
7
+ };
8
+ }
@@ -0,0 +1,8 @@
1
+ export * from './actionResult';
2
+ export * from './actionType';
3
+ export * from './analytics';
4
+ export * from './categories';
5
+ export * from './data';
6
+ export * from './device';
7
+ export * from './nextGenAnalytics';
8
+ export * from './rating';
@@ -0,0 +1,14 @@
1
+ import { AnalyticsDevice } from './device';
2
+ export interface NextGenAnalytics {
3
+ date: string;
4
+ category: string;
5
+ action: {
6
+ type: string;
7
+ result: string;
8
+ };
9
+ identifier?: string;
10
+ acquirer?: string;
11
+ appVersion?: string;
12
+ device?: AnalyticsDevice;
13
+ data?: Record<string, unknown>;
14
+ }