awing-library 2.1.130-beta → 2.1.132-beta

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.
@@ -25,7 +25,6 @@ export declare const markBillingType: (subCampaigns: CampaignGroupModel[], data:
25
25
  export declare function convertToShowDetail(subCampaigns: CampaignGroupModel[], data: IAnalyticCampaignSummary[], selectedDomains: any[], selectedPlaces: any[]): any[];
26
26
  export declare function dataGroupByTimeline(place: any, data: any, timelineType: any): any[][];
27
27
  export declare function dataGroupByPlace(subCampaigns: CampaignGroupModel[], ids: any): any[];
28
- export declare const sumEvent: (data: IAnalyticEventSummary[] | undefined, eventLabel: string) => number;
29
28
  export declare const convertToChartData: (data: IAnalyticCampaignSummary[], campaignGroups: CampaignGroupModel[]) => ({
30
29
  label: string;
31
30
  type: string;
@@ -46,7 +46,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
46
46
  return (mod && mod.__esModule) ? mod : { "default": mod };
47
47
  };
48
48
  Object.defineProperty(exports, "__esModule", { value: true });
49
- exports.groupBy = exports.convertToChartData = exports.sumEvent = exports.dataGroupByPlace = exports.dataGroupByTimeline = exports.convertToShowDetail = exports.markBillingType = exports.placesToDomains = exports.convertToExport = exports.convertToExportData = exports.convertToExportDataGroupBy = void 0;
49
+ exports.groupBy = exports.convertToChartData = exports.dataGroupByPlace = exports.dataGroupByTimeline = exports.convertToShowDetail = exports.markBillingType = exports.placesToDomains = exports.convertToExport = exports.convertToExportData = exports.convertToExportDataGroupBy = void 0;
50
50
  var Enum_1 = require("../../../../../ACM-AXN/Campaign/Enum");
51
51
  var Helpers_1 = require("../../../../../Utils/Helpers");
52
52
  var lodash_1 = __importStar(require("lodash"));
@@ -198,7 +198,6 @@ function convertToShowDetail(subCampaigns, data, selectedDomains, selectedPlaces
198
198
  var result = [];
199
199
  subCampaigns.forEach(function (sub) {
200
200
  var _a;
201
- console.log("sub", sub);
202
201
  (_a = sub === null || sub === void 0 ? void 0 : sub.ads) === null || _a === void 0 ? void 0 : _a.forEach(function (ad) {
203
202
  var _a, _b;
204
203
  var adPlaces = ((_a = ad === null || ad === void 0 ? void 0 : ad.places) === null || _a === void 0 ? void 0 : _a.concat(((_b = ad === null || ad === void 0 ? void 0 : ad.deletedPlaces) === null || _b === void 0 ? void 0 : _b.map(function (item) { return (__assign(__assign({}, item), { isDeleted: true })); })) || [])) || [];
@@ -217,7 +216,7 @@ function convertToShowDetail(subCampaigns, data, selectedDomains, selectedPlaces
217
216
  var _a;
218
217
  var event = (_a = d.analyticEventSummaries) === null || _a === void 0 ? void 0 : _a.find(function (_a) {
219
218
  var eventLabel = _a.eventLabel;
220
- return eventLabel === Enum_1.BaseEvent[sub.campaignGroup.billingUnit];
219
+ return (eventLabel === Enum_1.BaseEvent[sub.campaignGroup.billingUnit]);
221
220
  });
222
221
  return sum + ((event === null || event === void 0 ? void 0 : event.total) || 0);
223
222
  }, 0);
@@ -297,11 +296,6 @@ function dataGroupByPlace(subCampaigns, ids) {
297
296
  .value();
298
297
  }
299
298
  exports.dataGroupByPlace = dataGroupByPlace;
300
- var sumEvent = function (data, eventLabel) {
301
- if (data === void 0) { data = []; }
302
- return (0, lodash_1.sumBy)(data, function (y) { return (y.total && y.eventLabel === eventLabel) ? y.total : 0; });
303
- };
304
- exports.sumEvent = sumEvent;
305
299
  var convertToChartData = function (data, campaignGroups) {
306
300
  var _a;
307
301
  var convertData = Object.assign.apply(Object, __spreadArray([{}], [Enum_1.BaseEvent[Enum_2.AnalyticType.VIEW], Enum_1.BaseEvent[Enum_2.AnalyticType.CLICK], 'Spot', 'Engagement'].map(function (x) {
@@ -310,12 +304,16 @@ var convertToChartData = function (data, campaignGroups) {
310
304
  }), false));
311
305
  var startDate = Number.MAX_SAFE_INTEGER;
312
306
  var endDate = 0;
313
- data.forEach(function (x, index) {
307
+ data.forEach(function (x) {
308
+ var _a;
314
309
  startDate = Math.min(startDate, Number(x.timeline));
315
310
  endDate = Math.max(endDate, Number(x.timeline));
316
- var billingUnit = (0, lodash_1.get)(campaignGroups, [x.campaignGroupId - 1]).campaignGroup.billingUnit;
311
+ var subCampaign = campaignGroups.find(function (c) { return c.campaignGroup.id === x.campaignGroupId; });
312
+ if (!subCampaign)
313
+ return;
314
+ var billingUnit = subCampaign.campaignGroup.billingUnit;
317
315
  var hasAuthen = billingUnit === Enum_2.AnalyticType.AUTHENTICATION;
318
- var isSpot = hasAuthen && (0, lodash_1.get)(campaignGroups, [x.campaignGroupId - 1, 'ads', x.campaignAdId - 1]).type === Enum_1.AdType.VIDEO;
316
+ var isSpot = hasAuthen && ((_a = subCampaign.ads.find(function (s) { return s.id === x.campaignAdId; })) === null || _a === void 0 ? void 0 : _a.type) === Enum_1.AdType.VIDEO;
319
317
  var timeline = x.timeline.toString();
320
318
  x.analyticEventSummaries.forEach(function (event) {
321
319
  var _a;
@@ -47,12 +47,12 @@ var AnalyticContainer = function (props) {
47
47
  }, [subCampaigns]);
48
48
  var filterPlaces = function (ids) {
49
49
  var result = [];
50
- subCampaigns.map(function (sub) {
50
+ subCampaigns.forEach(function (sub) {
51
51
  var _a;
52
- (_a = sub === null || sub === void 0 ? void 0 : sub.ads) === null || _a === void 0 ? void 0 : _a.map(function (ad) {
52
+ (_a = sub === null || sub === void 0 ? void 0 : sub.ads) === null || _a === void 0 ? void 0 : _a.forEach(function (ad) {
53
53
  var _a;
54
54
  if (ids.find(function (id) { var _a; return id.campaignGroupId == ((_a = sub === null || sub === void 0 ? void 0 : sub.campaignGroup) === null || _a === void 0 ? void 0 : _a.id) && (!id.campaignAdId || id.campaignAdId == (ad === null || ad === void 0 ? void 0 : ad.id)); })) {
55
- (_a = ad === null || ad === void 0 ? void 0 : ad.places) === null || _a === void 0 ? void 0 : _a.map(function (place) {
55
+ (_a = ad === null || ad === void 0 ? void 0 : ad.places) === null || _a === void 0 ? void 0 : _a.forEach(function (place) {
56
56
  if (!result.find(function (r) { return r.placeId == place.placeId; })) {
57
57
  result.push(place);
58
58
  }
@@ -74,7 +74,7 @@ var AnalyticContainer = function (props) {
74
74
  startDate: (0, moment_1.default)(time.startDate).format(Enum_1.DATE_FORMAT),
75
75
  endDate: (0, moment_1.default)(time.endDate).format(Enum_1.DATE_FORMAT),
76
76
  timelineType: timelineType,
77
- campaignAdGroups: ids.map(function (id) { return (__assign(__assign({}, id), { campaignId: campaignId })); }),
77
+ campaignAdGroups: ids.length ? ids.map(function (id) { return (__assign(__assign({}, id), { campaignId: campaignId })); }) : [{ campaignId: campaignId }],
78
78
  placeIds: placeIds,
79
79
  includedEventLabels: Object.values(Enum_1.BaseEvent)
80
80
  }).then(function (res) {
@@ -1,2 +1,7 @@
1
- import { AnalyticEventModelResponse, IAnalyticCampaignSummary } from '../Types';
1
+ import { CampaignAd } from '../../../../../ACM-AXN/Campaign/Types';
2
+ import { AnalyticEvent, AnalyticEventModelResponse, IAnalyticCampaignSummary } from '../Types';
2
3
  export declare const convertEventData: (data: IAnalyticCampaignSummary[]) => AnalyticEventModelResponse[];
4
+ export declare function convertToExportData(data: AnalyticEvent[], places: NonNullable<CampaignAd['places']>): {
5
+ columns: string[];
6
+ data: string[][];
7
+ }[];
@@ -1,7 +1,51 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
37
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
38
+ if (ar || !(i in from)) {
39
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
40
+ ar[i] = from[i];
41
+ }
42
+ }
43
+ return to.concat(ar || Array.prototype.slice.call(from));
44
+ };
2
45
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.convertEventData = void 0;
4
- var lodash_1 = require("lodash");
46
+ exports.convertToExportData = exports.convertEventData = void 0;
47
+ var Helpers_1 = require("../../../../../Utils/Helpers");
48
+ var lodash_1 = __importStar(require("lodash"));
5
49
  var Utils_1 = require("../Utils");
6
50
  var convertEventData = function (data) { return (0, lodash_1.uniqBy)(data.map(function (el) {
7
51
  return el.analyticEventSummaries.map(function (x, index, events) { return ({
@@ -16,3 +60,42 @@ var convertEventData = function (data) { return (0, lodash_1.uniqBy)(data.map(fu
16
60
  }); });
17
61
  }).flat(), "eventLabel"); };
18
62
  exports.convertEventData = convertEventData;
63
+ function convertToExportData(data, places) {
64
+ var headCell = new Set(['Place', 'Mac Address', 'Created date', 'View Number', 'Event label']);
65
+ var exportData = [];
66
+ (0, lodash_1.default)(data).groupBy('id')
67
+ .map(function (value, key) {
68
+ var events = value.map(function (v) { return v.events; }).flat().filter(function (e) { return e.viewNumber; });
69
+ Object.keys(Object.assign.apply(Object, __spreadArray([{}], events.map(function (e) { return (0, Helpers_1.parseJSON)(e.eventObject); }), false))).forEach(headCell.add, headCell);
70
+ return events.map(function (e) { return (__assign(__assign({}, e), { analyticId: key })); });
71
+ })
72
+ .flatten()
73
+ .value()
74
+ .forEach(function (el) {
75
+ var columns = Array.from(headCell);
76
+ var analytic = data.find(function (x) { return String(x.id) === el.analyticId; });
77
+ var place = places.find(function (x) { return x.placeId === (analytic === null || analytic === void 0 ? void 0 : analytic.placeId); });
78
+ var rowData = el.viewNumber !== 1 ? Array(3).fill('') : [
79
+ place ? place.name : analytic === null || analytic === void 0 ? void 0 : analytic.placeId,
80
+ analytic === null || analytic === void 0 ? void 0 : analytic.macAddress,
81
+ (0, Helpers_1.dateTimeToString)((0, Helpers_1.convertTimestampToDateTime)(analytic.createdDate), 'DD/MM/YYYY, HH'),
82
+ ];
83
+ rowData.push(el.viewNumber.toString(), el.eventLabel);
84
+ columns.forEach(function (c, idx) {
85
+ if (idx > 4) {
86
+ var row = (0, Helpers_1.parseJSON)(el.eventObject)[c];
87
+ rowData.push(row ? typeof row === 'string'
88
+ ? row
89
+ : JSON.stringify(row) : '');
90
+ }
91
+ });
92
+ exportData.push(rowData);
93
+ });
94
+ return [
95
+ {
96
+ columns: Array.from(headCell),
97
+ data: exportData,
98
+ },
99
+ ];
100
+ }
101
+ exports.convertToExportData = convertToExportData;
@@ -38,14 +38,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
38
38
  };
39
39
  Object.defineProperty(exports, "__esModule", { value: true });
40
40
  var jsx_runtime_1 = require("react/jsx-runtime");
41
- var react_1 = __importStar(require("react"));
42
- var component_1 = __importDefault(require("./component"));
43
- var Helpers_1 = require("../../../../../Utils/Helpers");
44
- var Context_1 = __importDefault(require("../Context"));
45
- var moment_1 = __importDefault(require("moment"));
46
41
  var Enum_1 = require("../../../../../ACM-AXN/Campaign/Enum");
42
+ var exportFile_1 = require("../../../../../ACM-AXN/CampaignSchedule/exportFile");
47
43
  var Enum_2 = require("../../../../../ACM-AXN/Common/Enum");
44
+ var moment_1 = __importDefault(require("moment"));
45
+ var react_1 = __importStar(require("react"));
46
+ var Context_1 = __importDefault(require("../Context"));
48
47
  var Util_1 = require("./Util");
48
+ var component_1 = __importDefault(require("./component"));
49
49
  var EventContainer = function (props) {
50
50
  var campaignId = props.campaignId, startDate = props.startDate, endDate = props.endDate, subCampaigns = props.subCampaigns, domains = props.domains;
51
51
  var client = (0, Context_1.default)().services;
@@ -68,92 +68,44 @@ var EventContainer = function (props) {
68
68
  }, [subCampaigns]);
69
69
  var getEventData = function (time, placeIds, ids) {
70
70
  setIsLoading(true);
71
- client.campaignStatisticGet({
71
+ client
72
+ .campaignStatisticGet({
72
73
  startDate: (0, moment_1.default)(time.startDate).format(Enum_1.DATE_FORMAT),
73
74
  endDate: (0, moment_1.default)(time.endDate).format(Enum_1.DATE_FORMAT),
74
75
  timelineType: Enum_2.TimelineType.Day,
75
- campaignAdGroups: [__assign({ campaignId: "5344841815813731135" }, ids)],
76
+ campaignAdGroups: [
77
+ __assign({ campaignId: campaignId }, ids),
78
+ ],
76
79
  analyticGroupBies: [
77
80
  Enum_2.AnalyticGroupBy.GbEventLabel,
78
81
  Enum_2.AnalyticGroupBy.GbTimeline,
79
82
  ],
80
83
  ignoredEventLabels: Object.values(Enum_1.BaseEvent),
81
84
  placeIds: placeIds,
82
- }).then(function (res) { return setEventData((0, Util_1.convertEventData)(res)); }).finally(function () { return setIsLoading(false); });
83
- // client
84
- // .statisticCampaignGetAnalyticEvent({
85
- // startDate: time.startDate.toDateString(),
86
- // endDate: time.endDate.toDateString(),
87
- // campaignAdGroups: [{ campaignId, ...ids }],
88
- // placeIds,
89
- // } as any)
90
- // .then(setEventData)
91
- // .finally(() => setIsLoading(false))
85
+ })
86
+ .then(function (res) { return setEventData((0, Util_1.convertEventData)(res)); })
87
+ .finally(function () { return setIsLoading(false); });
92
88
  };
93
89
  var exportData = function (time, placeIds, ids) {
94
90
  var places = placesOfCampaign.filter(function (p) {
95
91
  return placeIds.includes(p.placeId);
96
92
  });
97
- client.campaignStatisticGetEvents({
93
+ client
94
+ .campaignStatisticGetEvents({
98
95
  startDate: (0, moment_1.default)(time.startDate).format(Enum_1.DATE_FORMAT),
99
96
  endDate: (0, moment_1.default)(time.endDate).format(Enum_1.DATE_FORMAT),
100
97
  timelineType: Enum_2.TimelineType.Day,
101
- campaignAdGroups: [__assign({ campaignId: "5344841815813731135" }, ids)],
98
+ campaignAdGroups: [
99
+ __assign({ campaignId: campaignId }, ids),
100
+ ],
102
101
  analyticGroupBies: Object.values(Enum_2.AnalyticGroupBy).filter(function (g) { return !isNaN(Number(g)); }),
103
102
  ignoredEventLabels: Object.values(Enum_1.BaseEvent),
104
103
  placeIds: placeIds,
104
+ })
105
+ .then(function (res) {
106
+ (0, exportFile_1.downloadWithDataSet)("export_analytic_event_campaign_".concat(campaignId), (0, Util_1.convertToExportData)(res, places));
105
107
  });
106
- // client
107
- // .statisticCampaignGetEvents({
108
- // startDate: time.startDate.toDateString(),
109
- // endDate: time.endDate.toDateString(),
110
- // campaignAdGroups: [{ campaignId, ...ids }],
111
- // placeIds,
112
- // } as any)
113
- // .then((responses) => {
114
- // // if (responses.data.status === STATUS_CODE.OK) {
115
- // downloadWithDataSet(
116
- // `export_analytic_event_campaign_${campaignId}`,
117
- // convertToExportData(responses, places)
118
- // )
119
- // })
120
108
  };
121
- function convertToExportData(data, places) {
122
- var columns = ['Place', 'Mac Address', 'Created date', 'Event label'];
123
- var exportData = [];
124
- data === null || data === void 0 ? void 0 : data.forEach(function (el) {
125
- var place = places.find(function (x) { return x.placeId === el.placeId; });
126
- var rowData = [
127
- place ? place.name : el.placeId,
128
- el.macAddress,
129
- (0, Helpers_1.dateTimeToString)((0, Helpers_1.convertTimestampToDateTime)(el.createdDate), 'DD/MM/YYYY, HH'),
130
- el.eventLabel,
131
- ];
132
- var eventObject = JSON.parse(el.eventObject);
133
- var keyNames = Object.keys(eventObject);
134
- var _loop_1 = function (i) {
135
- if (!columns.some(function (x) { return x === keyNames[i]; })) {
136
- columns.push(keyNames[i]);
137
- }
138
- };
139
- for (var i = 0; i < keyNames.length; i++) {
140
- _loop_1(i);
141
- }
142
- for (var i = 4; i < columns.length; i++) {
143
- var dataObj = eventObject[columns[i]];
144
- rowData.push(typeof dataObj === 'string'
145
- ? dataObj
146
- : JSON.stringify(dataObj));
147
- }
148
- exportData.push(rowData);
149
- });
150
- return [
151
- {
152
- columns: columns,
153
- data: exportData,
154
- },
155
- ];
156
- }
157
109
  return ((0, jsx_runtime_1.jsx)(component_1.default, { startDate: startDate, endDate: endDate, subCampaigns: subCampaigns, isLoading: isLoading, eventData: eventData, getEventData: getEventData, exportData: exportData, domains: domains }));
158
110
  };
159
111
  exports.default = EventContainer;
@@ -34,19 +34,27 @@ export interface AnalyticEventModelResponse {
34
34
  timeline: number;
35
35
  total: number;
36
36
  }
37
- export interface AnalyticEvent {
37
+ export interface IEvent {
38
38
  eventLabel: string;
39
39
  eventObject: string;
40
+ viewNumber: number;
41
+ createdDate: Timestamp;
42
+ }
43
+ export interface AnalyticEvent {
44
+ id: number;
45
+ sessionId: string;
40
46
  placeId: string;
41
47
  domainId: string;
42
- pageId: string;
43
48
  campaignId: string;
44
49
  campaignGroupId: number;
50
+ campaignAdId: number;
45
51
  macAddress: string;
46
52
  apMac: string;
47
- sessionId: string;
53
+ isNetwork: boolean;
54
+ url: string;
55
+ userAgent: string;
56
+ events: IEvent[];
48
57
  createdDate: Timestamp;
49
- campaignAdId: number;
50
58
  }
51
59
  export interface IDomain {
52
60
  domainId?: string;
@@ -37,12 +37,9 @@ var component_1 = __importDefault(require("./component"));
37
37
  var AWING_1 = require("../../../../AWING");
38
38
  var Context_1 = __importStar(require("./Context"));
39
39
  var Hooks_1 = require("../../../../AWING/Hooks");
40
- var fakeCampaignData_json_1 = __importDefault(require("./fakeCampaignData.json"));
41
40
  exports.tabs = { ANALYTIC: 0, EVENT: 1, CUSTOMER: 2 };
42
41
  function TabStatisticsContainer() {
43
- var _a = (0, Context_1.default)(), client = _a.services, xxy = _a.campaignId, xxx = _a.subCampaigns, isNetwork = _a.isNetwork;
44
- var campaignId = fakeCampaignData_json_1.default.campaign.id;
45
- var subCampaigns = fakeCampaignData_json_1.default.campaignGroups;
42
+ var _a = (0, Context_1.default)(), client = _a.services, campaignId = _a.campaignId, subCampaigns = _a.subCampaigns, isNetwork = _a.isNetwork;
46
43
  var _b = (0, react_1.useState)(exports.tabs.ANALYTIC), tabIndex = _b[0], setTabIndex = _b[1];
47
44
  var time = (0, react_1.useMemo)(function () { return (0, Utils_1.getTime)(subCampaigns); }, [subCampaigns]);
48
45
  var tabPanel = function () {
@@ -39,7 +39,7 @@ exports.QueryInputDetail = {
39
39
  };
40
40
  exports.DefaultValueFilter = {
41
41
  startDate: (0, moment_1.default)().subtract(7, 'days'),
42
- endDate: (0, moment_1.default)(),
42
+ endDate: (0, moment_1.default)().add(-1, 'days'),
43
43
  campaignId: '0',
44
44
  };
45
45
  var convertExcelData = function (resData, campaigns, places, t, typeView) {
@@ -112,3 +112,4 @@ export declare function fillMissingDates(data: Array<{
112
112
  x: string;
113
113
  y: number;
114
114
  }[];
115
+ export declare function parseJSON(str: string): any;
@@ -23,7 +23,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
23
23
  return (mod && mod.__esModule) ? mod : { "default": mod };
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.fillMissingDates = exports.setObject = exports.formatChartNumber = exports.updateObjectFields = exports.validateNumber = exports.getToday = exports.convertDataSetPattern = exports.convertAnalyticModelToChartDataAdvance = exports.getStartOfDay = exports.timestampToStringDDMMYYYY = exports.dateToStringDDMMYYYY = exports.convertTimelineToDateTime = exports.dateTimeToString = exports.convertTimestampToDateTime = exports.convertDateTimeToTimestamp = exports.checkValidUrl = exports.validateAnalyticTypes = exports.stringToListAccessPoint = exports.checkValidMacAddress = exports.checkValidStringListAP = exports.convertTimeLine = exports.WMAPEcalculator = exports.roundDecimalNumber = exports.convertArrayToObject = exports.offlinePaginate = exports.changeToAlias = exports.calculatorDirectoryIdRoot = exports.getRoutePath = exports.timestampToStringDDMMYYYYHHmm = exports.dateToStringddddDDMMYYYYHHmm = exports.downloadZipFile = exports.downloadFilePattern = exports.generateUUID = exports.displayLongString = exports.getQueryVariable = exports.formatNumber = exports.dateToString = exports.getCookie = exports.TIMELINE_TYPE = void 0;
26
+ exports.parseJSON = exports.fillMissingDates = exports.setObject = exports.formatChartNumber = exports.updateObjectFields = exports.validateNumber = exports.getToday = exports.convertDataSetPattern = exports.convertAnalyticModelToChartDataAdvance = exports.getStartOfDay = exports.timestampToStringDDMMYYYY = exports.dateToStringDDMMYYYY = exports.convertTimelineToDateTime = exports.dateTimeToString = exports.convertTimestampToDateTime = exports.convertDateTimeToTimestamp = exports.checkValidUrl = exports.validateAnalyticTypes = exports.stringToListAccessPoint = exports.checkValidMacAddress = exports.checkValidStringListAP = exports.convertTimeLine = exports.WMAPEcalculator = exports.roundDecimalNumber = exports.convertArrayToObject = exports.offlinePaginate = exports.changeToAlias = exports.calculatorDirectoryIdRoot = exports.getRoutePath = exports.timestampToStringDDMMYYYYHHmm = exports.dateToStringddddDDMMYYYYHHmm = exports.downloadZipFile = exports.downloadFilePattern = exports.generateUUID = exports.displayLongString = exports.getQueryVariable = exports.formatNumber = exports.dateToString = exports.getCookie = exports.TIMELINE_TYPE = void 0;
27
27
  var moment_1 = __importDefault(require("moment"));
28
28
  var i18n_1 = __importDefault(require("../i18n"));
29
29
  var helper_1 = require("../AWING/helper");
@@ -563,3 +563,12 @@ function fillMissingDates(data, startDate, endDate, format) {
563
563
  return (0, lodash_1.orderBy)(result, ['x'], ['asc']);
564
564
  }
565
565
  exports.fillMissingDates = fillMissingDates;
566
+ function parseJSON(str) {
567
+ try {
568
+ return JSON.parse(str || "{}");
569
+ }
570
+ catch (e) {
571
+ return str;
572
+ }
573
+ }
574
+ exports.parseJSON = parseJSON;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "awing-library",
3
- "version": "2.1.130-beta",
3
+ "version": "2.1.132-beta",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -1,397 +0,0 @@
1
- {
2
- "campaign": {
3
- "id": "5344841815813731135",
4
- "directoryId": "5",
5
- "directoryPath": ".0.5.5344841815813731135.",
6
- "name": "D-TES-362",
7
- "createdDate": {
8
- "seconds": "1715826943",
9
- "nanos": 0
10
- }
11
- },
12
- "campaignGroups": [
13
- {
14
- "campaignGroup": {
15
- "numberHasRun": 0,
16
- "id": 1,
17
- "campaignId": "5344841815813731135",
18
- "name": "Sub-Campaign 1",
19
- "ticket": 1,
20
- "priority": 1,
21
- "bookingAmount": 10,
22
- "bonusAmount": 0,
23
- "isReserved": false,
24
- "billingUnit": 1
25
- },
26
- "ads": [
27
- {
28
- "loginPage": {
29
- "pageId": "5597952621104150331",
30
- "directoryId": "12",
31
- "pageCode": "lgn",
32
- "title": "Mediacom_Nutriboost_T5/24_Banner 1",
33
- "layoutId": "0",
34
- "transitionId": 0,
35
- "commonHtml": "",
36
- "directoryPath": ".0.6.12.5597952621104150331.",
37
- "createdDate": {
38
- "seconds": "1715253305",
39
- "nanos": 0
40
- }
41
- },
42
- "welcomePage": {
43
- "pageId": "4920522790503873987",
44
- "directoryId": "11",
45
- "pageCode": "wlc",
46
- "title": "Trí Khang_Marial Gel_T5/24",
47
- "layoutId": "0",
48
- "transitionId": 0,
49
- "commonHtml": "",
50
- "directoryPath": ".0.6.11.4920522790503873987.",
51
- "createdDate": {
52
- "seconds": "1715161995",
53
- "nanos": 0
54
- }
55
- },
56
- "places": [
57
- {
58
- "placeId": "5504693026866563256",
59
- "domainId": "4913100144472996590",
60
- "name": "AWING HEAD OFFICE",
61
- "address": "Hà Nội",
62
- "description": "",
63
- "longitude": 105.82840602165118,
64
- "latitude": 20.99985249638673,
65
- "communeCode": "00352",
66
- "districtCode": "009",
67
- "provinceCode": "01",
68
- "status": 0,
69
- "joinedDate": {
70
- "seconds": "1631777426",
71
- "nanos": 0
72
- }
73
- }
74
- ],
75
- "deletedPlaces": null,
76
- "id": 1,
77
- "campaignId": "5344841815813731135",
78
- "campaignGroupId": 1,
79
- "name": "Ad 1",
80
- "status": true,
81
- "type": 6,
82
- "loginId": "5597952621104150331",
83
- "welcomeId": "4920522790503873987",
84
- "startDate": {
85
- "seconds": "1715792400",
86
- "nanos": 0
87
- },
88
- "endDate": {
89
- "seconds": "1715792400",
90
- "nanos": 0
91
- },
92
- "placeFilter": {
93
- "operandGroups": [
94
- {
95
- "operands": [
96
- {
97
- "type": 2,
98
- "operator": 7,
99
- "value": "[\"4913100144472996590\"]"
100
- },
101
- {
102
- "type": 0,
103
- "operator": 7,
104
- "value": "[\"5504693026866563256\"]"
105
- }
106
- ]
107
- }
108
- ]
109
- },
110
- "weights": [],
111
- "advanced": null
112
- },
113
- {
114
- "loginPage": {
115
- "pageId": "5597952621104150331",
116
- "directoryId": "12",
117
- "pageCode": "lgn",
118
- "title": "Mediacom_Nutriboost_T5/24_Banner",
119
- "layoutId": "0",
120
- "transitionId": 0,
121
- "commonHtml": "",
122
- "directoryPath": ".0.6.12.5597952621104150331.",
123
- "createdDate": {
124
- "seconds": "1715253305",
125
- "nanos": 0
126
- }
127
- },
128
- "welcomePage": {
129
- "pageId": "4920522790503873987",
130
- "directoryId": "11",
131
- "pageCode": "wlc",
132
- "title": "Trí Khang_Marial Gel_T5/24",
133
- "layoutId": "0",
134
- "transitionId": 0,
135
- "commonHtml": "",
136
- "directoryPath": ".0.6.11.4920522790503873987.",
137
- "createdDate": {
138
- "seconds": "1715161995",
139
- "nanos": 0
140
- }
141
- },
142
- "places": [
143
- {
144
- "placeId": "5504693026866563256",
145
- "domainId": "4913100144472996590",
146
- "name": "AWING HEAD OFFICE",
147
- "address": "Hà Nội",
148
- "description": "",
149
- "longitude": 105.82840602165118,
150
- "latitude": 20.99985249638673,
151
- "communeCode": "00352",
152
- "districtCode": "009",
153
- "provinceCode": "01",
154
- "status": 0,
155
- "joinedDate": {
156
- "seconds": "1631777426",
157
- "nanos": 0
158
- }
159
- }
160
- ],
161
- "deletedPlaces": null,
162
- "id": 1,
163
- "campaignId": "5344841815813731135",
164
- "campaignGroupId": 1,
165
- "name": "Ad 2",
166
- "status": true,
167
- "type": 3,
168
- "loginId": "5597952621104150331",
169
- "welcomeId": "4920522790503873987",
170
- "startDate": {
171
- "seconds": "1715792400",
172
- "nanos": 0
173
- },
174
- "endDate": {
175
- "seconds": "1715792400",
176
- "nanos": 0
177
- },
178
- "placeFilter": {
179
- "operandGroups": [
180
- {
181
- "operands": [
182
- {
183
- "type": 2,
184
- "operator": 7,
185
- "value": "[\"4913100144472996590\"]"
186
- },
187
- {
188
- "type": 0,
189
- "operator": 7,
190
- "value": "[\"5504693026866563256\"]"
191
- }
192
- ]
193
- }
194
- ]
195
- },
196
- "weights": [],
197
- "advanced": null
198
- }
199
- ]
200
- },
201
- {
202
- "campaignGroup": {
203
- "numberHasRun": 0,
204
- "id": 2,
205
- "campaignId": "5344841815813731135",
206
- "name": "Sub-Campaign 2",
207
- "ticket": 1,
208
- "priority": 1,
209
- "bookingAmount": 10,
210
- "bonusAmount": 0,
211
- "isReserved": false,
212
- "billingUnit": 0
213
- },
214
- "ads": [
215
- {
216
- "loginPage": {
217
- "pageId": "5597952621104150331",
218
- "directoryId": "12",
219
- "pageCode": "lgn",
220
- "title": "Mediacom_Nutriboost_T5/24_Banner 1",
221
- "layoutId": "0",
222
- "transitionId": 0,
223
- "commonHtml": "",
224
- "directoryPath": ".0.6.12.5597952621104150331.",
225
- "createdDate": {
226
- "seconds": "1715253305",
227
- "nanos": 0
228
- }
229
- },
230
- "welcomePage": {
231
- "pageId": "4920522790503873987",
232
- "directoryId": "11",
233
- "pageCode": "wlc",
234
- "title": "Trí Khang_Marial Gel_T5/24",
235
- "layoutId": "0",
236
- "transitionId": 0,
237
- "commonHtml": "",
238
- "directoryPath": ".0.6.11.4920522790503873987.",
239
- "createdDate": {
240
- "seconds": "1715161995",
241
- "nanos": 0
242
- }
243
- },
244
- "places": [
245
- {
246
- "placeId": "5504693026866563256",
247
- "domainId": "4913100144472996590",
248
- "name": "AWING HEAD OFFICE",
249
- "address": "Hà Nội",
250
- "description": "",
251
- "longitude": 105.82840602165118,
252
- "latitude": 20.99985249638673,
253
- "communeCode": "00352",
254
- "districtCode": "009",
255
- "provinceCode": "01",
256
- "status": 0,
257
- "joinedDate": {
258
- "seconds": "1631777426",
259
- "nanos": 0
260
- }
261
- }
262
- ],
263
- "deletedPlaces": null,
264
- "id": 21,
265
- "campaignId": "5344841815813731135",
266
- "campaignGroupId": 21,
267
- "name": "Ad 21",
268
- "status": true,
269
- "type": 6,
270
- "loginId": "5597952621104150331",
271
- "welcomeId": "4920522790503873987",
272
- "startDate": {
273
- "seconds": "1715792400",
274
- "nanos": 0
275
- },
276
- "endDate": {
277
- "seconds": "1715792400",
278
- "nanos": 0
279
- },
280
- "placeFilter": {
281
- "operandGroups": [
282
- {
283
- "operands": [
284
- {
285
- "type": 2,
286
- "operator": 7,
287
- "value": "[\"4913100144472996590\"]"
288
- },
289
- {
290
- "type": 0,
291
- "operator": 7,
292
- "value": "[\"5504693026866563256\"]"
293
- }
294
- ]
295
- }
296
- ]
297
- },
298
- "weights": [],
299
- "advanced": null
300
- },
301
- {
302
- "loginPage": {
303
- "pageId": "5597952621104150331",
304
- "directoryId": "12",
305
- "pageCode": "lgn",
306
- "title": "Mediacom_Nutriboost_T5/24_Banner",
307
- "layoutId": "0",
308
- "transitionId": 0,
309
- "commonHtml": "",
310
- "directoryPath": ".0.6.12.5597952621104150331.",
311
- "createdDate": {
312
- "seconds": "1715253305",
313
- "nanos": 0
314
- }
315
- },
316
- "welcomePage": {
317
- "pageId": "4920522790503873987",
318
- "directoryId": "11",
319
- "pageCode": "wlc",
320
- "title": "Trí Khang_Marial Gel_T5/24",
321
- "layoutId": "0",
322
- "transitionId": 0,
323
- "commonHtml": "",
324
- "directoryPath": ".0.6.11.4920522790503873987.",
325
- "createdDate": {
326
- "seconds": "1715161995",
327
- "nanos": 0
328
- }
329
- },
330
- "places": [
331
- {
332
- "placeId": "5504693026866563256",
333
- "domainId": "4913100144472996590",
334
- "name": "AWING HEAD OFFICE",
335
- "address": "Hà Nội",
336
- "description": "",
337
- "longitude": 105.82840602165118,
338
- "latitude": 20.99985249638673,
339
- "communeCode": "00352",
340
- "districtCode": "009",
341
- "provinceCode": "01",
342
- "status": 0,
343
- "joinedDate": {
344
- "seconds": "1631777426",
345
- "nanos": 0
346
- }
347
- }
348
- ],
349
- "deletedPlaces": null,
350
- "id": 2,
351
- "campaignId": "5344841815813731135",
352
- "campaignGroupId": 2,
353
- "name": "Ad 212121",
354
- "status": true,
355
- "type": 3,
356
- "loginId": "5597952621104150331",
357
- "welcomeId": "4920522790503873987",
358
- "startDate": {
359
- "seconds": "1715792400",
360
- "nanos": 0
361
- },
362
- "endDate": {
363
- "seconds": "1715792400",
364
- "nanos": 0
365
- },
366
- "placeFilter": {
367
- "operandGroups": [
368
- {
369
- "operands": [
370
- {
371
- "type": 2,
372
- "operator": 7,
373
- "value": "[\"4913100144472996590\"]"
374
- },
375
- {
376
- "type": 0,
377
- "operator": 7,
378
- "value": "[\"5504693026866563256\"]"
379
- }
380
- ]
381
- }
382
- ]
383
- },
384
- "weights": [],
385
- "advanced": null
386
- }
387
- ]
388
- }
389
- ],
390
- "campaignAttributes": [
391
- {
392
- "campaignId": "5344841815813731135",
393
- "attributeId": 1
394
- }
395
- ],
396
- "campaignPartner": null
397
- }
@@ -1,61 +0,0 @@
1
- export declare const dataScheduleCompletionRatesGetFake: {
2
- campaignId: string;
3
- campaignName: string;
4
- placeId: string;
5
- groupId: number;
6
- groupName: string;
7
- isNetWork: boolean;
8
- billingUnit: number;
9
- runs: {
10
- eventLabel: string;
11
- total: number;
12
- }[];
13
- expecteds: {
14
- eventLabel: string;
15
- total: number;
16
- }[];
17
- fromDate: string;
18
- toDate: string;
19
- }[];
20
- export declare const dataScheduleCompletionRatesPagingFake: {
21
- items: {
22
- placeId: string;
23
- groupId: number;
24
- runs: {
25
- eventLabel: string;
26
- total: number;
27
- }[];
28
- expecteds: {
29
- eventLabel: string;
30
- total: number;
31
- }[];
32
- date: string;
33
- }[];
34
- pageCount: number;
35
- totalItemCount: number;
36
- pageNumber: number;
37
- pageSize: number;
38
- hasPreviousPage: boolean;
39
- hasNextPage: boolean;
40
- };
41
- export declare const dataScheduleCompletionRatesPagingPlaceIdFake: {
42
- items: {
43
- placeId: string;
44
- groupId: number;
45
- runs: {
46
- eventLabel: string;
47
- total: number;
48
- }[];
49
- expecteds: {
50
- eventLabel: string;
51
- total: number;
52
- }[];
53
- date: string;
54
- }[];
55
- pageCount: number;
56
- totalItemCount: number;
57
- pageNumber: number;
58
- pageSize: number;
59
- hasPreviousPage: boolean;
60
- hasNextPage: boolean;
61
- };
@@ -1,268 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.dataScheduleCompletionRatesPagingPlaceIdFake = exports.dataScheduleCompletionRatesPagingFake = exports.dataScheduleCompletionRatesGetFake = void 0;
4
- exports.dataScheduleCompletionRatesGetFake = [
5
- {
6
- campaignId: '5193957574369215550',
7
- campaignName: 'Orange_Daiko Yamaha Janus_T4-8/24',
8
- placeId: '0',
9
- groupId: 1,
10
- groupName: '[T4,5] Premium Banner Ceri Thu Ha',
11
- isNetWork: true,
12
- billingUnit: 2,
13
- runs: [
14
- { eventLabel: 'View', total: 1 },
15
- { eventLabel: 'Authentication', total: 2 },
16
- { eventLabel: 'Click', total: 3 },
17
- ],
18
- expecteds: [
19
- { eventLabel: 'View', total: 1 },
20
- { eventLabel: 'Authentication', total: 2 },
21
- { eventLabel: 'Click', total: 3 },
22
- ],
23
- fromDate: '2024-04-25T00:00:00+07:00',
24
- toDate: '2024-05-31T00:00:00+07:00',
25
- },
26
- {
27
- campaignId: '5254940703519040748',
28
- campaignName: 'Sacombank_CTKM Visa Daily_T4-5/24',
29
- placeId: '0',
30
- groupId: 1,
31
- groupName: 'Premium',
32
- isNetWork: true,
33
- billingUnit: 1,
34
- runs: [
35
- { eventLabel: 'View', total: 4 },
36
- { eventLabel: 'Authentication', total: 5 },
37
- { eventLabel: 'Click', total: 6 },
38
- ],
39
- expecteds: [
40
- { eventLabel: 'View', total: 4 },
41
- { eventLabel: 'Authentication', total: 5 },
42
- { eventLabel: 'Click', total: 6 },
43
- ],
44
- fromDate: '2024-04-27T00:00:00+07:00',
45
- toDate: '2024-05-31T00:00:00+07:00',
46
- },
47
- {
48
- campaignId: '5309857060135867460',
49
- campaignName: 'IMA_Honda_CBR Promotion_T4-T6/24',
50
- isNetWork: true,
51
- billingUnit: 2,
52
- runs: [
53
- { eventLabel: 'View', total: 7 },
54
- { eventLabel: 'Authentication', total: 8 },
55
- { eventLabel: 'Click', total: 9 },
56
- ],
57
- expecteds: [
58
- { eventLabel: 'View', total: 7 },
59
- { eventLabel: 'Authentication', total: 8 },
60
- { eventLabel: 'Click', total: 9 },
61
- ],
62
- placeId: '0',
63
- groupId: 1,
64
- groupName: 'Premium',
65
- fromDate: '2024-04-15T00:00:00+07:00',
66
- toDate: '2024-06-25T00:00:00+07:00',
67
- },
68
- ];
69
- exports.dataScheduleCompletionRatesPagingFake = {
70
- items: [
71
- {
72
- placeId: '0',
73
- groupId: 1,
74
- runs: [
75
- { eventLabel: 'View', total: 1 },
76
- { eventLabel: 'Authentication', total: 2 },
77
- { eventLabel: 'Click', total: 3 },
78
- ],
79
- expecteds: [
80
- { eventLabel: 'View', total: 1 },
81
- { eventLabel: 'Authentication', total: 2 },
82
- { eventLabel: 'Click', total: 3 },
83
- ],
84
- date: '2024-05-01T00:00:00+07:00',
85
- },
86
- {
87
- placeId: '0',
88
- groupId: 1,
89
- runs: [
90
- { eventLabel: 'View', total: 9 },
91
- { eventLabel: 'Authentication', total: 5 },
92
- { eventLabel: 'Click', total: 3 },
93
- ],
94
- expecteds: [
95
- { eventLabel: 'View', total: 2 },
96
- { eventLabel: 'Authentication', total: 6 },
97
- { eventLabel: 'Click', total: 3 },
98
- ],
99
- date: '2024-05-02T00:00:00+07:00',
100
- },
101
- {
102
- placeId: '0',
103
- groupId: 1,
104
- runs: [
105
- { eventLabel: 'View', total: 93 },
106
- { eventLabel: 'Authentication', total: 35 },
107
- { eventLabel: 'Click', total: 53 },
108
- ],
109
- expecteds: [
110
- { eventLabel: 'View', total: 24 },
111
- { eventLabel: 'Authentication', total: 66 },
112
- { eventLabel: 'Click', total: 35 },
113
- ],
114
- date: '2024-05-03T00:00:00+07:00',
115
- },
116
- {
117
- placeId: '0',
118
- groupId: 1,
119
- runs: [
120
- { eventLabel: 'View', total: 39 },
121
- { eventLabel: 'Authentication', total: 55 },
122
- { eventLabel: 'Click', total: 36 },
123
- ],
124
- expecteds: [
125
- { eventLabel: 'View', total: 72 },
126
- { eventLabel: 'Authentication', total: 36 },
127
- { eventLabel: 'Click', total: 33 },
128
- ],
129
- date: '2024-05-04T00:00:00+07:00',
130
- },
131
- {
132
- placeId: '0',
133
- groupId: 1,
134
- runs: [
135
- { eventLabel: 'View', total: 4 },
136
- { eventLabel: 'Authentication', total: 2 },
137
- { eventLabel: 'Click', total: 4 },
138
- ],
139
- expecteds: [
140
- { eventLabel: 'View', total: 6 },
141
- { eventLabel: 'Authentication', total: 5 },
142
- { eventLabel: 'Click', total: 6 },
143
- ],
144
- date: '2024-05-05T00:00:00+07:00',
145
- },
146
- {
147
- placeId: '0',
148
- groupId: 1,
149
- runs: [
150
- { eventLabel: 'View', total: 2 },
151
- { eventLabel: 'Authentication', total: 3 },
152
- { eventLabel: 'Click', total: 44 },
153
- ],
154
- expecteds: [
155
- { eventLabel: 'View', total: 22 },
156
- { eventLabel: 'Authentication', total: 63 },
157
- { eventLabel: 'Click', total: 33 },
158
- ],
159
- date: '2024-05-06T00:00:00+07:00',
160
- },
161
- {
162
- placeId: '0',
163
- groupId: 1,
164
- runs: [
165
- { eventLabel: 'View', total: 12 },
166
- { eventLabel: 'Authentication', total: 12 },
167
- { eventLabel: 'Click', total: 33 },
168
- ],
169
- expecteds: [
170
- { eventLabel: 'View', total: 23 },
171
- { eventLabel: 'Authentication', total: 46 },
172
- { eventLabel: 'Click', total: 35 },
173
- ],
174
- date: '2024-05-07T00:00:00+07:00',
175
- },
176
- {
177
- placeId: '0',
178
- groupId: 1,
179
- runs: [
180
- { eventLabel: 'View', total: 29 },
181
- { eventLabel: 'Authentication', total: 45 },
182
- { eventLabel: 'Click', total: 53 },
183
- ],
184
- expecteds: [
185
- { eventLabel: 'View', total: 62 },
186
- { eventLabel: 'Authentication', total: 66 },
187
- { eventLabel: 'Click', total: 34 },
188
- ],
189
- date: '2024-05-08T00:00:00+07:00',
190
- },
191
- {
192
- placeId: '0',
193
- groupId: 1,
194
- runs: [
195
- { eventLabel: 'View', total: 29 },
196
- { eventLabel: 'Authentication', total: 45 },
197
- { eventLabel: 'Click', total: 35 },
198
- ],
199
- expecteds: [
200
- { eventLabel: 'View', total: 25 },
201
- { eventLabel: 'Authentication', total: 36 },
202
- { eventLabel: 'Click', total: 35 },
203
- ],
204
- date: '2024-05-09T00:00:00+07:00',
205
- },
206
- {
207
- placeId: '0',
208
- groupId: 1,
209
- runs: [
210
- { eventLabel: 'View', total: 39 },
211
- { eventLabel: 'Authentication', total: 25 },
212
- { eventLabel: 'Click', total: 33 },
213
- ],
214
- expecteds: [
215
- { eventLabel: 'View', total: 32 },
216
- { eventLabel: 'Authentication', total: 63 },
217
- { eventLabel: 'Click', total: 3 },
218
- ],
219
- date: '2024-05-10T00:00:00+07:00',
220
- },
221
- ],
222
- pageCount: 10,
223
- totalItemCount: 10,
224
- pageNumber: 0,
225
- pageSize: 10,
226
- hasPreviousPage: false,
227
- hasNextPage: true,
228
- };
229
- exports.dataScheduleCompletionRatesPagingPlaceIdFake = {
230
- items: [
231
- {
232
- placeId: '4693220039748452939',
233
- groupId: 1,
234
- runs: [
235
- { eventLabel: 'View', total: 1 },
236
- { eventLabel: 'Authentication', total: 2 },
237
- { eventLabel: 'Click', total: 3 },
238
- ],
239
- expecteds: [
240
- { eventLabel: 'View', total: 1 },
241
- { eventLabel: 'Authentication', total: 2 },
242
- { eventLabel: 'Click', total: 3 },
243
- ],
244
- date: '0001-01-01T07:06:00+07:06',
245
- },
246
- {
247
- placeId: '5087146300648065868',
248
- groupId: 1,
249
- runs: [
250
- { eventLabel: 'View', total: 4 },
251
- { eventLabel: 'Authentication', total: 5 },
252
- { eventLabel: 'Click', total: 6 },
253
- ],
254
- expecteds: [
255
- { eventLabel: 'View', total: 4 },
256
- { eventLabel: 'Authentication', total: 5 },
257
- { eventLabel: 'Click', total: 6 },
258
- ],
259
- date: '0001-01-01T07:06:00+07:06',
260
- },
261
- ],
262
- pageCount: 2,
263
- totalItemCount: 2,
264
- pageNumber: 0,
265
- pageSize: 10,
266
- hasPreviousPage: false,
267
- hasNextPage: true,
268
- };