@onereach/billing-shared 31.17.4-beta.13580.0 → 31.17.4-beta.13600.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/constants/db-event-type-map.js +36 -0
- package/dist/cjs/constants/db-event-type-map.js.map +1 -0
- package/dist/cjs/constants/index.js +1 -0
- package/dist/cjs/constants/index.js.map +1 -1
- package/dist/cjs/types/usage-collection.js +3 -0
- package/dist/cjs/types/usage-collection.js.map +1 -0
- package/dist/cjs/utils/generate-pull-slots.js +17 -0
- package/dist/cjs/utils/generate-pull-slots.js.map +1 -0
- package/dist/cjs/utils/get-druid-event-types.js +16 -0
- package/dist/cjs/utils/get-druid-event-types.js.map +1 -0
- package/dist/cjs/utils/index.js +2 -0
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/esm/constants/db-event-type-map.js +32 -0
- package/dist/esm/constants/db-event-type-map.js.map +1 -0
- package/dist/esm/constants/index.js +1 -0
- package/dist/esm/constants/index.js.map +1 -1
- package/dist/esm/types/usage-collection.js +2 -0
- package/dist/esm/types/usage-collection.js.map +1 -0
- package/dist/esm/utils/generate-pull-slots.js +14 -0
- package/dist/esm/utils/generate-pull-slots.js.map +1 -0
- package/dist/esm/utils/get-druid-event-types.js +13 -0
- package/dist/esm/utils/get-druid-event-types.js.map +1 -0
- package/dist/esm/utils/index.js +2 -0
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/types/constants/db-event-type-map.d.ts +6 -0
- package/dist/types/constants/db-event-type-map.d.ts.map +1 -0
- package/dist/types/constants/index.d.ts +1 -0
- package/dist/types/constants/index.d.ts.map +1 -1
- package/dist/types/types/index.d.ts +1 -0
- package/dist/types/types/index.d.ts.map +1 -1
- package/dist/types/types/usage-collection.d.ts +14 -0
- package/dist/types/types/usage-collection.d.ts.map +1 -0
- package/dist/types/utils/generate-pull-slots.d.ts +5 -0
- package/dist/types/utils/generate-pull-slots.d.ts.map +1 -0
- package/dist/types/utils/get-druid-event-types.d.ts +3 -0
- package/dist/types/utils/get-druid-event-types.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +2 -0
- package/dist/types/utils/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/constants/db-event-type-map.ts +33 -0
- package/src/constants/index.ts +1 -0
- package/src/types/index.ts +1 -0
- package/src/types/usage-collection.ts +15 -0
- package/src/utils/generate-pull-slots.ts +25 -0
- package/src/utils/get-druid-event-types.ts +16 -0
- package/src/utils/index.ts +2 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.DB_EVENT_TYPE_MAP = void 0;
|
|
5
|
+
var category_namespace_1 = require("../enums/category-namespace");
|
|
6
|
+
var customer_usage_1 = require("../enums/customer-usage");
|
|
7
|
+
exports.DB_EVENT_TYPE_MAP = (_a = {},
|
|
8
|
+
_a[customer_usage_1.DataSourceProvider.AZURE] = [
|
|
9
|
+
category_namespace_1.CategoryNamespace.PROCESSING_FLOW,
|
|
10
|
+
category_namespace_1.CategoryNamespace.PROCESSING_VOICE,
|
|
11
|
+
category_namespace_1.CategoryNamespace.EXECUTABLE_GENERAL,
|
|
12
|
+
category_namespace_1.CategoryNamespace.EXECUTABLE_PORT_IN_IDENTIFIER,
|
|
13
|
+
category_namespace_1.CategoryNamespace.LOOKUP,
|
|
14
|
+
category_namespace_1.CategoryNamespace.TELEPHONY_VOICE,
|
|
15
|
+
category_namespace_1.CategoryNamespace.MESSAGING_TEXT,
|
|
16
|
+
category_namespace_1.CategoryNamespace.CONVERSATIONS_WAP,
|
|
17
|
+
category_namespace_1.CategoryNamespace.CARRIER_FEE,
|
|
18
|
+
category_namespace_1.CategoryNamespace.STORAGE_GENERAL,
|
|
19
|
+
category_namespace_1.CategoryNamespace.STORAGE_WEAVIATE,
|
|
20
|
+
category_namespace_1.CategoryNamespace.IDENTIFIER,
|
|
21
|
+
category_namespace_1.CategoryNamespace.USER,
|
|
22
|
+
category_namespace_1.CategoryNamespace.PRODUCT,
|
|
23
|
+
],
|
|
24
|
+
_a[customer_usage_1.DataSourceProvider.DRUID] = [
|
|
25
|
+
category_namespace_1.CategoryNamespace.EXECUTABLE_LLM,
|
|
26
|
+
category_namespace_1.CategoryNamespace.EXECUTABLE_GENERAL,
|
|
27
|
+
category_namespace_1.CategoryNamespace.STORAGE_WEAVIATE,
|
|
28
|
+
category_namespace_1.CategoryNamespace.LOOKUP,
|
|
29
|
+
category_namespace_1.CategoryNamespace.TELEPHONY_VOICE,
|
|
30
|
+
category_namespace_1.CategoryNamespace.PROCESSING_VOICE,
|
|
31
|
+
category_namespace_1.CategoryNamespace.CARRIER_FEE,
|
|
32
|
+
category_namespace_1.CategoryNamespace.MESSAGING_TEXT,
|
|
33
|
+
category_namespace_1.CategoryNamespace.PRODUCT,
|
|
34
|
+
],
|
|
35
|
+
_a);
|
|
36
|
+
//# sourceMappingURL=db-event-type-map.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"db-event-type-map.js","sourceRoot":"","sources":["../../../src/constants/db-event-type-map.ts"],"names":[],"mappings":";;;;AAAA,kEAAgE;AAChE,0DAA6D;AAGhD,QAAA,iBAAiB;IAC5B,GAAC,mCAAkB,CAAC,KAAK,IAAG;QAC1B,sCAAiB,CAAC,eAAe;QACjC,sCAAiB,CAAC,gBAAgB;QAClC,sCAAiB,CAAC,kBAAkB;QACpC,sCAAiB,CAAC,6BAA6B;QAC/C,sCAAiB,CAAC,MAAM;QACxB,sCAAiB,CAAC,eAAe;QACjC,sCAAiB,CAAC,cAAc;QAChC,sCAAiB,CAAC,iBAAiB;QACnC,sCAAiB,CAAC,WAAW;QAC7B,sCAAiB,CAAC,eAAe;QACjC,sCAAiB,CAAC,gBAAgB;QAClC,sCAAiB,CAAC,UAAU;QAC5B,sCAAiB,CAAC,IAAI;QACtB,sCAAiB,CAAC,OAAO;KAC1B;IACD,GAAC,mCAAkB,CAAC,KAAK,IAAG;QAC1B,sCAAiB,CAAC,cAAc;QAChC,sCAAiB,CAAC,kBAAkB;QACpC,sCAAiB,CAAC,gBAAgB;QAClC,sCAAiB,CAAC,MAAM;QACxB,sCAAiB,CAAC,eAAe;QACjC,sCAAiB,CAAC,gBAAgB;QAClC,sCAAiB,CAAC,WAAW;QAC7B,sCAAiB,CAAC,cAAc;QAChC,sCAAiB,CAAC,OAAO;KAC1B;QACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,6CAA2B;AAEd,QAAA,IAAI,GAAG,MAAM,CAAC;AACd,QAAA,UAAU,GAAG,EAAE,CAAC;AAC7B,+CAA6B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,6CAA2B;AAEd,QAAA,IAAI,GAAG,MAAM,CAAC;AACd,QAAA,UAAU,GAAG,EAAE,CAAC;AAC7B,+CAA6B;AAC7B,sDAAoC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usage-collection.js","sourceRoot":"","sources":["../../../src/types/usage-collection.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generatePullSlots = generatePullSlots;
|
|
4
|
+
function generatePullSlots(dateFrom, dateTo, intervalMs) {
|
|
5
|
+
var starTimeMs = new Date(dateFrom).getTime();
|
|
6
|
+
var endTimeMs = new Date(dateTo).getTime();
|
|
7
|
+
var periods = [];
|
|
8
|
+
while (starTimeMs < endTimeMs) {
|
|
9
|
+
periods.push({
|
|
10
|
+
dateFrom: new Date(starTimeMs),
|
|
11
|
+
dateTo: new Date(starTimeMs + intervalMs),
|
|
12
|
+
});
|
|
13
|
+
starTimeMs += intervalMs;
|
|
14
|
+
}
|
|
15
|
+
return periods;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=generate-pull-slots.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-pull-slots.js","sourceRoot":"","sources":["../../../src/utils/generate-pull-slots.ts"],"names":[],"mappings":";;AAQA,8CAgBC;AAhBD,SAAgB,iBAAiB,CAC/B,QAAc,EACd,MAAY,EACZ,UAAkB;IAElB,IAAI,UAAU,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;IAC9C,IAAM,SAAS,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;IAC7C,IAAM,OAAO,GAAwC,EAAE,CAAC;IACxD,OAAO,UAAU,GAAG,SAAS,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC;YACX,QAAQ,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC;YAC9B,MAAM,EAAE,IAAI,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;SAC1C,CAAC,CAAC;QACH,UAAU,IAAI,UAAU,CAAC;IAC3B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getDruidEventTypes = getDruidEventTypes;
|
|
4
|
+
var category_namespace_1 = require("../enums/category-namespace");
|
|
5
|
+
var CATEGORY_NAMESPACES = new Set(Object.values(category_namespace_1.CategoryNamespace));
|
|
6
|
+
function getDruidEventTypes(metadata) {
|
|
7
|
+
if (!Array.isArray(metadata === null || metadata === void 0 ? void 0 : metadata.tables))
|
|
8
|
+
return [];
|
|
9
|
+
var eventTypes = metadata.tables.flatMap(function (table) {
|
|
10
|
+
if (typeof table !== 'object' || table === null || !('eventTypes' in table))
|
|
11
|
+
return [];
|
|
12
|
+
return Array.isArray(table.eventTypes) ? table.eventTypes : [];
|
|
13
|
+
});
|
|
14
|
+
return Array.from(new Set(eventTypes.filter(function (eventType) { return (typeof eventType === 'string' && CATEGORY_NAMESPACES.has(eventType)); })));
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=get-druid-event-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-druid-event-types.js","sourceRoot":"","sources":["../../../src/utils/get-druid-event-types.ts"],"names":[],"mappings":";;AAIA,gDAWC;AAfD,kEAAgE;AAEhE,IAAM,mBAAmB,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,MAAM,CAAC,sCAAiB,CAAC,CAAC,CAAC;AAE9E,SAAgB,kBAAkB,CAAC,QAAkC;IACnE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC;IAEhD,IAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,UAAA,KAAK;QAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,YAAY,IAAI,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACvF,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,UAAC,SAAS,IAAqC,OAAA,CACzF,OAAO,SAAS,KAAK,QAAQ,IAAI,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,CACpE,EAF0F,CAE1F,CAAC,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/dist/cjs/utils/index.js
CHANGED
|
@@ -21,4 +21,6 @@ __exportStar(require("./format-date"), exports);
|
|
|
21
21
|
__exportStar(require("./escape-csv-value"), exports);
|
|
22
22
|
__exportStar(require("./build-csv-file-name"), exports);
|
|
23
23
|
__exportStar(require("./build-csv-file-string"), exports);
|
|
24
|
+
__exportStar(require("./get-druid-event-types"), exports);
|
|
25
|
+
__exportStar(require("./generate-pull-slots"), exports);
|
|
24
26
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,qDAAmC;AACnC,yCAAuB;AACvB,gDAA8B;AAC9B,qDAAmC;AACnC,wDAAsC;AACtC,0DAAwC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,qDAAmC;AACnC,yCAAuB;AACvB,gDAA8B;AAC9B,qDAAmC;AACnC,wDAAsC;AACtC,0DAAwC;AACxC,0DAAwC;AACxC,wDAAsC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { CategoryNamespace } from '../enums/category-namespace';
|
|
2
|
+
import { DataSourceProvider } from '../enums/customer-usage';
|
|
3
|
+
export const DB_EVENT_TYPE_MAP = {
|
|
4
|
+
[DataSourceProvider.AZURE]: [
|
|
5
|
+
CategoryNamespace.PROCESSING_FLOW,
|
|
6
|
+
CategoryNamespace.PROCESSING_VOICE,
|
|
7
|
+
CategoryNamespace.EXECUTABLE_GENERAL,
|
|
8
|
+
CategoryNamespace.EXECUTABLE_PORT_IN_IDENTIFIER,
|
|
9
|
+
CategoryNamespace.LOOKUP,
|
|
10
|
+
CategoryNamespace.TELEPHONY_VOICE,
|
|
11
|
+
CategoryNamespace.MESSAGING_TEXT,
|
|
12
|
+
CategoryNamespace.CONVERSATIONS_WAP,
|
|
13
|
+
CategoryNamespace.CARRIER_FEE,
|
|
14
|
+
CategoryNamespace.STORAGE_GENERAL,
|
|
15
|
+
CategoryNamespace.STORAGE_WEAVIATE,
|
|
16
|
+
CategoryNamespace.IDENTIFIER,
|
|
17
|
+
CategoryNamespace.USER,
|
|
18
|
+
CategoryNamespace.PRODUCT,
|
|
19
|
+
],
|
|
20
|
+
[DataSourceProvider.DRUID]: [
|
|
21
|
+
CategoryNamespace.EXECUTABLE_LLM,
|
|
22
|
+
CategoryNamespace.EXECUTABLE_GENERAL,
|
|
23
|
+
CategoryNamespace.STORAGE_WEAVIATE,
|
|
24
|
+
CategoryNamespace.LOOKUP,
|
|
25
|
+
CategoryNamespace.TELEPHONY_VOICE,
|
|
26
|
+
CategoryNamespace.PROCESSING_VOICE,
|
|
27
|
+
CategoryNamespace.CARRIER_FEE,
|
|
28
|
+
CategoryNamespace.MESSAGING_TEXT,
|
|
29
|
+
CategoryNamespace.PRODUCT,
|
|
30
|
+
],
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=db-event-type-map.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"db-event-type-map.js","sourceRoot":"","sources":["../../../src/constants/db-event-type-map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE;QAC1B,iBAAiB,CAAC,eAAe;QACjC,iBAAiB,CAAC,gBAAgB;QAClC,iBAAiB,CAAC,kBAAkB;QACpC,iBAAiB,CAAC,6BAA6B;QAC/C,iBAAiB,CAAC,MAAM;QACxB,iBAAiB,CAAC,eAAe;QACjC,iBAAiB,CAAC,cAAc;QAChC,iBAAiB,CAAC,iBAAiB;QACnC,iBAAiB,CAAC,WAAW;QAC7B,iBAAiB,CAAC,eAAe;QACjC,iBAAiB,CAAC,gBAAgB;QAClC,iBAAiB,CAAC,UAAU;QAC5B,iBAAiB,CAAC,IAAI;QACtB,iBAAiB,CAAC,OAAO;KAC1B;IACD,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE;QAC1B,iBAAiB,CAAC,cAAc;QAChC,iBAAiB,CAAC,kBAAkB;QACpC,iBAAiB,CAAC,gBAAgB;QAClC,iBAAiB,CAAC,MAAM;QACxB,iBAAiB,CAAC,eAAe;QACjC,iBAAiB,CAAC,gBAAgB;QAClC,iBAAiB,CAAC,WAAW;QAC7B,iBAAiB,CAAC,cAAc;QAChC,iBAAiB,CAAC,OAAO;KAC1B;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAE3B,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC;AAC3B,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,CAAC;AAC7B,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAE3B,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC;AAC3B,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usage-collection.js","sourceRoot":"","sources":["../../../src/types/usage-collection.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export function generatePullSlots(dateFrom, dateTo, intervalMs) {
|
|
2
|
+
let starTimeMs = new Date(dateFrom).getTime();
|
|
3
|
+
const endTimeMs = new Date(dateTo).getTime();
|
|
4
|
+
const periods = [];
|
|
5
|
+
while (starTimeMs < endTimeMs) {
|
|
6
|
+
periods.push({
|
|
7
|
+
dateFrom: new Date(starTimeMs),
|
|
8
|
+
dateTo: new Date(starTimeMs + intervalMs),
|
|
9
|
+
});
|
|
10
|
+
starTimeMs += intervalMs;
|
|
11
|
+
}
|
|
12
|
+
return periods;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=generate-pull-slots.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-pull-slots.js","sourceRoot":"","sources":["../../../src/utils/generate-pull-slots.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,iBAAiB,CAC/B,QAAc,EACd,MAAY,EACZ,UAAkB;IAElB,IAAI,UAAU,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;IAC9C,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;IAC7C,MAAM,OAAO,GAAwC,EAAE,CAAC;IACxD,OAAO,UAAU,GAAG,SAAS,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC;YACX,QAAQ,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC;YAC9B,MAAM,EAAE,IAAI,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;SAC1C,CAAC,CAAC;QACH,UAAU,IAAI,UAAU,CAAC;IAC3B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { CategoryNamespace } from '../enums/category-namespace';
|
|
2
|
+
const CATEGORY_NAMESPACES = new Set(Object.values(CategoryNamespace));
|
|
3
|
+
export function getDruidEventTypes(metadata) {
|
|
4
|
+
if (!Array.isArray(metadata === null || metadata === void 0 ? void 0 : metadata.tables))
|
|
5
|
+
return [];
|
|
6
|
+
const eventTypes = metadata.tables.flatMap(table => {
|
|
7
|
+
if (typeof table !== 'object' || table === null || !('eventTypes' in table))
|
|
8
|
+
return [];
|
|
9
|
+
return Array.isArray(table.eventTypes) ? table.eventTypes : [];
|
|
10
|
+
});
|
|
11
|
+
return Array.from(new Set(eventTypes.filter((eventType) => (typeof eventType === 'string' && CATEGORY_NAMESPACES.has(eventType)))));
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=get-druid-event-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-druid-event-types.js","sourceRoot":"","sources":["../../../src/utils/get-druid-event-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAE9E,MAAM,UAAU,kBAAkB,CAAC,QAAkC;IACnE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC;IAEhD,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,YAAY,IAAI,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACvF,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAkC,EAAE,CAAC,CACzF,OAAO,SAAS,KAAK,QAAQ,IAAI,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,CACpE,CAAC,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/dist/esm/utils/index.js
CHANGED
|
@@ -5,4 +5,6 @@ export * from './format-date';
|
|
|
5
5
|
export * from './escape-csv-value';
|
|
6
6
|
export * from './build-csv-file-name';
|
|
7
7
|
export * from './build-csv-file-string';
|
|
8
|
+
export * from './get-druid-event-types';
|
|
9
|
+
export * from './generate-pull-slots';
|
|
8
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,oBAAoB,CAAC;AACnC,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,oBAAoB,CAAC;AACnC,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"db-event-type-map.d.ts","sourceRoot":"","sources":["../../../src/constants/db-event-type-map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAIhE,eAAO,MAAM,iBAAiB;;;CA4B7B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAE3B,eAAO,MAAM,IAAI,SAAS,CAAC;AAC3B,eAAO,MAAM,UAAU,KAAK,CAAC;AAC7B,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAE3B,eAAO,MAAM,IAAI,SAAS,CAAC;AAC3B,eAAO,MAAM,UAAU,KAAK,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,mBAAmB,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,mBAAmB,yBAAyB,CAAC;AAC7C,mBAAmB,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { CategoryNamespace } from '../enums/category-namespace';
|
|
2
|
+
import type { DataSourceProvider } from '../enums/customer-usage';
|
|
3
|
+
export interface UsageQueuePayload {
|
|
4
|
+
id: string;
|
|
5
|
+
provider: DataSourceProvider;
|
|
6
|
+
queryType: CategoryNamespace;
|
|
7
|
+
dateFrom: Date;
|
|
8
|
+
dateTo: Date;
|
|
9
|
+
sourceType?: string;
|
|
10
|
+
processingRecordId: string;
|
|
11
|
+
jobId: string;
|
|
12
|
+
}
|
|
13
|
+
export type InitialUsageQueuePayload = Omit<UsageQueuePayload, 'processingRecordId' | 'jobId'>;
|
|
14
|
+
//# sourceMappingURL=usage-collection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usage-collection.d.ts","sourceRoot":"","sources":["../../../src/types/usage-collection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,SAAS,EAAE,iBAAiB,CAAC;IAC7B,QAAQ,EAAE,IAAI,CAAC;IACf,MAAM,EAAE,IAAI,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,iBAAiB,EAAE,oBAAoB,GAAG,OAAO,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-pull-slots.d.ts","sourceRoot":"","sources":["../../../src/utils/generate-pull-slots.ts"],"names":[],"mappings":"AAQA,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,IAAI,EACd,MAAM,EAAE,IAAI,EACZ,UAAU,EAAE,MAAM,GACjB;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,IAAI,CAAC;CAAE,EAAE,CAYrC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-druid-event-types.d.ts","sourceRoot":"","sources":["../../../src/utils/get-druid-event-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAIhE,wBAAgB,kBAAkB,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,iBAAiB,EAAE,CAW1F"}
|
|
@@ -5,4 +5,6 @@ export * from './format-date';
|
|
|
5
5
|
export * from './escape-csv-value';
|
|
6
6
|
export * from './build-csv-file-name';
|
|
7
7
|
export * from './build-csv-file-string';
|
|
8
|
+
export * from './get-druid-event-types';
|
|
9
|
+
export * from './generate-pull-slots';
|
|
8
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,oBAAoB,CAAC;AACnC,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,oBAAoB,CAAC;AACnC,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { CategoryNamespace } from '../enums/category-namespace';
|
|
2
|
+
import { DataSourceProvider } from '../enums/customer-usage';
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
export const DB_EVENT_TYPE_MAP = {
|
|
6
|
+
[DataSourceProvider.AZURE]: [
|
|
7
|
+
CategoryNamespace.PROCESSING_FLOW,
|
|
8
|
+
CategoryNamespace.PROCESSING_VOICE,
|
|
9
|
+
CategoryNamespace.EXECUTABLE_GENERAL,
|
|
10
|
+
CategoryNamespace.EXECUTABLE_PORT_IN_IDENTIFIER,
|
|
11
|
+
CategoryNamespace.LOOKUP,
|
|
12
|
+
CategoryNamespace.TELEPHONY_VOICE,
|
|
13
|
+
CategoryNamespace.MESSAGING_TEXT,
|
|
14
|
+
CategoryNamespace.CONVERSATIONS_WAP,
|
|
15
|
+
CategoryNamespace.CARRIER_FEE,
|
|
16
|
+
CategoryNamespace.STORAGE_GENERAL,
|
|
17
|
+
CategoryNamespace.STORAGE_WEAVIATE,
|
|
18
|
+
CategoryNamespace.IDENTIFIER,
|
|
19
|
+
CategoryNamespace.USER,
|
|
20
|
+
CategoryNamespace.PRODUCT,
|
|
21
|
+
],
|
|
22
|
+
[DataSourceProvider.DRUID]: [
|
|
23
|
+
CategoryNamespace.EXECUTABLE_LLM,
|
|
24
|
+
CategoryNamespace.EXECUTABLE_GENERAL,
|
|
25
|
+
CategoryNamespace.STORAGE_WEAVIATE,
|
|
26
|
+
CategoryNamespace.LOOKUP,
|
|
27
|
+
CategoryNamespace.TELEPHONY_VOICE,
|
|
28
|
+
CategoryNamespace.PROCESSING_VOICE,
|
|
29
|
+
CategoryNamespace.CARRIER_FEE,
|
|
30
|
+
CategoryNamespace.MESSAGING_TEXT,
|
|
31
|
+
CategoryNamespace.PRODUCT,
|
|
32
|
+
],
|
|
33
|
+
};
|
package/src/constants/index.ts
CHANGED
package/src/types/index.ts
CHANGED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { CategoryNamespace } from '../enums/category-namespace';
|
|
2
|
+
import type { DataSourceProvider } from '../enums/customer-usage';
|
|
3
|
+
|
|
4
|
+
export interface UsageQueuePayload {
|
|
5
|
+
id: string;
|
|
6
|
+
provider: DataSourceProvider;
|
|
7
|
+
queryType: CategoryNamespace;
|
|
8
|
+
dateFrom: Date;
|
|
9
|
+
dateTo: Date;
|
|
10
|
+
sourceType?: string;
|
|
11
|
+
processingRecordId: string;
|
|
12
|
+
jobId: string;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export type InitialUsageQueuePayload = Omit<UsageQueuePayload, 'processingRecordId' | 'jobId'>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generates period slots with dateFrom and dateTo.
|
|
3
|
+
*
|
|
4
|
+
* @param dateFrom
|
|
5
|
+
* @param dateTo
|
|
6
|
+
* @param intervalMs
|
|
7
|
+
* @returns An array of objects with dateFrom and dateTo.
|
|
8
|
+
*/
|
|
9
|
+
export function generatePullSlots(
|
|
10
|
+
dateFrom: Date,
|
|
11
|
+
dateTo: Date,
|
|
12
|
+
intervalMs: number,
|
|
13
|
+
): { dateFrom: Date; dateTo: Date; }[] {
|
|
14
|
+
let starTimeMs = new Date(dateFrom).getTime();
|
|
15
|
+
const endTimeMs = new Date(dateTo).getTime();
|
|
16
|
+
const periods: { dateFrom: Date; dateTo: Date; }[] = [];
|
|
17
|
+
while (starTimeMs < endTimeMs) {
|
|
18
|
+
periods.push({
|
|
19
|
+
dateFrom: new Date(starTimeMs),
|
|
20
|
+
dateTo: new Date(starTimeMs + intervalMs),
|
|
21
|
+
});
|
|
22
|
+
starTimeMs += intervalMs;
|
|
23
|
+
}
|
|
24
|
+
return periods;
|
|
25
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { CategoryNamespace } from '../enums/category-namespace';
|
|
2
|
+
|
|
3
|
+
const CATEGORY_NAMESPACES = new Set<string>(Object.values(CategoryNamespace));
|
|
4
|
+
|
|
5
|
+
export function getDruidEventTypes(metadata?: Record<string, unknown>): CategoryNamespace[] {
|
|
6
|
+
if (!Array.isArray(metadata?.tables)) return [];
|
|
7
|
+
|
|
8
|
+
const eventTypes = metadata.tables.flatMap(table => {
|
|
9
|
+
if (typeof table !== 'object' || table === null || !('eventTypes' in table)) return [];
|
|
10
|
+
return Array.isArray(table.eventTypes) ? table.eventTypes : [];
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
return Array.from(new Set(eventTypes.filter((eventType): eventType is CategoryNamespace => (
|
|
14
|
+
typeof eventType === 'string' && CATEGORY_NAMESPACES.has(eventType)
|
|
15
|
+
))));
|
|
16
|
+
}
|