@machinemetrics/mm-erp-sdk 0.3.0-beta.0 → 0.3.0-beta.1
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/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/services/data-sync-service/configuration-manager.d.ts.map +1 -1
- package/dist/services/data-sync-service/configuration-manager.js +30 -30
- package/dist/services/data-sync-service/configuration-manager.js.map +1 -1
- package/dist/services/data-sync-service/data-sync-service.d.ts.map +1 -1
- package/dist/services/data-sync-service/data-sync-service.js +9 -0
- package/dist/services/data-sync-service/data-sync-service.js.map +1 -1
- package/dist/services/data-sync-service/jobs/clean-up-expired-cache.d.ts.map +1 -1
- package/dist/services/data-sync-service/jobs/clean-up-expired-cache.js +1 -2
- package/dist/services/data-sync-service/jobs/clean-up-expired-cache.js.map +1 -1
- package/dist/services/data-sync-service/jobs/from-erp.d.ts.map +1 -1
- package/dist/services/data-sync-service/jobs/from-erp.js +7 -13
- package/dist/services/data-sync-service/jobs/from-erp.js.map +1 -1
- package/dist/services/data-sync-service/jobs/retry-failed-labor-tickets.d.ts.map +1 -1
- package/dist/services/data-sync-service/jobs/retry-failed-labor-tickets.js +1 -2
- package/dist/services/data-sync-service/jobs/retry-failed-labor-tickets.js.map +1 -1
- package/dist/services/data-sync-service/jobs/run-migrations.d.ts.map +1 -1
- package/dist/services/data-sync-service/jobs/run-migrations.js +1 -2
- package/dist/services/data-sync-service/jobs/run-migrations.js.map +1 -1
- package/dist/services/data-sync-service/jobs/to-erp.d.ts.map +1 -1
- package/dist/services/data-sync-service/jobs/to-erp.js +12 -3
- package/dist/services/data-sync-service/jobs/to-erp.js.map +1 -1
- package/dist/services/data-sync-service/nats-labor-ticket-listener.d.ts +30 -0
- package/dist/services/data-sync-service/nats-labor-ticket-listener.d.ts.map +1 -0
- package/dist/services/data-sync-service/nats-labor-ticket-listener.js +290 -0
- package/dist/services/data-sync-service/nats-labor-ticket-listener.js.map +1 -0
- package/dist/services/mm-api-service/company-info.d.ts +13 -0
- package/dist/services/mm-api-service/company-info.d.ts.map +1 -0
- package/dist/services/mm-api-service/company-info.js +60 -0
- package/dist/services/mm-api-service/company-info.js.map +1 -0
- package/dist/services/mm-api-service/index.d.ts +7 -0
- package/dist/services/mm-api-service/index.d.ts.map +1 -1
- package/dist/services/mm-api-service/index.js +5 -0
- package/dist/services/mm-api-service/index.js.map +1 -1
- package/dist/services/mm-api-service/mm-api-service.d.ts +6 -0
- package/dist/services/mm-api-service/mm-api-service.d.ts.map +1 -1
- package/dist/services/mm-api-service/mm-api-service.js +15 -3
- package/dist/services/mm-api-service/mm-api-service.js.map +1 -1
- package/dist/services/mm-api-service/types/receive-types.d.ts +3 -0
- package/dist/services/mm-api-service/types/receive-types.d.ts.map +1 -1
- package/dist/services/mm-api-service/types/receive-types.js +1 -0
- package/dist/services/mm-api-service/types/receive-types.js.map +1 -1
- package/dist/services/nats-service/nats-service.d.ts +114 -0
- package/dist/services/nats-service/nats-service.d.ts.map +1 -0
- package/dist/services/nats-service/nats-service.js +244 -0
- package/dist/services/nats-service/nats-service.js.map +1 -0
- package/dist/services/nats-service/test-nats-subscriber.d.ts +6 -0
- package/dist/services/nats-service/test-nats-subscriber.d.ts.map +1 -0
- package/dist/services/nats-service/test-nats-subscriber.js +79 -0
- package/dist/services/nats-service/test-nats-subscriber.js.map +1 -0
- package/dist/services/reporting-service/logger.d.ts.map +1 -1
- package/dist/services/reporting-service/logger.js +31 -6
- package/dist/services/reporting-service/logger.js.map +1 -1
- package/dist/types/erp-connector.d.ts +1 -8
- package/dist/types/erp-connector.d.ts.map +1 -1
- package/dist/types/index.d.ts +0 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/error-formatter.d.ts +19 -0
- package/dist/utils/error-formatter.d.ts.map +1 -0
- package/dist/utils/error-formatter.js +184 -0
- package/dist/utils/error-formatter.js.map +1 -0
- package/dist/utils/http-client.js +2 -4
- package/dist/utils/http-client.js.map +1 -1
- package/dist/utils/index.d.ts +5 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +4 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/local-data-store/jobs-shared-data.d.ts +0 -2
- package/dist/utils/local-data-store/jobs-shared-data.d.ts.map +1 -1
- package/dist/utils/local-data-store/jobs-shared-data.js +0 -2
- package/dist/utils/local-data-store/jobs-shared-data.js.map +1 -1
- package/dist/utils/mm-labor-ticket-helpers.d.ts +4 -3
- package/dist/utils/mm-labor-ticket-helpers.d.ts.map +1 -1
- package/dist/utils/mm-labor-ticket-helpers.js +7 -12
- package/dist/utils/mm-labor-ticket-helpers.js.map +1 -1
- package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.d.ts +0 -15
- package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.d.ts.map +1 -1
- package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.js +46 -180
- package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.js.map +1 -1
- package/dist/utils/standard-process-drivers/mm-entity-processor.d.ts +1 -7
- package/dist/utils/standard-process-drivers/mm-entity-processor.d.ts.map +1 -1
- package/dist/utils/standard-process-drivers/mm-entity-processor.js +1 -7
- package/dist/utils/standard-process-drivers/mm-entity-processor.js.map +1 -1
- package/dist/utils/standard-process-drivers/standard-process-drivers.d.ts +2 -8
- package/dist/utils/standard-process-drivers/standard-process-drivers.d.ts.map +1 -1
- package/dist/utils/standard-process-drivers/standard-process-drivers.js +18 -27
- package/dist/utils/standard-process-drivers/standard-process-drivers.js.map +1 -1
- package/dist/utils/time-utils.d.ts.map +1 -1
- package/dist/utils/time-utils.js +0 -7
- package/dist/utils/time-utils.js.map +1 -1
- package/package.json +5 -4
- package/src/index.ts +3 -0
- package/src/services/data-sync-service/configuration-manager.ts +37 -50
- package/src/services/data-sync-service/data-sync-service.ts +10 -0
- package/src/services/data-sync-service/jobs/clean-up-expired-cache.ts +1 -2
- package/src/services/data-sync-service/jobs/from-erp.ts +7 -13
- package/src/services/data-sync-service/jobs/retry-failed-labor-tickets.ts +1 -2
- package/src/services/data-sync-service/jobs/run-migrations.ts +1 -2
- package/src/services/data-sync-service/jobs/to-erp.ts +12 -3
- package/src/services/data-sync-service/nats-labor-ticket-listener.ts +342 -0
- package/src/services/mm-api-service/company-info.ts +87 -0
- package/src/services/mm-api-service/index.ts +8 -0
- package/src/services/mm-api-service/mm-api-service.ts +20 -3
- package/src/services/mm-api-service/types/receive-types.ts +1 -0
- package/src/services/nats-service/nats-service.ts +351 -0
- package/src/services/nats-service/test-nats-subscriber.ts +96 -0
- package/src/services/reporting-service/logger.ts +39 -7
- package/src/types/erp-connector.ts +1 -8
- package/src/types/index.ts +0 -8
- package/src/utils/error-formatter.ts +205 -0
- package/src/utils/http-client.ts +3 -4
- package/src/utils/index.ts +6 -5
- package/src/utils/local-data-store/jobs-shared-data.ts +0 -2
- package/src/utils/mm-labor-ticket-helpers.ts +8 -11
- package/src/utils/standard-process-drivers/labor-ticket-erp-synchronizer.ts +64 -220
- package/src/utils/standard-process-drivers/mm-entity-processor.ts +1 -7
- package/src/utils/standard-process-drivers/standard-process-drivers.ts +19 -33
- package/src/utils/time-utils.ts +0 -11
- package/dist/types/flattened-work-order.d.ts +0 -99
- package/dist/types/flattened-work-order.d.ts.map +0 -1
- package/dist/types/flattened-work-order.js +0 -2
- package/dist/types/flattened-work-order.js.map +0 -1
- package/dist/utils/env.d.ts +0 -8
- package/dist/utils/env.d.ts.map +0 -1
- package/dist/utils/env.js +0 -58
- package/dist/utils/env.js.map +0 -1
- package/dist/utils/erp-timezone-utils.d.ts +0 -20
- package/dist/utils/erp-timezone-utils.d.ts.map +0 -1
- package/dist/utils/erp-timezone-utils.js +0 -75
- package/dist/utils/erp-timezone-utils.js.map +0 -1
- package/src/types/flattened-work-order.ts +0 -108
- package/src/utils/env.ts +0 -75
- package/src/utils/erp-timezone-utils.ts +0 -99
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import { DateTime } from "luxon";
|
|
2
|
-
import logger from "../services/reporting-service/logger.js";
|
|
3
|
-
import { getCachedTimezoneName } from "./local-data-store/jobs-shared-data.js";
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Retrieves the ERP timezone name that should have been cached during initialization.
|
|
7
|
-
* @throws Error when the timezone cache has not been populated.
|
|
8
|
-
*/
|
|
9
|
-
export function getERPTimezone(): string {
|
|
10
|
-
const timezone = getCachedTimezoneName();
|
|
11
|
-
if (!timezone) {
|
|
12
|
-
throw new Error(
|
|
13
|
-
"ERP timezone is not cached. Run getTimezoneOffsetAndPersist() to populate it."
|
|
14
|
-
);
|
|
15
|
-
}
|
|
16
|
-
return timezone;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Converts a UTC ISO-8601 datetime string to the ERP's local timezone (also ISO-8601).
|
|
21
|
-
* @param utcDateTime ISO-8601 datetime string representing UTC time.
|
|
22
|
-
* @param timezone Optional timezone override; defaults to the cached ERP timezone.
|
|
23
|
-
* @returns ISO-8601 string in the ERP timezone.
|
|
24
|
-
*/
|
|
25
|
-
export function convertUtcDateTimeToErpLocal(
|
|
26
|
-
utcDateTime: string,
|
|
27
|
-
timezone?: string
|
|
28
|
-
): string {
|
|
29
|
-
if (!utcDateTime) {
|
|
30
|
-
throw new Error("convertUtcDateTimeToErpLocal requires a non-empty UTC datetime string");
|
|
31
|
-
}
|
|
32
|
-
try {
|
|
33
|
-
const targetZone = timezone ?? getERPTimezone();
|
|
34
|
-
const parsedUtc = DateTime.fromISO(utcDateTime, { zone: "utc" });
|
|
35
|
-
if (!parsedUtc.isValid) {
|
|
36
|
-
throw new Error(
|
|
37
|
-
`Invalid UTC datetime "${utcDateTime}": ${parsedUtc.invalidReason}`
|
|
38
|
-
);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
const localized = parsedUtc.setZone(targetZone);
|
|
42
|
-
if (!localized.isValid) {
|
|
43
|
-
throw new Error(
|
|
44
|
-
`Unable to convert UTC datetime "${utcDateTime}" to target zone "${targetZone}": ${localized.invalidReason}`
|
|
45
|
-
);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
return localized.toISO();
|
|
49
|
-
} catch (error) {
|
|
50
|
-
logger.error("convertUtcDateTimeToErpLocal: Failed to convert datetime", {
|
|
51
|
-
utcDateTime,
|
|
52
|
-
error,
|
|
53
|
-
});
|
|
54
|
-
throw new Error(
|
|
55
|
-
"Failed to convert UTC datetime to ERP local timezone. See logs for details."
|
|
56
|
-
);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Converts an ERP-local ISO-8601 datetime string to UTC (still ISO-8601).
|
|
62
|
-
* @param localDateTime ISO-8601 datetime string representing ERP local time.
|
|
63
|
-
* @param timezone Optional timezone override; defaults to the cached ERP timezone.
|
|
64
|
-
* @returns ISO-8601 string in UTC.
|
|
65
|
-
*/
|
|
66
|
-
export function convertErpLocalDateTimeToUtc(
|
|
67
|
-
localDateTime: string,
|
|
68
|
-
timezone?: string
|
|
69
|
-
): string {
|
|
70
|
-
if (!localDateTime) {
|
|
71
|
-
throw new Error("convertErpLocalDateTimeToUtc requires a non-empty local datetime string");
|
|
72
|
-
}
|
|
73
|
-
try {
|
|
74
|
-
const sourceZone = timezone ?? getERPTimezone();
|
|
75
|
-
const parsedLocal = DateTime.fromISO(localDateTime, { zone: sourceZone });
|
|
76
|
-
if (!parsedLocal.isValid) {
|
|
77
|
-
throw new Error(
|
|
78
|
-
`Invalid ERP local datetime "${localDateTime}" for zone "${sourceZone}": ${parsedLocal.invalidReason}`
|
|
79
|
-
);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
const utcDateTime = parsedLocal.setZone("utc");
|
|
83
|
-
if (!utcDateTime.isValid) {
|
|
84
|
-
throw new Error(
|
|
85
|
-
`Unable to convert ERP local datetime "${localDateTime}" to UTC: ${utcDateTime.invalidReason}`
|
|
86
|
-
);
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
return utcDateTime.toISO();
|
|
90
|
-
} catch (error) {
|
|
91
|
-
logger.error("convertErpLocalDateTimeToUtc: Failed to convert datetime", {
|
|
92
|
-
localDateTime,
|
|
93
|
-
error,
|
|
94
|
-
});
|
|
95
|
-
throw new Error(
|
|
96
|
-
"Failed to convert ERP local datetime to UTC. See logs for details."
|
|
97
|
-
);
|
|
98
|
-
}
|
|
99
|
-
}
|