@oneuptime/common 10.0.25 → 10.0.27

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 (52) hide show
  1. package/Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.ts +10 -0
  2. package/Models/AnalyticsModels/ExceptionInstance.ts +55 -1
  3. package/Models/AnalyticsModels/Log.ts +51 -1
  4. package/Models/AnalyticsModels/Metric.ts +35 -1
  5. package/Models/AnalyticsModels/MonitorLog.ts +20 -0
  6. package/Models/AnalyticsModels/Span.ts +47 -1
  7. package/Models/DatabaseModels/GlobalConfig.ts +18 -0
  8. package/Server/Infrastructure/Postgres/SchemaMigrations/1772350000000-MigrationName.ts +23 -0
  9. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +2 -0
  10. package/Server/Services/LogAggregationService.ts +25 -24
  11. package/Server/Utils/AnalyticsDatabase/Statement.ts +3 -1
  12. package/Server/Utils/AnalyticsDatabase/StatementGenerator.ts +44 -1
  13. package/Server/Utils/Monitor/MonitorLogUtil.ts +92 -17
  14. package/Server/Utils/Monitor/MonitorMetricUtil.ts +77 -11
  15. package/Types/AnalyticsDatabase/TableColumn.ts +43 -0
  16. package/Types/Log/LogQueryToFilter.ts +4 -2
  17. package/UI/Components/LogsViewer/LogsViewer.tsx +32 -26
  18. package/build/dist/Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.js +8 -0
  19. package/build/dist/Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.js.map +1 -1
  20. package/build/dist/Models/AnalyticsModels/ExceptionInstance.js +49 -1
  21. package/build/dist/Models/AnalyticsModels/ExceptionInstance.js.map +1 -1
  22. package/build/dist/Models/AnalyticsModels/Log.js +45 -1
  23. package/build/dist/Models/AnalyticsModels/Log.js.map +1 -1
  24. package/build/dist/Models/AnalyticsModels/Metric.js +29 -1
  25. package/build/dist/Models/AnalyticsModels/Metric.js.map +1 -1
  26. package/build/dist/Models/AnalyticsModels/MonitorLog.js +16 -0
  27. package/build/dist/Models/AnalyticsModels/MonitorLog.js.map +1 -1
  28. package/build/dist/Models/AnalyticsModels/Span.js +41 -1
  29. package/build/dist/Models/AnalyticsModels/Span.js.map +1 -1
  30. package/build/dist/Models/DatabaseModels/GlobalConfig.js +19 -0
  31. package/build/dist/Models/DatabaseModels/GlobalConfig.js.map +1 -1
  32. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1772350000000-MigrationName.js +14 -0
  33. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1772350000000-MigrationName.js.map +1 -0
  34. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +2 -0
  35. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  36. package/build/dist/Server/Services/LogAggregationService.js +19 -19
  37. package/build/dist/Server/Services/LogAggregationService.js.map +1 -1
  38. package/build/dist/Server/Utils/AnalyticsDatabase/Statement.js +3 -1
  39. package/build/dist/Server/Utils/AnalyticsDatabase/Statement.js.map +1 -1
  40. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js +31 -0
  41. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js.map +1 -1
  42. package/build/dist/Server/Utils/Monitor/MonitorLogUtil.js +69 -13
  43. package/build/dist/Server/Utils/Monitor/MonitorLogUtil.js.map +1 -1
  44. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js +61 -11
  45. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js.map +1 -1
  46. package/build/dist/Types/AnalyticsDatabase/TableColumn.js +22 -0
  47. package/build/dist/Types/AnalyticsDatabase/TableColumn.js.map +1 -1
  48. package/build/dist/Types/Log/LogQueryToFilter.js +4 -2
  49. package/build/dist/Types/Log/LogQueryToFilter.js.map +1 -1
  50. package/build/dist/UI/Components/LogsViewer/LogsViewer.js +22 -16
  51. package/build/dist/UI/Components/LogsViewer/LogsViewer.js.map +1 -1
  52. package/package.json +1 -1
@@ -11,7 +11,9 @@ import CommonModel, {
11
11
  Record,
12
12
  RecordValue,
13
13
  } from "../../../Models/AnalyticsModels/AnalyticsBaseModel/CommonModel";
14
- import AnalyticsTableColumn from "../../../Types/AnalyticsDatabase/TableColumn";
14
+ import AnalyticsTableColumn, {
15
+ SkipIndexType,
16
+ } from "../../../Types/AnalyticsDatabase/TableColumn";
15
17
  import TableColumnType from "../../../Types/AnalyticsDatabase/TableColumnType";
16
18
  import GreaterThan from "../../../Types/BaseDatabase/GreaterThan";
17
19
  import GreaterThanOrEqual from "../../../Types/BaseDatabase/GreaterThanOrEqual";
@@ -600,6 +602,42 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
600
602
  .append(this.toColumnType(column.type))
601
603
  .append(SQL`)`),
602
604
  );
