@machinemetrics/mm-erp-sdk 0.3.0-beta.0 → 0.3.0-beta.2
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/mm-api-service/types/send-types.d.ts +17 -8
- package/dist/services/mm-api-service/types/send-types.d.ts.map +1 -1
- package/dist/services/mm-api-service/types/send-types.js +41 -17
- package/dist/services/mm-api-service/types/send-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/mm-api-service/types/send-types.ts +40 -16
- 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
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error formatter utility for standardizing error messages across connectors
|
|
3
|
+
* Extracts human-readable messages from various error types (axios, custom errors, etc.)
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Extract meaningful error message from various error types
|
|
7
|
+
*/
|
|
8
|
+
export function formatError(error) {
|
|
9
|
+
if (!error) {
|
|
10
|
+
return {
|
|
11
|
+
message: 'Unknown error occurred',
|
|
12
|
+
code: 'UNKNOWN_ERROR',
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
// Handle axios errors FIRST (before checking for FormattedError)
|
|
16
|
+
// because axios errors also have message and code properties
|
|
17
|
+
if (error.isAxiosError || error.name === 'AxiosError') {
|
|
18
|
+
return formatAxiosError(error);
|
|
19
|
+
}
|
|
20
|
+
// If it's already a FormattedError, return as-is
|
|
21
|
+
// Check for httpStatus or metadata to distinguish from axios errors
|
|
22
|
+
if (error.message && error.code && typeof error.message === 'string' && typeof error.code === 'string' && !error.config) {
|
|
23
|
+
return error;
|
|
24
|
+
}
|
|
25
|
+
// Handle standard Error objects
|
|
26
|
+
if (error instanceof Error) {
|
|
27
|
+
return {
|
|
28
|
+
message: error.message || 'An error occurred',
|
|
29
|
+
code: 'ERROR',
|
|
30
|
+
metadata: {
|
|
31
|
+
name: error.name,
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
// Handle string errors
|
|
36
|
+
if (typeof error === 'string') {
|
|
37
|
+
return {
|
|
38
|
+
message: error,
|
|
39
|
+
code: 'ERROR',
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
// Last resort: try to extract any useful info
|
|
43
|
+
const message = error.message || error.toString?.() || 'Unknown error occurred';
|
|
44
|
+
return {
|
|
45
|
+
message: typeof message === 'string' ? message : JSON.stringify(message),
|
|
46
|
+
code: error.code || 'UNKNOWN_ERROR',
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Format axios-specific errors with detailed context
|
|
51
|
+
*/
|
|
52
|
+
function formatAxiosError(error) {
|
|
53
|
+
const httpStatus = error.response?.status;
|
|
54
|
+
const method = error.config?.method?.toUpperCase();
|
|
55
|
+
const url = error.config?.url;
|
|
56
|
+
// First check if connector already extracted the message
|
|
57
|
+
let message = error._extractedMessage;
|
|
58
|
+
// If not, try to extract from response data
|
|
59
|
+
if (!message) {
|
|
60
|
+
const extractedMessage = extractErrorMessage(error.response?.data);
|
|
61
|
+
message = extractedMessage || error.response?.statusText || error.message || 'Request failed';
|
|
62
|
+
}
|
|
63
|
+
// Determine error code based on status
|
|
64
|
+
const code = categorizeHttpError(httpStatus);
|
|
65
|
+
const metadata = {
|
|
66
|
+
method,
|
|
67
|
+
url,
|
|
68
|
+
};
|
|
69
|
+
// Add additional context for specific error types
|
|
70
|
+
if (httpStatus === 401 || httpStatus === 403) {
|
|
71
|
+
metadata.hint = 'Check authentication credentials';
|
|
72
|
+
}
|
|
73
|
+
else if (httpStatus === 404) {
|
|
74
|
+
metadata.hint = 'Resource not found - check endpoint URL';
|
|
75
|
+
}
|
|
76
|
+
else if (httpStatus && httpStatus >= 500) {
|
|
77
|
+
metadata.hint = 'ERP system may be temporarily unavailable';
|
|
78
|
+
}
|
|
79
|
+
return {
|
|
80
|
+
message,
|
|
81
|
+
code,
|
|
82
|
+
httpStatus,
|
|
83
|
+
metadata,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Extract meaningful error message from response data
|
|
88
|
+
* Handles various ERP-specific response formats
|
|
89
|
+
*/
|
|
90
|
+
function extractErrorMessage(data) {
|
|
91
|
+
if (!data)
|
|
92
|
+
return null;
|
|
93
|
+
// Common error message fields across different ERPs
|
|
94
|
+
const possibleFields = [
|
|
95
|
+
'ErrorMessage', // Epicor
|
|
96
|
+
'error.message', // Common REST format
|
|
97
|
+
'error', // Simple format
|
|
98
|
+
'Message', // .NET style
|
|
99
|
+
'message', // JavaScript style
|
|
100
|
+
'errorMessage', // Camel case
|
|
101
|
+
'error_message', // Snake case
|
|
102
|
+
'errors[0].message', // Array of errors
|
|
103
|
+
'title', // Problem details format
|
|
104
|
+
'detail', // Problem details format
|
|
105
|
+
];
|
|
106
|
+
for (const field of possibleFields) {
|
|
107
|
+
const value = getNestedValue(data, field);
|
|
108
|
+
if (value && typeof value === 'string') {
|
|
109
|
+
return value;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
// If data is a string, return it
|
|
113
|
+
if (typeof data === 'string') {
|
|
114
|
+
// Try to parse as JSON first
|
|
115
|
+
try {
|
|
116
|
+
const parsed = JSON.parse(data);
|
|
117
|
+
return extractErrorMessage(parsed);
|
|
118
|
+
}
|
|
119
|
+
catch {
|
|
120
|
+
return data;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
return null;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Get nested value from object using dot notation
|
|
127
|
+
*/
|
|
128
|
+
function getNestedValue(obj, path) {
|
|
129
|
+
const parts = path.split('.');
|
|
130
|
+
let current = obj;
|
|
131
|
+
for (const part of parts) {
|
|
132
|
+
// Handle array notation like 'errors[0]'
|
|
133
|
+
const arrayMatch = part.match(/(\w+)\[(\d+)\]/);
|
|
134
|
+
if (arrayMatch) {
|
|
135
|
+
const [, key, index] = arrayMatch;
|
|
136
|
+
current = current?.[key]?.[parseInt(index, 10)];
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
current = current?.[part];
|
|
140
|
+
}
|
|
141
|
+
if (current === undefined || current === null) {
|
|
142
|
+
return null;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
return current;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Categorize HTTP errors into standard codes
|
|
149
|
+
*/
|
|
150
|
+
function categorizeHttpError(status) {
|
|
151
|
+
if (!status)
|
|
152
|
+
return 'NETWORK_ERROR';
|
|
153
|
+
if (status === 400)
|
|
154
|
+
return 'VALIDATION_ERROR';
|
|
155
|
+
if (status === 401)
|
|
156
|
+
return 'AUTHENTICATION_ERROR';
|
|
157
|
+
if (status === 403)
|
|
158
|
+
return 'AUTHORIZATION_ERROR';
|
|
159
|
+
if (status === 404)
|
|
160
|
+
return 'NOT_FOUND';
|
|
161
|
+
if (status === 409)
|
|
162
|
+
return 'CONFLICT';
|
|
163
|
+
if (status === 422)
|
|
164
|
+
return 'VALIDATION_ERROR';
|
|
165
|
+
if (status === 429)
|
|
166
|
+
return 'RATE_LIMIT';
|
|
167
|
+
if (status >= 500)
|
|
168
|
+
return 'ERP_SERVER_ERROR';
|
|
169
|
+
if (status >= 400)
|
|
170
|
+
return 'CLIENT_ERROR';
|
|
171
|
+
return 'HTTP_ERROR';
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Format error for logging (shorter, cleaner version)
|
|
175
|
+
*/
|
|
176
|
+
export function formatErrorForLogging(error) {
|
|
177
|
+
const formatted = formatError(error);
|
|
178
|
+
let message = `[${formatted.code}] ${formatted.message}`;
|
|
179
|
+
if (formatted.httpStatus) {
|
|
180
|
+
message = `[${formatted.httpStatus}] ${message}`;
|
|
181
|
+
}
|
|
182
|
+
return message;
|
|
183
|
+
}
|
|
184
|
+
//# sourceMappingURL=error-formatter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-formatter.js","sourceRoot":"","sources":["../../src/utils/error-formatter.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,9 +34,10 @@ class AxiosClient {
|
|
|
34
34
|
* It can be convenient to set `baseURL` for an instance of axios to pass relative URLs to methods of that instance.
|
|
35
35
|
*/
|
|
36
36
|
constructor(baseUrl, retryAttempts) {
|
|
37
|
+
const timeout = parseInt(process.env.MM_API_TIMEOUT || "30000");
|
|
37
38
|
this.client = axios.create({
|
|
38
39
|
baseURL: baseUrl,
|
|
39
|
-
timeout:
|
|
40
|
+
timeout: timeout,
|
|
40
41
|
headers: {
|
|
41
42
|
"Content-Type": "application/json",
|
|
42
43
|
},
|
|
@@ -72,7 +73,6 @@ class AxiosClient {
|
|
|
72
73
|
params: config.params,
|
|
73
74
|
signal: controller.signal,
|
|
74
75
|
};
|
|
75
|
-
// MLW TODO
|
|
76
76
|
logger.info("HTTP request starting", {
|
|
77
77
|
url: config.url,
|
|
78
78
|
method: config.method,
|
|
@@ -89,10 +89,8 @@ class AxiosClient {
|
|
|
89
89
|
try {
|
|
90
90
|
for (let attempt = 0; attempt <= this.retryAttempts; attempt++) {
|
|
91
91
|
try {
|
|
92
|
-
// MLW TODO
|
|
93
92
|
logger.info(`HTTP request attempt ${attempt + 1}/${this.retryAttempts + 1}`);
|
|
94
93
|
const response = await this.client.request(axiosConfig);
|
|
95
|
-
// MLW TODO
|
|
96
94
|
logger.info("HTTP request succeeded", { status: response.status });
|
|
97
95
|
return {
|
|
98
96
|
data: response.data,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../src/utils/http-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAqC,MAAM,OAAO,CAAC;AAC7E,OAAO,MAAM,MAAM,yCAAyC,CAAC;AAE7D,MAAM,OAAO,SAAU,SAAQ,KAAK;IAGzB;IACA;IACA;IAJT,YACE,OAAe,EACR,MAAc,EACd,IAAa,EACb,IAAc;QAErB,KAAK,CAAC,OAAO,CAAC,CAAC;QAJR,WAAM,GAAN,MAAM,CAAQ;QACd,SAAI,GAAJ,IAAI,CAAS;QACb,SAAI,GAAJ,IAAI,CAAU;QAGrB,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;IAC1B,CAAC;CACF;AA6BD;;;GAGG;AACH,MAAM,OAAO,iBAAiB;IAC5B,MAAM,CAAC,WAAW,CAAC,MAAwB;QACzC,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IAC/D,CAAC;CACF;AAED,MAAM,WAAW;IACP,MAAM,GAAyB,IAAI,CAAC;IACpC,aAAa,CAAS;IACtB,WAAW,GAAY,KAAK,CAAC;IAC7B,mBAAmB,GAAyB,IAAI,GAAG,EAAE,CAAC;IACtD,eAAe,GAAuC,IAAI,GAAG,EAAE,CAAC;IAChE,qBAAqB,GAAoB,IAAI,GAAG,EAAE,CAAC;IAE3D;;;;OAIG;IACH,YAAY,OAAe,EAAE,aAAqB;QAChD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YACzB,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../src/utils/http-client.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -13,7 +13,6 @@ export { addNewFieldFromExternalSource, addNewFieldFromLookupField, } from "./da
|
|
|
13
13
|
export { getTimezoneOffsetAndPersist } from "./time-utils.js";
|
|
14
14
|
export { formatDateWithTZOffset, convertToLocalTime, toISOWithOffset } from "./timezone.js";
|
|
15
15
|
export { applyTimezoneOffsetsToFields } from "./time-utils.js";
|
|
16
|
-
export { convertUtcDateTimeToErpLocal, convertErpLocalDateTimeToUtc, getERPTimezone, } from "./erp-timezone-utils.js";
|
|
17
16
|
export * from "./time-utils.js";
|
|
18
17
|
/**
|
|
19
18
|
* Caching and record tracking utilities
|
|
@@ -47,6 +46,11 @@ export type { HTTPClient, HTTPRequestConfig, HTTPResponse } from "./http-client.
|
|
|
47
46
|
*/
|
|
48
47
|
export * from "./mm-labor-ticket-helpers.js";
|
|
49
48
|
export { getErrorType } from './error-utils.js';
|
|
49
|
+
/**
|
|
50
|
+
* Error formatting utilities
|
|
51
|
+
*/
|
|
52
|
+
export { formatError, formatErrorForLogging } from './error-formatter.js';
|
|
53
|
+
export type { FormattedError } from './error-formatter.js';
|
|
50
54
|
/**
|
|
51
55
|
* MM Connector Logger utilities
|
|
52
56
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,GAC3B,MAAM,0BAA0B,CAAC;AAElC;;GAEG;AACH,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC5F,OAAO,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAC/D,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,GAC3B,MAAM,0BAA0B,CAAC;AAElC;;GAEG;AACH,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC5F,OAAO,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAC/D,cAAc,iBAAiB,CAAC;AAEhC;;GAEG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAC;AAC/F,YAAY,EAAE,oBAAoB,EAAE,MAAM,wDAAwD,CAAC;AACnG,OAAO,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,oDAAoD,CAAC;AAEvF;;GAEG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,YAAY,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EACL,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,wCAAwC,CAAC;AAGhD,OAAO,EACL,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,wCAAwC,CAAC;AAEhD;;GAEG;AACH,cAAc,uDAAuD,CAAC;AACtE,cAAc,uDAAuD,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE;;GAEG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEpF;;GAEG;AACH,cAAc,8BAA8B,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC1E,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;GAEG;AACH,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC5H,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE;;GAEG;AACH,cAAc,8BAA8B,CAAC;AAE7C;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,yDAAyD,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAE3E;;GAEG;AACH,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC"}
|
package/dist/utils/index.js
CHANGED
|
@@ -13,7 +13,6 @@ export { addNewFieldFromExternalSource, addNewFieldFromLookupField, } from "./da
|
|
|
13
13
|
export { getTimezoneOffsetAndPersist } from "./time-utils.js";
|
|
14
14
|
export { formatDateWithTZOffset, convertToLocalTime, toISOWithOffset } from "./timezone.js";
|
|
15
15
|
export { applyTimezoneOffsetsToFields } from "./time-utils.js";
|
|
16
|
-
export { convertUtcDateTimeToErpLocal, convertErpLocalDateTimeToUtc, getERPTimezone, } from "./erp-timezone-utils.js";
|
|
17
16
|
export * from "./time-utils.js";
|
|
18
17
|
/**
|
|
19
18
|
* Caching and record tracking utilities
|
|
@@ -45,6 +44,10 @@ export { HTTPError } from "./http-client.js";
|
|
|
45
44
|
*/
|
|
46
45
|
export * from "./mm-labor-ticket-helpers.js";
|
|
47
46
|
export { getErrorType } from './error-utils.js';
|
|
47
|
+
/**
|
|
48
|
+
* Error formatting utilities
|
|
49
|
+
*/
|
|
50
|
+
export { formatError, formatErrorForLogging } from './error-formatter.js';
|
|
48
51
|
/**
|
|
49
52
|
* MM Connector Logger utilities
|
|
50
53
|
*/
|
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,GAC3B,MAAM,0BAA0B,CAAC;AAElC;;GAEG;AACH,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC5F,OAAO,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAC/D,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,GAC3B,MAAM,0BAA0B,CAAC;AAElC;;GAEG;AACH,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC5F,OAAO,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAC/D,cAAc,iBAAiB,CAAC;AAEhC;;GAEG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAC;AAE/F,OAAO,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,oDAAoD,CAAC;AAEvF;;GAEG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EACL,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,wCAAwC,CAAC;AAEhD,mBAAmB;AACnB,OAAO,EACL,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,wCAAwC,CAAC;AAEhD;;GAEG;AACH,cAAc,uDAAuD,CAAC;AACtE,cAAc,uDAAuD,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE;;GAEG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C;;GAEG;AACH,cAAc,8BAA8B,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAG1E;;GAEG;AACH,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAyC,MAAM,wCAAwC,CAAC;AAC5H,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE;;GAEG;AACH,cAAc,8BAA8B,CAAC;AAE7C;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,yDAAyD,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAE3E;;GAEG;AACH,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -11,8 +11,6 @@ export declare const writeDatabaseLockState: (data: Record<string, unknown>) =>
|
|
|
11
11
|
export declare const getInitialLoadComplete: () => boolean;
|
|
12
12
|
export declare const setInitialLoadComplete: (complete: boolean) => void;
|
|
13
13
|
/**
|
|
14
|
-
* @deprecated The cached numeric offset cannot account for DST changes.
|
|
15
|
-
* Prefer using the cached timezone name with Luxon helpers for conversions.
|
|
16
14
|
* Gets the company's cached current timezone offset (e.g., -5)
|
|
17
15
|
* @returns The cached timezone offset or 0 if not found
|
|
18
16
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobs-shared-data.d.ts","sourceRoot":"","sources":["../../../src/utils/local-data-store/jobs-shared-data.ts"],"names":[],"mappings":"AA6CA;;;GAGG;AACH,eAAO,MAAM,qBAAqB,QAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAE9D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GAAI,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,IAEtE,CAAC;AAGF,eAAO,MAAM,sBAAsB,QAAO,OAGzC,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,UAAU,OAAO,KAAG,IAI1D,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"jobs-shared-data.d.ts","sourceRoot":"","sources":["../../../src/utils/local-data-store/jobs-shared-data.ts"],"names":[],"mappings":"AA6CA;;;GAGG;AACH,eAAO,MAAM,qBAAqB,QAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAE9D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GAAI,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,IAEtE,CAAC;AAGF,eAAO,MAAM,sBAAsB,QAAO,OAGzC,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,UAAU,OAAO,KAAG,IAI1D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,QAAO,MAG1C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,GAAI,QAAQ,MAAM,KAAG,IAIzD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,QAAO,MAAM,GAAG,IAGjD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GAAI,UAAU,MAAM,KAAG,IAIzD,CAAC;AAEF,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,QAAO,WAAW,GAAG,IAGjD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAI,WAAW,WAAW,KAAG,IAIzD,CAAC"}
|
|
@@ -63,8 +63,6 @@ export const setInitialLoadComplete = (complete) => {
|
|
|
63
63
|
writeStorage(data);
|
|
64
64
|
};
|
|
65
65
|
/**
|
|
66
|
-
* @deprecated The cached numeric offset cannot account for DST changes.
|
|
67
|
-
* Prefer using the cached timezone name with Luxon helpers for conversions.
|
|
68
66
|
* Gets the company's cached current timezone offset (e.g., -5)
|
|
69
67
|
* @returns The cached timezone offset or 0 if not found
|
|
70
68
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobs-shared-data.js","sourceRoot":"","sources":["../../../src/utils/local-data-store/jobs-shared-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAE/B;;;GAGG;AAEH,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;AAEzD,iCAAiC;AACjC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;AAC7C,IAAI,CAAC;IACH,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC5C,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACvD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,gCAAgC;AAChC,MAAM,iBAAiB,GAAG,GAAG,EAAE;IAC7B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,GAA4B,EAAE;IAChD,iBAAiB,EAAE,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,YAAY,GAAG,EAAE,KAAK,CAAC,CAAC;QACrE,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,IAA6B,EAAQ,EAAE;IAC3D,iBAAiB,EAAE,CAAC;IACpB,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AACzE,CAAC,CAAC;AACF,YAAY;AAEZ,yCAAyC;AACzC;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAA4B,EAAE;IACjE,OAAO,WAAW,EAAE,CAAC;AACvB,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,IAA6B,EAAQ,EAAE;IAC5E,YAAY,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC,CAAC;AACF,YAAY;AAEZ,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAY,EAAE;IAClD,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC;IAC3B,OAAQ,IAAI,CAAC,mBAA+B,IAAI,KAAK,CAAC;AACxD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,QAAiB,EAAQ,EAAE;IAChE,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC;IAC3B,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC;IACpC,YAAY,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"jobs-shared-data.js","sourceRoot":"","sources":["../../../src/utils/local-data-store/jobs-shared-data.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { MMReceiveLaborTicket } from "../services/mm-api-service/types/receive-types.js";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
3
|
+
* Apply timezone offsets to datetime fields specifically for the MMApiReceiveLaborTicket object from the Zulu-based MM API
|
|
4
|
+
* (presumably) before sending to the ERP
|
|
5
5
|
* @param laborTicket The MMApiReceiveLaborTicket object to convert
|
|
6
|
+
* @param timezoneOffset The timezone offset to apply
|
|
6
7
|
*/
|
|
7
|
-
export declare function convertLaborTicketToLocalTimezone(laborTicket: MMReceiveLaborTicket): MMReceiveLaborTicket;
|
|
8
|
+
export declare function convertLaborTicketToLocalTimezone(laborTicket: MMReceiveLaborTicket, timezoneOffset: number): MMReceiveLaborTicket;
|
|
8
9
|
//# sourceMappingURL=mm-labor-ticket-helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mm-labor-ticket-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/mm-labor-ticket-helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mm-labor-ticket-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/mm-labor-ticket-helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mDAAmD,CAAC;AAEzF;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAC/C,WAAW,EAAE,oBAAoB,EACjC,cAAc,EAAE,MAAM,GACrB,oBAAoB,CAetB"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { convertToLocalTime, toISOWithOffset } from "./timezone.js";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
3
|
+
* Apply timezone offsets to datetime fields specifically for the MMApiReceiveLaborTicket object from the Zulu-based MM API
|
|
4
|
+
* (presumably) before sending to the ERP
|
|
5
5
|
* @param laborTicket The MMApiReceiveLaborTicket object to convert
|
|
6
|
+
* @param timezoneOffset The timezone offset to apply
|
|
6
7
|
*/
|
|
7
|
-
export function convertLaborTicketToLocalTimezone(laborTicket) {
|
|
8
|
+
export function convertLaborTicketToLocalTimezone(laborTicket, timezoneOffset) {
|
|
8
9
|
const timeFields = [
|
|
9
10
|
"clockIn",
|
|
10
11
|
"clockOut",
|
|
@@ -13,15 +14,9 @@ export function convertLaborTicketToLocalTimezone(laborTicket) {
|
|
|
13
14
|
"updatedAt",
|
|
14
15
|
"workOrderOperationClosedDate",
|
|
15
16
|
];
|
|
16
|
-
const timezone = getERPTimezone();
|
|
17
17
|
timeFields.forEach((field) => {
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
laborTicket[field] = convertUtcDateTimeToErpLocal(value, timezone);
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
laborTicket[field] = null;
|
|
24
|
-
}
|
|
18
|
+
const localTime = convertToLocalTime(laborTicket[field], timezoneOffset);
|
|
19
|
+
laborTicket[field] = localTime ? toISOWithOffset(localTime, timezoneOffset) : null;
|
|
25
20
|
});
|
|
26
21
|
return laborTicket;
|
|
27
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mm-labor-ticket-helpers.js","sourceRoot":"","sources":["../../src/utils/mm-labor-ticket-helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mm-labor-ticket-helpers.js","sourceRoot":"","sources":["../../src/utils/mm-labor-ticket-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGpE;;;;;GAKG;AACH,MAAM,UAAU,iCAAiC,CAC/C,WAAiC,EACjC,cAAsB;IAEtB,MAAM,UAAU,GAAG;QACjB,SAAS;QACT,UAAU;QACV,iBAAiB;QACjB,WAAW;QACX,WAAW;QACX,8BAA8B;KACtB,CAAC;IAEX,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,MAAM,SAAS,GAAG,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC,CAAC;QACzE,WAAW,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACrF,CAAC,CAAC,CAAC;IACH,OAAO,WAAW,CAAC;AACrB,CAAC"}
|
|
@@ -3,7 +3,6 @@ import { IERPLaborTicketHandler } from "../../types/erp-connector.js";
|
|
|
3
3
|
* Handles synchronization of labor tickets between MachineMetrics and ERP systems
|
|
4
4
|
*/
|
|
5
5
|
export declare class LaborTicketERPSynchronizer {
|
|
6
|
-
private static readonly CHECKPOINT_SKEW_MS;
|
|
7
6
|
/**
|
|
8
7
|
* Synchronizes updated labor tickets from MachineMetrics to an ERP system
|
|
9
8
|
*/
|
|
@@ -14,19 +13,5 @@ export declare class LaborTicketERPSynchronizer {
|
|
|
14
13
|
static retryFailed(connectorType: string, connector: IERPLaborTicketHandler): Promise<void>;
|
|
15
14
|
private static writeLaborTicketIdToMM;
|
|
16
15
|
private static processLaborTicket;
|
|
17
|
-
/**
|
|
18
|
-
* A stable identity for "did the business-relevant contents of this labor ticket change?"
|
|
19
|
-
*
|
|
20
|
-
* IMPORTANT: Excludes fields that the SDK itself mutates (e.g. laborTicketId, updatedAt),
|
|
21
|
-
* otherwise we'd reprocess the write-back bump on the next cycle.
|
|
22
|
-
*/
|
|
23
|
-
private static laborTicketBusinessSignature;
|
|
24
|
-
/**
|
|
25
|
-
* Selects a comparable timestamp for windowing decisions.
|
|
26
|
-
* Prefer updatedAt; fall back to other stable timestamps if needed.
|
|
27
|
-
*/
|
|
28
|
-
private static getComparableTicketTimestamp;
|
|
29
|
-
private static addMsToIso;
|
|
30
|
-
private static computeCheckpointTimestamp;
|
|
31
16
|
}
|
|
32
17
|
//# sourceMappingURL=labor-ticket-erp-synchronizer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"labor-ticket-erp-synchronizer.d.ts","sourceRoot":"","sources":["../../../src/utils/standard-process-drivers/labor-ticket-erp-synchronizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"labor-ticket-erp-synchronizer.d.ts","sourceRoot":"","sources":["../../../src/utils/standard-process-drivers/labor-ticket-erp-synchronizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAOtE;;GAEG;AACH,qBAAa,0BAA0B;IACrC;;OAEG;WACU,SAAS,CACpB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,sBAAsB,GAChC,OAAO,CAAC,IAAI,CAAC;IA6GhB;;OAEG;WACU,WAAW,CACtB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,sBAAsB,GAChC,OAAO,CAAC,IAAI,CAAC;mBA+DK,sBAAsB;mBAetB,kBAAkB;CAkDxC"}
|