605
+
606
+ // Append CODEC if specified
607
+ if (column.codec) {
608
+ const codecStr: string =
609
+ column.codec.level !== undefined
610
+ ? `${column.codec.codec}(${column.codec.level})`
611
+ : column.codec.codec;
612
+ columns.append(` CODEC(${codecStr})`);
613
+ }
614
+ }
615
+
616
+ // Append skip indexes after column definitions
617
+ const skipIndexColumns: Array<AnalyticsTableColumn> = tableColumns.filter(
618
+ (col: AnalyticsTableColumn) => {
619
+ return col.skipIndex !== undefined;
620
+ },
621
+ );
622
+
623
+ for (const col of skipIndexColumns) {
624
+ const idx: AnalyticsTableColumn["skipIndex"] = col.skipIndex!;
625
+ const paramsStr: string =
626
+ idx.params && idx.params.length > 0 ? `(${idx.params.join(", ")})` : "";
627
+ /*
628
+ * tokenbf_v1 and ngrambf_v1 indexes do not support Nullable columns in ClickHouse.
629
+ * Wrap with assumeNotNull() for Nullable (non-required) columns.
630
+ */
631
+ const needsAssumeNotNull: boolean =
632
+ !col.required &&
633
+ (idx.type === SkipIndexType.TokenBF ||
634
+ idx.type === SkipIndexType.NgramBF);
635
+ const columnExpr: string = needsAssumeNotNull
636
+ ? `assumeNotNull(${col.key})`
637
+ : col.key;
638
+ columns.append(
639
+ `, INDEX ${idx.name} ${columnExpr} TYPE ${idx.type}${paramsStr} GRANULARITY ${idx.granularity}`,
640
+ );
603
641
  }
604
642
 
605
643
  return columns;
@@ -734,6 +772,11 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
734
772
 
735
773
  statement.append(SQL`)`);
736
774
 
775
+ // Append TTL if specified
776
+ if (this.model.ttlExpression) {
777
+ statement.append(`\nTTL ${this.model.ttlExpression}`);
778
+ }
779
+
737
780
  /* eslint-enable prettier/prettier */
738
781
 
739
782
  logger.debug(`${this.model.tableName} Table Create Statement`);
@@ -1,4 +1,6 @@
1
1
  import MonitorLogService from "../../Services/MonitorLogService";
2
+ import GlobalConfigService from "../../Services/GlobalConfigService";
3
+ import GlobalConfig from "../../../Models/DatabaseModels/GlobalConfig";
2
4
  import logger from "../Logger";
3
5
  import OneUptimeDate from "../../../Types/Date";
4
6
  import ObjectID from "../../../Types/ObjectID";
@@ -6,6 +8,64 @@ import { JSONObject } from "../../../Types/JSON";
6
8
  import DataToProcess from "./DataToProcess";
7
9
 
8
10
  export default class MonitorLogUtil {
11
+ // Default retention in days if GlobalConfig is not set
12
+ private static readonly DEFAULT_RETENTION_DAYS: number = 1;
13
+
14
+ // Cached retention value to avoid querying GlobalConfig on every monitor check
15
+ private static cachedRetentionDays: number | null = null;
16
+ private static lastCacheRefresh: Date | null = null;
17
+ private static readonly CACHE_TTL_MS: number = 5 * 60 * 1000; // 5 minutes
18
+
19
+ private static async getRetentionDays(): Promise<number> {
20
+ const now: Date = OneUptimeDate.getCurrentDate();
21
+
22
+ // Return cached value if still fresh
23
+ if (
24
+ this.cachedRetentionDays !== null &&
25
+ this.lastCacheRefresh !== null &&
26
+ now.getTime() - this.lastCacheRefresh.getTime() < this.CACHE_TTL_MS
27
+ ) {
28
+ return this.cachedRetentionDays;
29
+ }
30
+
31
+ try {
32
+ const globalConfig: GlobalConfig | null =
33
+ await GlobalConfigService.findOneBy({
34
+ query: {
35
+ _id: ObjectID.getZeroObjectID().toString(),
36
+ },
37
+ props: {
38
+ isRoot: true,
39
+ },
40
+ select: {
41
+ monitorLogRetentionInDays: true,
42
+ },
43
+ });
44
+
45
+ if (
46
+ globalConfig &&
47
+ globalConfig.monitorLogRetentionInDays !== undefined &&
48
+ globalConfig.monitorLogRetentionInDays !== null &&
49
+ globalConfig.monitorLogRetentionInDays > 0
50
+ ) {
51
+ this.cachedRetentionDays = globalConfig.monitorLogRetentionInDays;
52
+ } else {
53
+ this.cachedRetentionDays = this.DEFAULT_RETENTION_DAYS;
54
+ }
55
+
56
+ this.lastCacheRefresh = now;
57
+ } catch (error) {
58
+ logger.error(
59
+ "Error fetching monitor log retention config, using default:",
60
+ );
61
+ logger.error(error);
62
+ this.cachedRetentionDays = this.DEFAULT_RETENTION_DAYS;
63
+ this.lastCacheRefresh = now;
64
+ }
65
+
66
+ return this.cachedRetentionDays;
67
+ }
68
+
9
69
  public static saveMonitorLog(data: {
10
70
  monitorId: ObjectID;
11
71
  projectId: ObjectID;
@@ -23,22 +83,37 @@ export default class MonitorLogUtil {
23
83
  return;
24
84
  }
25
85
 
26
- const logIngestionDate: Date = OneUptimeDate.getCurrentDate();
27
- const logTimestamp: string =
28
- OneUptimeDate.toClickhouseDateTime(logIngestionDate);
29
-
30
- const monitorLogRow: JSONObject = {
31
- _id: ObjectID.generate().toString(),
32
- createdAt: logTimestamp,
33
- updatedAt: logTimestamp,
34
- projectId: data.projectId.toString(),
35
- monitorId: data.monitorId.toString(),
36
- time: logTimestamp,
37
- logBody: JSON.parse(JSON.stringify(data.dataToProcess)),
38
- };
39
-
40
- MonitorLogService.insertJsonRows([monitorLogRow]).catch((err: Error) => {
41
- logger.error(err);
42
- });
86
+ // Fire-and-forget: fetch retention config then insert
87
+ this.getRetentionDays()
88
+ .then((retentionDays: number) => {
89
+ const logIngestionDate: Date = OneUptimeDate.getCurrentDate();
90
+ const logTimestamp: string =
91
+ OneUptimeDate.toClickhouseDateTime(logIngestionDate);
92
+
93
+ const retentionDate: Date = OneUptimeDate.addRemoveDays(
94
+ logIngestionDate,
95
+ retentionDays,
96
+ );
97
+
98
+ const monitorLogRow: JSONObject = {
99
+ _id: ObjectID.generate().toString(),
100
+ createdAt: logTimestamp,
101
+ updatedAt: logTimestamp,
102
+ projectId: data.projectId.toString(),
103
+ monitorId: data.monitorId.toString(),
104
+ time: logTimestamp,
105
+ logBody: JSON.parse(JSON.stringify(data.dataToProcess)),
106
+ retentionDate: OneUptimeDate.toClickhouseDateTime(retentionDate),
107
+ };
108
+
109
+ MonitorLogService.insertJsonRows([monitorLogRow]).catch(
110
+ (err: Error) => {
111
+ logger.error(err);
112
+ },
113
+ );
114
+ })
115
+ .catch((err: Error) => {
116
+ logger.error(err);
117
+ });
43
118
  }
44
119
  }
@@ -2,6 +2,8 @@ import logger from "../Logger";
2
2
  import CaptureSpan from "../Telemetry/CaptureSpan";
3
3
  import TelemetryUtil from "../Telemetry/Telemetry";
4
4
  import MetricService from "../../Services/MetricService";
5
+ import GlobalConfigService from "../../Services/GlobalConfigService";
6
+ import GlobalConfig from "../../../Models/DatabaseModels/GlobalConfig";
5
7
  import DataToProcess from "./DataToProcess";
6
8
  import {
7
9
  MetricPointType,
@@ -20,6 +22,63 @@ import ObjectID from "../../../Types/ObjectID";
20
22
  import OneUptimeDate from "../../../Types/Date";
21
23
 
22
24
  export default class MonitorMetricUtil {
25
+ // Default retention in days if GlobalConfig is not set
26
+ private static readonly DEFAULT_RETENTION_DAYS: number = 1;
27
+
28
+ // Cached retention value to avoid querying GlobalConfig on every monitor check
29
+ private static cachedRetentionDays: number | null = null;
30
+ private static lastCacheRefresh: Date | null = null;
31
+ private static readonly CACHE_TTL_MS: number = 5 * 60 * 1000; // 5 minutes
32
+
33
+ private static async getRetentionDays(): Promise<number> {
34
+ const now: Date = OneUptimeDate.getCurrentDate();
35
+
36
+ // Return cached value if still fresh
37
+ if (
38
+ this.cachedRetentionDays !== null &&
39
+ this.lastCacheRefresh !== null &&
40
+ now.getTime() - this.lastCacheRefresh.getTime() < this.CACHE_TTL_MS
41
+ ) {
42
+ return this.cachedRetentionDays;
43
+ }
44
+
45
+ try {
46
+ const globalConfig: GlobalConfig | null =
47
+ await GlobalConfigService.findOneBy({
48
+ query: {
49
+ _id: ObjectID.getZeroObjectID().toString(),
50
+ },
51
+ props: {
52
+ isRoot: true,
53
+ },
54
+ select: {
55
+ monitorMetricRetentionInDays: true,
56
+ },
57
+ });
58
+
59
+ if (
60
+ globalConfig &&
61
+ globalConfig.monitorMetricRetentionInDays !== undefined &&
62
+ globalConfig.monitorMetricRetentionInDays !== null &&
63
+ globalConfig.monitorMetricRetentionInDays > 0
64
+ ) {
65
+ this.cachedRetentionDays = globalConfig.monitorMetricRetentionInDays;
66
+ } else {
67
+ this.cachedRetentionDays = this.DEFAULT_RETENTION_DAYS;
68
+ }
69
+
70
+ this.lastCacheRefresh = now;
71
+ } catch (error) {
72
+ logger.error(
73
+ "Error fetching monitor metric retention config, using default:",
74
+ );
75
+ logger.error(error);
76
+ this.cachedRetentionDays = this.DEFAULT_RETENTION_DAYS;
77
+ this.lastCacheRefresh = now;
78
+ }
79
+
80
+ return this.cachedRetentionDays;
81
+ }
23
82
  private static buildMonitorMetricAttributes(data: {
24
83
  monitorId: ObjectID;
25
84
  projectId: ObjectID;
@@ -47,14 +106,14 @@ export default class MonitorMetricUtil {
47
106
  return attributes;
48
107
  }
49
108
 
50
- private static buildMonitorMetricRow(data: {
109
+ private static async buildMonitorMetricRow(data: {
51
110
  projectId: ObjectID;
52
111
  monitorId: ObjectID;
53
112
  metricName: string;
54
113
  value: number | null | undefined;
55
114
  attributes: JSONObject;
56
115
  metricPointType?: MetricPointType;
57
- }): JSONObject {
116
+ }): Promise<JSONObject> {
58
117
  const ingestionDate: Date = OneUptimeDate.getCurrentDate();
59
118
  const ingestionTimestamp: string =
60
119
  OneUptimeDate.toClickhouseDateTime(ingestionDate);
@@ -65,6 +124,12 @@ export default class MonitorMetricUtil {
65
124
  const attributeKeys: Array<string> =
66
125
  TelemetryUtil.getAttributeKeys(attributes);
67
126
 
127
+ const retentionDays: number = await this.getRetentionDays();
128
+ const retentionDate: Date = OneUptimeDate.addRemoveDays(
129
+ ingestionDate,
130
+ retentionDays,
131
+ );
132
+
68
133
  return {
69
134
  _id: ObjectID.generate().toString(),
70
135
  createdAt: ingestionTimestamp,
@@ -89,6 +154,7 @@ export default class MonitorMetricUtil {
89
154
  bucketCounts: [],
90
155
  explicitBounds: [],
91
156
  value: data.value ?? null,
157
+ retentionDate: OneUptimeDate.toClickhouseDateTime(retentionDate),
92
158
  } as JSONObject;
93
159
  }
94
160
 
@@ -146,7 +212,7 @@ export default class MonitorMetricUtil {
146
212
  probeName: data.probeName,
147
213
  });
148
214
 
149
- const metricRow: JSONObject = this.buildMonitorMetricRow({
215
+ const metricRow: JSONObject = await this.buildMonitorMetricRow({
150
216
  projectId: data.projectId,
151
217
  monitorId: data.monitorId,
152
218
  metricName: MonitorMetricType.IsOnline,
@@ -183,7 +249,7 @@ export default class MonitorMetricUtil {
183
249
  probeName: data.probeName,
184
250
  });
185
251
 
186
- const metricRow: JSONObject = this.buildMonitorMetricRow({
252
+ const metricRow: JSONObject = await this.buildMonitorMetricRow({
187
253
  projectId: data.projectId,
188
254
  monitorId: data.monitorId,
189
255
  metricName: MonitorMetricType.CPUUsagePercent,
@@ -211,7 +277,7 @@ export default class MonitorMetricUtil {
211
277
  probeName: data.probeName,
212
278
  });
213
279
 
214
- const metricRow: JSONObject = this.buildMonitorMetricRow({
280
+ const metricRow: JSONObject = await this.buildMonitorMetricRow({
215
281
  projectId: data.projectId,
216
282
  monitorId: data.monitorId,
217
283
  metricName: MonitorMetricType.MemoryUsagePercent,
@@ -247,7 +313,7 @@ export default class MonitorMetricUtil {
247
313
  extraAttributes: extraAttributes,
248
314
  });
249
315
 
250
- const metricRow: JSONObject = this.buildMonitorMetricRow({
316
+ const metricRow: JSONObject = await this.buildMonitorMetricRow({
251
317
  projectId: data.projectId,
252
318
  monitorId: data.monitorId,
253
319
  metricName: MonitorMetricType.DiskUsagePercent,
@@ -285,7 +351,7 @@ export default class MonitorMetricUtil {
285
351
  extraAttributes: extraAttributes,
286
352
  });
287
353
 
288
- const metricRow: JSONObject = this.buildMonitorMetricRow({
354
+ const metricRow: JSONObject = await this.buildMonitorMetricRow({
289
355
  projectId: data.projectId,
290
356
  monitorId: data.monitorId,
291
357
  metricName: MonitorMetricType.ExecutionTime,
@@ -342,7 +408,7 @@ export default class MonitorMetricUtil {
342
408
  extraAttributes: extraAttributes,
343
409
  });
344
410
 
345
- const metricRow: JSONObject = this.buildMonitorMetricRow({
411
+ const metricRow: JSONObject = await this.buildMonitorMetricRow({
346
412
  projectId: data.projectId,
347
413
  monitorId: data.monitorId,
348
414
  metricName: MonitorMetricType.ExecutionTime,
@@ -377,7 +443,7 @@ export default class MonitorMetricUtil {
377
443
  extraAttributes: extraAttributes,
378
444
  });
379
445
 
380
- const metricRow: JSONObject = this.buildMonitorMetricRow({
446
+ const metricRow: JSONObject = await this.buildMonitorMetricRow({
381
447
  projectId: data.projectId,
382
448
  monitorId: data.monitorId,
383
449
  metricName: MonitorMetricType.ResponseTime,
@@ -412,7 +478,7 @@ export default class MonitorMetricUtil {
412
478
  extraAttributes: extraAttributes,
413
479
  });
414
480
 
415
- const metricRow: JSONObject = this.buildMonitorMetricRow({
481
+ const metricRow: JSONObject = await this.buildMonitorMetricRow({
416
482
  projectId: data.projectId,
417
483
  monitorId: data.monitorId,
418
484
  metricName: MonitorMetricType.IsOnline,
@@ -446,7 +512,7 @@ export default class MonitorMetricUtil {
446
512
  extraAttributes: extraAttributes,
447
513
  });
448
514
 
449
- const metricRow: JSONObject = this.buildMonitorMetricRow({
515
+ const metricRow: JSONObject = await this.buildMonitorMetricRow({
450
516
  projectId: data.projectId,
451
517
  monitorId: data.monitorId,
452
518
  metricName: MonitorMetricType.ResponseStatusCode,
@@ -3,6 +3,29 @@ import { ColumnAccessControl } from "../BaseDatabase/AccessControl";
3
3
  import ColumnBillingAccessControl from "../BaseDatabase/ColumnBillingAccessControl";
4
4
  import { JSONValue } from "../JSON";
5
5
 
6
+ export enum SkipIndexType {
7
+ BloomFilter = "bloom_filter",
8
+ Set = "set",
9
+ TokenBF = "tokenbf_v1",
10
+ NgramBF = "ngrambf_v1",
11
+ MinMax = "minmax",
12
+ }
13
+
14
+ export interface SkipIndex {
15
+ name: string;
16
+ type: SkipIndexType;
17
+ // e.g. 0.01 for bloom_filter, 10 for set, or [10240, 3, 0] for tokenbf_v1
18
+ params?: Array<number> | undefined;
19
+ granularity: number;
20
+ }
21
+
22
+ export type ColumnCodec = "ZSTD" | "LZ4" | "LZ4HC" | "NONE";
23
+
24
+ export interface ColumnCodecConfig {
25
+ codec: ColumnCodec;
26
+ level?: number | undefined; // e.g. 3 for ZSTD(3)
27
+ }
28
+
6
29
  export default class AnalyticsTableColumn {
7
30
  private _key: string = "id";
8
31
 
@@ -103,6 +126,22 @@ export default class AnalyticsTableColumn {
103
126
  this._accessControl = v;
104
127
  }
105
128
 
129
+ private _skipIndex: SkipIndex | undefined;
130
+ public get skipIndex(): SkipIndex | undefined {
131
+ return this._skipIndex;
132
+ }
133
+ public set skipIndex(v: SkipIndex | undefined) {
134
+ this._skipIndex = v;
135
+ }
136
+
137
+ private _codec: ColumnCodecConfig | undefined;
138
+ public get codec(): ColumnCodecConfig | undefined {
139
+ return this._codec;
140
+ }
141
+ public set codec(v: ColumnCodecConfig | undefined) {
142
+ this._codec = v;
143
+ }
144
+
106
145
  public constructor(data: {
107
146
  key: string;
108
147
  title: string;
@@ -117,6 +156,8 @@ export default class AnalyticsTableColumn {
117
156
  forceGetDefaultValueOnCreate?:
118
157
  | (() => Date | string | number | boolean)
119
158
  | undefined;
159
+ skipIndex?: SkipIndex | undefined;
160
+ codec?: ColumnCodecConfig | undefined;
120
161
  }) {
121
162
  this.accessControl = data.accessControl;
122
163
  this.key = data.key;
@@ -130,5 +171,7 @@ export default class AnalyticsTableColumn {
130
171
  this.billingAccessControl = data.billingAccessControl;
131
172
  this.allowAccessIfSubscriptionIsUnpaid =
132
173
  data.allowAccessIfSubscriptionIsUnpaid || false;
174
+ this.skipIndex = data.skipIndex;
175
+ this.codec = data.codec;
133
176
  }
134
177
  }
@@ -34,8 +34,10 @@ const TOP_LEVEL_FIELDS: Set<string> = new Set([
34
34
  "body",
35
35
  ]);
36
36
 
37
- // Severity values stored in the database use title case (e.g. "Error", "Debug").
38
- // Normalise user input so that "error" matches "Error", etc.
37
+ /*
38
+ * Severity values stored in the database use title case (e.g. "Error", "Debug").
39
+ * Normalise user input so that "error" matches "Error", etc.
40
+ */
39
41
  const SEVERITY_CANONICAL: Record<string, string> = {
40
42
  fatal: "Fatal",
41
43
  error: "Error",
@@ -465,31 +465,10 @@ const LogsViewer: FunctionComponent<ComponentProps> = (
465
465
  });
466
466
  }, [props.activeFilters, serviceMap]);
467
467
 
468
- if (isPageLoading) {
469
- return <PageLoader isVisible={true} />;
470
- }
471
-
472
- if (pageError) {
473
- return <ErrorMessage message={pageError} />;
474
- }
475
-
476
- const toolbarProps: LogsViewerToolbarProps = {
477
- resultCount: totalItems,
478
- currentPage,
479
- totalPages,
480
- ...(props.liveOptions ? { liveOptions: props.liveOptions } : {}),
481
- ...(props.timeRange && props.onTimeRangeChange
482
- ? {
483
- timeRange: props.timeRange,
484
- onTimeRangeChange: props.onTimeRangeChange,
485
- }
486
- : {}),
487
- };
488
-
489
- const showSidebar: boolean =
490
- props.showFacetSidebar !== false && Boolean(props.facetData);
491
-
492
- // Replace serviceId UUIDs with human-readable names in value suggestions
468
+ /*
469
+ * Replace serviceId UUIDs with human-readable names in value suggestions
470
+ * Must be before early returns to maintain consistent hook call order.
471
+ */
493
472
  const resolvedValueSuggestions: Record<string, Array<string>> | undefined =
494
473
  useMemo(() => {
495
474
  if (!props.valueSuggestions) {
@@ -512,7 +491,10 @@ const LogsViewer: FunctionComponent<ComponentProps> = (
512
491
  return suggestions;
513
492
  }, [props.valueSuggestions, serviceMap]);
514
493
 
515
- // Wrap onFieldValueSelect to resolve service names back to UUIDs
494
+ /*
495
+ * Wrap onFieldValueSelect to resolve service names back to UUIDs
496
+ * Must be before early returns to maintain consistent hook call order.
497
+ */
516
498
  const handleFieldValueSelectWithServiceResolve:
517
499
  | ((fieldKey: string, value: string) => void)
518
500
  | undefined = useMemo(() => {
@@ -537,6 +519,30 @@ const LogsViewer: FunctionComponent<ComponentProps> = (
537
519
  };
538
520
  }, [props.onFieldValueSelect, serviceMap]);
539
521
 
522
+ if (isPageLoading) {
523
+ return <PageLoader isVisible={true} />;
524
+ }
525
+
526
+ if (pageError) {
527
+ return <ErrorMessage message={pageError} />;
528
+ }
529
+
530
+ const toolbarProps: LogsViewerToolbarProps = {
531
+ resultCount: totalItems,
532
+ currentPage,
533
+ totalPages,
534
+ ...(props.liveOptions ? { liveOptions: props.liveOptions } : {}),
535
+ ...(props.timeRange && props.onTimeRangeChange
536
+ ? {
537
+ timeRange: props.timeRange,
538
+ onTimeRangeChange: props.onTimeRangeChange,
539
+ }
540
+ : {}),
541
+ };
542
+
543
+ const showSidebar: boolean =
544
+ props.showFacetSidebar !== false && Boolean(props.facetData);
545
+
540
546
  return (
541
547
  <div className="space-y-2">
542
548
  {props.showFilters && (
@@ -21,6 +21,7 @@ export default class AnalyticsBaseModel extends CommonModel {
21
21
  this._projections = [];
22
22
  this._materializedViews = [];
23
23
  this._enableMCP = false;
24
+ this._ttlExpression = "";
24
25
  this.tableName = data.tableName;
25
26
  const columns = [...data.tableColumns];
26
27
  if (data.tableEngine) {
@@ -89,6 +90,7 @@ export default class AnalyticsBaseModel extends CommonModel {
89
90
  this.projections = data.projections || [];
90
91
  this.materializedViews = data.materializedViews || [];
91
92
  this.enableMCP = data.enableMCP || false;
93
+ this.ttlExpression = data.ttlExpression || "";
92
94
  }
93
95
  get enableWorkflowOn() {
94
96
  return this._enableWorkflowOn;
@@ -186,6 +188,12 @@ export default class AnalyticsBaseModel extends CommonModel {
186
188
  set enableMCP(v) {
187
189
  this._enableMCP = v;
188
190
  }
191
+ get ttlExpression() {
192
+ return this._ttlExpression;
193
+ }
194
+ set ttlExpression(v) {
195
+ this._ttlExpression = v;
196
+ }
189
197
  getTenantColumn() {
190
198
  const column = this.tableColumns.find((column) => {
191
199
  return column.isTenantId;
@@ -1 +1 @@
1
- {"version":3,"file":"AnalyticsBaseModel.js","sourceRoot":"","sources":["../../../../../Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.ts"],"names":[],"mappings":"AAEA,OAAO,oBAAoB,MAAM,uDAAuD,CAAC;AACzF,OAAO,oBAAoB,MAAM,8CAA8C,CAAC;AAChF,OAAO,eAAe,MAAM,kDAAkD,CAAC;AAS/E,OAAO,eAAe,MAAM,6CAA6C,CAAC;AAI1E,OAAO,gBAAgB,MAAM,2CAA2C,CAAC;AAMzE,OAAO,IAAI,MAAM,qBAAqB,CAAC;AACvC,OAAO,WAAW,MAAM,eAAe,CAAC;AAIxC,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,WAAW;IACzD,YAAmB,IAkBlB;QACC,KAAK,CAAC;YACJ,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC,CAAC;QAsHG,iBAAY,GAAyB,oBAAoB,CAAC,SAAS,CAAC;QAgBpE,iBAAY,GAAkB,EAAE,CAAC;QAQjC,kBAAa,GAAW,EAAE,CAAC;QAQ3B,cAAS,GAAkB,EAAE,CAAC;QAQ9B,kBAAa,GAAW,EAAE,CAAC;QAQ3B,gBAAW,GAAW,EAAE,CAAC;QAoBzB,uCAAkC,GAAY,KAAK,CAAC;QAQpD,eAAU,GAAW,EAAE,CAAC;QAgBxB,iBAAY,GAAsB,EAAE,CAAC;QAQrC,uBAAkB,GAA4B,EAAE,CAAC;QAQjD,eAAU,GAAY,KAAK,CAAC;QAhOlC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAEhC,MAAM,OAAO,GAAgC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;QAEpE,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACtC,CAAC;QAED,OAAO,CAAC,IAAI,CACV,IAAI,oBAAoB,CAAC;YACvB,GAAG,EAAE,KAAK;YACV,KAAK,EAAE,IAAI;YACX,WAAW,EAAE,mBAAmB;YAChC,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,eAAe,CAAC,QAAQ;SAC/B,CAAC,CACH,CAAC;QAEF,OAAO,CAAC,IAAI,CACV,IAAI,oBAAoB,CAAC;YACvB,GAAG,EAAE,WAAW;YAChB,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,4CAA4C;YACzD,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,eAAe,CAAC,IAAI;SAC3B,CAAC,CACH,CAAC;QAEF,OAAO,CAAC,IAAI,CACV,IAAI,oBAAoB,CAAC;YACvB,GAAG,EAAE,WAAW;YAChB,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,4CAA4C;YACzD,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,eAAe,CAAC,IAAI;SAC3B,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvD,MAAM,IAAI,gBAAgB,CAAC,2BAA2B,CAAC,CAAC;QAC1D,CAAC;QAED,mDAAmD;QAEnD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAkB,EAAE,EAAE;YAC9C,MAAM,MAAM,GAAqC,OAAO,CAAC,IAAI,CAC3D,CAAC,MAA4B,EAAE,EAAE;gBAC/B,OAAO,MAAM,CAAC,GAAG,KAAK,UAAU,CAAC;YACnC,CAAC,CACF,CAAC;YAEF,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,gBAAgB,CACxB,cAAc,GAAG,UAAU,GAAG,8BAA8B,CAC7D,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACrB,MAAM,IAAI,gBAAgB,CACxB,cAAc;oBACZ,UAAU;oBACV,kDAAkD,CACrD,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,gDAAgD;QAEhD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAe,EAAE,EAAE;YACxC,MAAM,MAAM,GAAqC,OAAO,CAAC,IAAI,CAC3D,CAAC,MAA4B,EAAE,EAAE;gBAC/B,OAAO,MAAM,CAAC,GAAG,KAAK,OAAO,CAAC;YAChC,CAAC,CACF,CAAC;YAEF,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,gBAAgB,CACxB,WAAW,GAAG,OAAO,GAAG,8BAA8B,CACvD,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,yBAAyB,CAAC;QAChE,IAAI,CAAC,iCAAiC;YACpC,IAAI,CAAC,iCAAiC,IAAI,KAAK,CAAC;QAClD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC9C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,CAAC;QAC1D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;QAC1C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC;QACtD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC;IAC3C,CAAC;IAGD,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IACD,IAAW,gBAAgB,CAAC,CAA+B;QACzD,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;IAC7B,CAAC;IAGD,IAAW,aAAa;QACtB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IACD,IAAW,aAAa,CAAC,CAAiC;QACxD,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;IAC1B,CAAC;IAGD,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IACD,IAAW,WAAW,CAAC,CAAuB;QAC5C,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;IACxB,CAAC;IAGD,IAAW,sBAAsB;QAC/B,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACtC,CAAC;IACD,IAAW,sBAAsB,CAAC,CAAqC;QACrE,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC;IACnC,CAAC;IAGD,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IACD,IAAW,WAAW,CAAC,CAAgB;QACrC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;IACxB,CAAC;IAGD,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IACD,IAAW,YAAY,CAAC,CAAS;QAC/B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;IACzB,CAAC;IAGD,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IACD,IAAW,QAAQ,CAAC,CAAgB;QAClC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;IACrB,CAAC;IAGD,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IACD,IAAW,YAAY,CAAC,CAAS;QAC/B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;IACzB,CAAC;IAGD,IAAW,UAAU;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IACD,IAAW,UAAU,CAAC,CAAS;QAC7B,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IACvB,CAAC;IAGD,IAAW,yBAAyB;QAGlC,OAAO,IAAI,CAAC,0BAA0B,CAAC;IACzC,CAAC;IACD,IAAW,yBAAyB,CAClC,CAAwC;QAExC,IAAI,CAAC,0BAA0B,GAAG,CAAC,CAAC;IACtC,CAAC;IAGD,IAAW,iCAAiC;QAC1C,OAAO,IAAI,CAAC,kCAAkC,CAAC;IACjD,CAAC;IACD,IAAW,iCAAiC,CAAC,CAAU;QACrD,IAAI,CAAC,kCAAkC,GAAG,CAAC,CAAC;IAC9C,CAAC;IAGD,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IACD,IAAW,SAAS,CAAC,CAAS;QAC5B,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;IACtB,CAAC;IAGD,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IACD,IAAW,WAAW,CAAC,CAAQ;QAC7B,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;IACxB,CAAC;IAGD,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IACD,IAAW,WAAW,CAAC,CAAoB;QACzC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;IACxB,CAAC;IAGD,IAAW,iBAAiB;QAC1B,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IACD,IAAW,iBAAiB,CAAC,CAA0B;QACrD,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;IAC9B,CAAC;IAGD,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IACD,IAAW,SAAS,CAAC,CAAU;QAC7B,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;IACtB,CAAC;IAEM,eAAe;QACpB,MAAM,MAAM,GAAqC,IAAI,CAAC,YAAY,CAAC,IAAI,CACrE,CAAC,MAA4B,EAAE,EAAE;YAC/B,OAAO,MAAM,CAAC,UAAU,CAAC;QAC3B,CAAC,CACF,CAAC;QAEF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,oBAAoB;QACzB,MAAM,MAAM,GAAgC,IAAI,CAAC,eAAe,EAAE,CAAC;QAEnE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAoB,CAAC;IAC5D,CAAC;IAEM,kBAAkB;QACvB,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,MAA4B,EAAE,EAAE;YAC/D,OAAO,MAAM,CAAC,QAAQ,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,oBAAoB,CAAC,UAAkB;QAC5C,MAAM,MAAM,GAAgC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAE5E,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,MAAM,CAAC,oBAAoB,CAAC;IACrC,CAAC;IAEM,wBAAwB,CAAC,UAAkB;QAChD,MAAM,MAAM,GAAgC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAE5E,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,gBAAgB,CAAC,SAAS,GAAG,UAAU,GAAG,YAAY,CAAC,CAAC;QACpE,CAAC;QAED,OAAO,MAAM,CAAC,YAAY,CAAC;IAC7B,CAAC;IAEM,6BAA6B,CAClC,UAAkB;QAElB,MAAM,MAAM,GAAgC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAE5E,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,MAAM,CAAC,oBAAoB,IAAI,IAAI,CAAC;IAC7C,CAAC;IAED,IAAW,EAAE;QACX,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAyB,CAAC;IAC5D,CAAC;IACD,IAAW,EAAE,CAAC,CAAuB;QACnC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,IAAW,GAAG;QACZ,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAyB,CAAC;IAC5D,CAAC;IACD,IAAW,GAAG,CAAC,CAAuB;QACpC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,cAAc,CAAC,WAAW,CAAqB,CAAC;IAC9D,CAAC;IAED,IAAW,SAAS,CAAC,CAAmB;QACtC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,cAAc,CAAC,WAAW,CAAqB,CAAC;IAC9D,CAAC;IAED,IAAW,SAAS,CAAC,CAAmB;QACtC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACtC,CAAC;IAEM,uBAAuB;QAC5B,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IAEM,yBAAyB,CAC9B,UAAkB;QAElB,MAAM,WAAW,GACf,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,MAA4B,EAAE,EAAE;YACtD,OAAO,MAAM,CAAC,GAAG,KAAK,UAAU,CAAC;QACnC,CAAC,CAAC,CAAC;QAEL,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;YAC/C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,WAAW,CAAC,aAAa,CAAC;IACnC,CAAC;IAEM,mCAAmC;QACxC,MAAM,UAAU,GAAoC,EAAE,CAAC;QAEvD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvC,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;gBACzB,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC;YAChD,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAEM,kBAAkB;;QACvB,OAAO,CAAA,MAAA,IAAI,CAAC,aAAa,0CAAE,IAAI,KAAI,EAAE,CAAC;IACxC,CAAC;IAEM,oBAAoB;;QACzB,OAAO,CAAA,MAAA,IAAI,CAAC,aAAa,0CAAE,MAAM,KAAI,EAAE,CAAC;IAC1C,CAAC;IAEM,oBAAoB;;QACzB,OAAO,CAAA,MAAA,IAAI,CAAC,aAAa,0CAAE,MAAM,KAAI,EAAE,CAAC;IAC1C,CAAC;IAEM,oBAAoB;;QACzB,OAAO,CAAA,MAAA,IAAI,CAAC,aAAa,0CAAE,MAAM,KAAI,EAAE,CAAC;IAC1C,CAAC;IAEM,kBAAkB;;QACvB,OAAO,CAAA,MAAA,IAAI,CAAC,yBAAyB,0CAAE,IAAI,KAAI,IAAI,CAAC;IACtD,CAAC;IAEM,oBAAoB;;QACzB,OAAO,CAAA,MAAA,IAAI,CAAC,yBAAyB,0CAAE,MAAM,KAAI,IAAI,CAAC;IACxD,CAAC;IAEM,oBAAoB;;QACzB,OAAO,CAAA,MAAA,IAAI,CAAC,yBAAyB,0CAAE,MAAM,KAAI,IAAI,CAAC;IACxD,CAAC;IAEM,oBAAoB;;QACzB,OAAO,CAAA,MAAA,IAAI,CAAC,yBAAyB,0CAAE,MAAM,KAAI,IAAI,CAAC;IACxD,CAAC;IAEM,cAAc,CAAC,WAAmB;QACvC,mDAAmD;QACnD,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,SAAS,CAAC,UAAkB;QACjC,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,MAA4B,EAAE,EAAE;YAC7D,OAAO,MAAM,CAAC,GAAG,KAAK,UAAU,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,YAAY,CAAC,WAAmB;QACrC,iDAAiD;QACjD,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,oBAAoB,CACzB,sBAAsE,EACtE,UAAmB;;QAEnB,IAAI,eAAe,GAAsB,CAAA,MAAA,IAAI,CAAC,aAAa,0CAAE,MAAM,KAAI,EAAE,CAAC;QAE1E,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,mBAAmB,GACvB,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,mBAAmB,EAAE,CAAC;gBACxB,eAAe,GAAG,mBAAmB,CAAC,MAAM,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,OAAO,eAAe,CAAC,cAAc,CACnC,sBAAsB,EACtB,eAAe,CAChB,CAAC;IACJ,CAAC;IAEM,kBAAkB,CACvB,sBAAsE,EACtE,UAAmB;;QAEnB,IAAI,eAAe,GAAsB,CAAA,MAAA,IAAI,CAAC,aAAa,0CAAE,IAAI,KAAI,EAAE,CAAC;QAExE,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,mBAAmB,GACvB,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,mBAAmB,EAAE,CAAC;gBACxB,eAAe,GAAG,mBAAmB,CAAC,IAAI,CAAC;YAC7C,CAAC;QACH,CAAC;QAED,OAAO,eAAe,CAAC,cAAc,CACnC,sBAAsB,EACtB,eAAe,CAChB,CAAC;IACJ,CAAC;IAEM,oBAAoB,CACzB,sBAAsE;;QAEtE,MAAM,eAAe,GAAsB,CAAA,MAAA,IAAI,CAAC,aAAa,0CAAE,MAAM,KAAI,EAAE,CAAC;QAC5E,OAAO,eAAe,CAAC,cAAc,CACnC,sBAAsB,EACtB,eAAe,CAChB,CAAC;IACJ,CAAC;IAEM,oBAAoB,CACzB,sBAAsE,EACtE,UAAmB;;QAEnB,IAAI,eAAe,GAAsB,CAAA,MAAA,IAAI,CAAC,aAAa,0CAAE,MAAM,KAAI,EAAE,CAAC;QAE1E,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,mBAAmB,GACvB,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,mBAAmB,EAAE,CAAC;gBACxB,eAAe,GAAG,mBAAmB,CAAC,MAAM,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,OAAO,eAAe,CAAC,cAAc,CACnC,sBAAsB,EACtB,eAAe,CAChB,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"AnalyticsBaseModel.js","sourceRoot":"","sources":["../../../../../Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.ts"],"names":[],"mappings":"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"}