@machinemetrics/mm-erp-sdk 0.1.1-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.
Files changed (240) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +147 -0
  3. package/dist/config-2l5vnNkA.js +418 -0
  4. package/dist/config-2l5vnNkA.js.map +1 -0
  5. package/dist/connector-factory-CQ8e7Tae.js +21 -0
  6. package/dist/connector-factory-CQ8e7Tae.js.map +1 -0
  7. package/dist/hashed-cache-manager-Ci9X3GAB.js +292 -0
  8. package/dist/hashed-cache-manager-Ci9X3GAB.js.map +1 -0
  9. package/dist/index-Cn9ccxOO.js +179 -0
  10. package/dist/index-Cn9ccxOO.js.map +1 -0
  11. package/dist/index.d.ts +35 -0
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/knexfile-1qKKIORB.js +20 -0
  14. package/dist/knexfile-1qKKIORB.js.map +1 -0
  15. package/dist/knexfile.d.ts +6 -0
  16. package/dist/knexfile.d.ts.map +1 -0
  17. package/dist/logger-QG73MndU.js +17523 -0
  18. package/dist/logger-QG73MndU.js.map +1 -0
  19. package/dist/migrations/20241015162631_create_cache_table.js +17 -0
  20. package/dist/migrations/20241015162631_create_cache_table.js.map +1 -0
  21. package/dist/migrations/20241015162632_create_sdk_cache_table.js +17 -0
  22. package/dist/migrations/20241015162632_create_sdk_cache_table.js.map +1 -0
  23. package/dist/migrations/20250103162631_create_record_tracking_table.js +17 -0
  24. package/dist/migrations/20250103162631_create_record_tracking_table.js.map +1 -0
  25. package/dist/mm-erp-sdk.js +3503 -0
  26. package/dist/mm-erp-sdk.js.map +1 -0
  27. package/dist/services/caching-service/batch-cache-manager.d.ts +52 -0
  28. package/dist/services/caching-service/batch-cache-manager.d.ts.map +1 -0
  29. package/dist/services/caching-service/hashed-cache-manager.d.ts +83 -0
  30. package/dist/services/caching-service/hashed-cache-manager.d.ts.map +1 -0
  31. package/dist/services/caching-service/index.d.ts +92 -0
  32. package/dist/services/caching-service/index.d.ts.map +1 -0
  33. package/dist/services/caching-service/record-tracking-manager.d.ts +15 -0
  34. package/dist/services/caching-service/record-tracking-manager.d.ts.map +1 -0
  35. package/dist/services/data-sync-service/configuration-manager.d.ts +50 -0
  36. package/dist/services/data-sync-service/configuration-manager.d.ts.map +1 -0
  37. package/dist/services/data-sync-service/data-sync-service.d.ts +2 -0
  38. package/dist/services/data-sync-service/data-sync-service.d.ts.map +1 -0
  39. package/dist/services/data-sync-service/index.d.ts +10 -0
  40. package/dist/services/data-sync-service/index.d.ts.map +1 -0
  41. package/dist/services/data-sync-service/jobs/clean-up-expired-cache.d.ts +2 -0
  42. package/dist/services/data-sync-service/jobs/clean-up-expired-cache.d.ts.map +1 -0
  43. package/dist/services/data-sync-service/jobs/clean-up-expired-cache.js +41 -0
  44. package/dist/services/data-sync-service/jobs/clean-up-expired-cache.js.map +1 -0
  45. package/dist/services/data-sync-service/jobs/from-erp.d.ts +4 -0
  46. package/dist/services/data-sync-service/jobs/from-erp.d.ts.map +1 -0
  47. package/dist/services/data-sync-service/jobs/from-erp.js +42 -0
  48. package/dist/services/data-sync-service/jobs/from-erp.js.map +1 -0
  49. package/dist/services/data-sync-service/jobs/retry-failed-labor-tickets.d.ts +2 -0
  50. package/dist/services/data-sync-service/jobs/retry-failed-labor-tickets.d.ts.map +1 -0
  51. package/dist/services/data-sync-service/jobs/retry-failed-labor-tickets.js +41 -0
  52. package/dist/services/data-sync-service/jobs/retry-failed-labor-tickets.js.map +1 -0
  53. package/dist/services/data-sync-service/jobs/run-migrations.d.ts +2 -0
  54. package/dist/services/data-sync-service/jobs/run-migrations.d.ts.map +1 -0
  55. package/dist/services/data-sync-service/jobs/run-migrations.js +21 -0
  56. package/dist/services/data-sync-service/jobs/run-migrations.js.map +1 -0
  57. package/dist/services/data-sync-service/jobs/to-erp.d.ts +4 -0
  58. package/dist/services/data-sync-service/jobs/to-erp.d.ts.map +1 -0
  59. package/dist/services/data-sync-service/jobs/to-erp.js +39 -0
  60. package/dist/services/data-sync-service/jobs/to-erp.js.map +1 -0
  61. package/dist/services/erp-api-services/errors.d.ts +22 -0
  62. package/dist/services/erp-api-services/errors.d.ts.map +1 -0
  63. package/dist/services/erp-api-services/graphql/graphql-service.d.ts +40 -0
  64. package/dist/services/erp-api-services/graphql/graphql-service.d.ts.map +1 -0
  65. package/dist/services/erp-api-services/graphql/types.d.ts +32 -0
  66. package/dist/services/erp-api-services/graphql/types.d.ts.map +1 -0
  67. package/dist/services/erp-api-services/index.d.ts +9 -0
  68. package/dist/services/erp-api-services/index.d.ts.map +1 -0
  69. package/dist/services/erp-api-services/oauth-client.d.ts +45 -0
  70. package/dist/services/erp-api-services/oauth-client.d.ts.map +1 -0
  71. package/dist/services/erp-api-services/rest/get-query-params.d.ts +50 -0
  72. package/dist/services/erp-api-services/rest/get-query-params.d.ts.map +1 -0
  73. package/dist/services/erp-api-services/rest/rest-api-service.d.ts +35 -0
  74. package/dist/services/erp-api-services/rest/rest-api-service.d.ts.map +1 -0
  75. package/dist/services/erp-api-services/types.d.ts +27 -0
  76. package/dist/services/erp-api-services/types.d.ts.map +1 -0
  77. package/dist/services/mm-api-service/index.d.ts +31 -0
  78. package/dist/services/mm-api-service/index.d.ts.map +1 -0
  79. package/dist/services/mm-api-service/mm-api-service.d.ts +214 -0
  80. package/dist/services/mm-api-service/mm-api-service.d.ts.map +1 -0
  81. package/dist/services/mm-api-service/token-mgr.d.ts +33 -0
  82. package/dist/services/mm-api-service/token-mgr.d.ts.map +1 -0
  83. package/dist/services/mm-api-service/types/checkpoint.d.ts +13 -0
  84. package/dist/services/mm-api-service/types/checkpoint.d.ts.map +1 -0
  85. package/dist/services/mm-api-service/types/entity-transformer.d.ts +58 -0
  86. package/dist/services/mm-api-service/types/entity-transformer.d.ts.map +1 -0
  87. package/dist/services/mm-api-service/types/mm-response-interfaces.d.ts +263 -0
  88. package/dist/services/mm-api-service/types/mm-response-interfaces.d.ts.map +1 -0
  89. package/dist/services/mm-api-service/types/receive-types.d.ts +57 -0
  90. package/dist/services/mm-api-service/types/receive-types.d.ts.map +1 -0
  91. package/dist/services/mm-api-service/types/send-types.d.ts +147 -0
  92. package/dist/services/mm-api-service/types/send-types.d.ts.map +1 -0
  93. package/dist/services/reporting-service/index.d.ts +5 -0
  94. package/dist/services/reporting-service/index.d.ts.map +1 -0
  95. package/dist/services/reporting-service/logger.d.ts +4 -0
  96. package/dist/services/reporting-service/logger.d.ts.map +1 -0
  97. package/dist/services/sql-server-erp-service/configuration.d.ts +15 -0
  98. package/dist/services/sql-server-erp-service/configuration.d.ts.map +1 -0
  99. package/dist/services/sql-server-erp-service/index.d.ts +16 -0
  100. package/dist/services/sql-server-erp-service/index.d.ts.map +1 -0
  101. package/dist/services/sql-server-erp-service/internal/sql-labor-ticket-operations.d.ts +31 -0
  102. package/dist/services/sql-server-erp-service/internal/sql-labor-ticket-operations.d.ts.map +1 -0
  103. package/dist/services/sql-server-erp-service/internal/sql-server-config.d.ts +65 -0
  104. package/dist/services/sql-server-erp-service/internal/sql-server-config.d.ts.map +1 -0
  105. package/dist/services/sql-server-erp-service/internal/sql-transaction-manager.d.ts +20 -0
  106. package/dist/services/sql-server-erp-service/internal/sql-transaction-manager.d.ts.map +1 -0
  107. package/dist/services/sql-server-erp-service/internal/types/sql-server-types.d.ts +3 -0
  108. package/dist/services/sql-server-erp-service/internal/types/sql-server-types.d.ts.map +1 -0
  109. package/dist/services/sql-server-erp-service/sql-server-helpers.d.ts +35 -0
  110. package/dist/services/sql-server-erp-service/sql-server-helpers.d.ts.map +1 -0
  111. package/dist/services/sql-server-erp-service/sql-server-service.d.ts +37 -0
  112. package/dist/services/sql-server-erp-service/sql-server-service.d.ts.map +1 -0
  113. package/dist/services/sql-server-erp-service/types/sql-input-param.d.ts +10 -0
  114. package/dist/services/sql-server-erp-service/types/sql-input-param.d.ts.map +1 -0
  115. package/dist/services/sqlite-service/index.d.ts +2 -0
  116. package/dist/services/sqlite-service/index.d.ts.map +1 -0
  117. package/dist/services/sqlite-service/sqlite-coordinator.d.ts +28 -0
  118. package/dist/services/sqlite-service/sqlite-coordinator.d.ts.map +1 -0
  119. package/dist/types/erp-connector.d.ts +40 -0
  120. package/dist/types/erp-connector.d.ts.map +1 -0
  121. package/dist/types/erp-types.d.ts +32 -0
  122. package/dist/types/erp-types.d.ts.map +1 -0
  123. package/dist/types/index.d.ts +7 -0
  124. package/dist/types/index.d.ts.map +1 -0
  125. package/dist/utils/application-initializer.d.ts +15 -0
  126. package/dist/utils/application-initializer.d.ts.map +1 -0
  127. package/dist/utils/cleanup-numbers.d.ts +2 -0
  128. package/dist/utils/cleanup-numbers.d.ts.map +1 -0
  129. package/dist/utils/connector-factory.d.ts +8 -0
  130. package/dist/utils/connector-factory.d.ts.map +1 -0
  131. package/dist/utils/data-transformation.d.ts +20 -0
  132. package/dist/utils/data-transformation.d.ts.map +1 -0
  133. package/dist/utils/erp-type-from-entity.d.ts +5 -0
  134. package/dist/utils/erp-type-from-entity.d.ts.map +1 -0
  135. package/dist/utils/http-client.d.ts +35 -0
  136. package/dist/utils/http-client.d.ts.map +1 -0
  137. package/dist/utils/index.d.ts +57 -0
  138. package/dist/utils/index.d.ts.map +1 -0
  139. package/dist/utils/local-data-store/database-lock.d.ts +29 -0
  140. package/dist/utils/local-data-store/database-lock.d.ts.map +1 -0
  141. package/dist/utils/local-data-store/jobs-shared-data.d.ts +34 -0
  142. package/dist/utils/local-data-store/jobs-shared-data.d.ts.map +1 -0
  143. package/dist/utils/mm-labor-ticket-helpers.d.ts +9 -0
  144. package/dist/utils/mm-labor-ticket-helpers.d.ts.map +1 -0
  145. package/dist/utils/removeExtraneousFields.d.ts +6 -0
  146. package/dist/utils/removeExtraneousFields.d.ts.map +1 -0
  147. package/dist/utils/removeIdFieldFromPayload.d.ts +6 -0
  148. package/dist/utils/removeIdFieldFromPayload.d.ts.map +1 -0
  149. package/dist/utils/resource-group.d.ts +11 -0
  150. package/dist/utils/resource-group.d.ts.map +1 -0
  151. package/dist/utils/standard-process-drivers/error-processor.d.ts +68 -0
  152. package/dist/utils/standard-process-drivers/error-processor.d.ts.map +1 -0
  153. package/dist/utils/standard-process-drivers/index.d.ts +3 -0
  154. package/dist/utils/standard-process-drivers/index.d.ts.map +1 -0
  155. package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.d.ts +18 -0
  156. package/dist/utils/standard-process-drivers/labor-ticket-erp-synchronizer.d.ts.map +1 -0
  157. package/dist/utils/standard-process-drivers/mm-entity-processor.d.ts +40 -0
  158. package/dist/utils/standard-process-drivers/mm-entity-processor.d.ts.map +1 -0
  159. package/dist/utils/standard-process-drivers/standard-process-drivers.d.ts +178 -0
  160. package/dist/utils/standard-process-drivers/standard-process-drivers.d.ts.map +1 -0
  161. package/dist/utils/time-utils.d.ts +31 -0
  162. package/dist/utils/time-utils.d.ts.map +1 -0
  163. package/dist/utils/timezone.d.ts +21 -0
  164. package/dist/utils/timezone.d.ts.map +1 -0
  165. package/dist/utils/trimObjectValues.d.ts +5 -0
  166. package/dist/utils/trimObjectValues.d.ts.map +1 -0
  167. package/dist/utils/uniqueRows.d.ts +9 -0
  168. package/dist/utils/uniqueRows.d.ts.map +1 -0
  169. package/package.json +50 -0
  170. package/src/index.ts +98 -0
  171. package/src/knexfile.ts +21 -0
  172. package/src/migrations/20241015162631_create_cache_table.ts +15 -0
  173. package/src/migrations/20241015162632_create_sdk_cache_table.ts +15 -0
  174. package/src/migrations/20250103162631_create_record_tracking_table.ts +18 -0
  175. package/src/services/caching-service/batch-cache-manager.ts +111 -0
  176. package/src/services/caching-service/hashed-cache-manager.ts +253 -0
  177. package/src/services/caching-service/index.ts +114 -0
  178. package/src/services/caching-service/record-tracking-manager.ts +41 -0
  179. package/src/services/data-sync-service/configuration-manager.ts +153 -0
  180. package/src/services/data-sync-service/data-sync-service.ts +100 -0
  181. package/src/services/data-sync-service/index.ts +14 -0
  182. package/src/services/data-sync-service/jobs/clean-up-expired-cache.ts +38 -0
  183. package/src/services/data-sync-service/jobs/from-erp.ts +55 -0
  184. package/src/services/data-sync-service/jobs/retry-failed-labor-tickets.ts +44 -0
  185. package/src/services/data-sync-service/jobs/run-migrations.ts +21 -0
  186. package/src/services/data-sync-service/jobs/to-erp.ts +53 -0
  187. package/src/services/erp-api-services/errors.ts +115 -0
  188. package/src/services/erp-api-services/graphql/graphql-service.ts +116 -0
  189. package/src/services/erp-api-services/graphql/types.ts +30 -0
  190. package/src/services/erp-api-services/index.ts +14 -0
  191. package/src/services/erp-api-services/oauth-client.ts +72 -0
  192. package/src/services/erp-api-services/rest/get-query-params.ts +63 -0
  193. package/src/services/erp-api-services/rest/rest-api-service.ts +212 -0
  194. package/src/services/erp-api-services/types.ts +28 -0
  195. package/src/services/mm-api-service/index.ts +83 -0
  196. package/src/services/mm-api-service/mm-api-service.ts +685 -0
  197. package/src/services/mm-api-service/token-mgr.ts +123 -0
  198. package/src/services/mm-api-service/types/checkpoint.ts +13 -0
  199. package/src/services/mm-api-service/types/entity-transformer.ts +298 -0
  200. package/src/services/mm-api-service/types/mm-response-interfaces.ts +293 -0
  201. package/src/services/mm-api-service/types/receive-types.ts +89 -0
  202. package/src/services/mm-api-service/types/send-types.ts +383 -0
  203. package/src/services/reporting-service/index.ts +4 -0
  204. package/src/services/reporting-service/logger.ts +117 -0
  205. package/src/services/sql-server-erp-service/configuration.ts +14 -0
  206. package/src/services/sql-server-erp-service/index.ts +18 -0
  207. package/src/services/sql-server-erp-service/internal/sql-labor-ticket-operations.ts +66 -0
  208. package/src/services/sql-server-erp-service/internal/sql-server-config.ts +38 -0
  209. package/src/services/sql-server-erp-service/internal/sql-transaction-manager.ts +45 -0
  210. package/src/services/sql-server-erp-service/internal/types/sql-server-types.ts +23 -0
  211. package/src/services/sql-server-erp-service/sql-server-helpers.ts +99 -0
  212. package/src/services/sql-server-erp-service/sql-server-service.ts +191 -0
  213. package/src/services/sql-server-erp-service/types/sql-input-param.ts +14 -0
  214. package/src/services/sqlite-service/index.ts +1 -0
  215. package/src/services/sqlite-service/sqlite-coordinator.ts +80 -0
  216. package/src/types/erp-connector.ts +46 -0
  217. package/src/types/erp-types.ts +37 -0
  218. package/src/types/index.ts +13 -0
  219. package/src/utils/application-initializer.ts +62 -0
  220. package/src/utils/cleanup-numbers.ts +5 -0
  221. package/src/utils/connector-factory.ts +34 -0
  222. package/src/utils/data-transformation.ts +58 -0
  223. package/src/utils/erp-type-from-entity.ts +12 -0
  224. package/src/utils/http-client.ts +137 -0
  225. package/src/utils/index.ts +71 -0
  226. package/src/utils/local-data-store/database-lock.ts +86 -0
  227. package/src/utils/local-data-store/jobs-shared-data.ts +111 -0
  228. package/src/utils/mm-labor-ticket-helpers.ts +28 -0
  229. package/src/utils/removeExtraneousFields.ts +22 -0
  230. package/src/utils/removeIdFieldFromPayload.ts +22 -0
  231. package/src/utils/resource-group.ts +92 -0
  232. package/src/utils/standard-process-drivers/error-processor.ts +417 -0
  233. package/src/utils/standard-process-drivers/index.ts +6 -0
  234. package/src/utils/standard-process-drivers/labor-ticket-erp-synchronizer.ts +261 -0
  235. package/src/utils/standard-process-drivers/mm-entity-processor.ts +265 -0
  236. package/src/utils/standard-process-drivers/standard-process-drivers.ts +459 -0
  237. package/src/utils/time-utils.ts +131 -0
  238. package/src/utils/timezone.ts +96 -0
  239. package/src/utils/trimObjectValues.ts +12 -0
  240. package/src/utils/uniqueRows.ts +40 -0
@@ -0,0 +1,263 @@
1
+ /**
2
+ * Response interfaces for MM API calls
3
+ *
4
+ * These interfaces provide type safety for the various response shapes
5
+ * returned by the MM API based on HTTP status codes and entity types.
6
+ *
7
+ * Usage pattern:
8
+ * ```typescript
9
+ * const result = await client.sendWorkOrdersToMM(orders);
10
+ * if (result.httpStatus === 200) {
11
+ * const success = result as MM200NonLaborTicketResponse;
12
+ * console.log(`Processed ${success.affectedRows} records`);
13
+ * } else if (result.httpStatus === 207) {
14
+ * const partial = result as MM207NonLaborTicketResponse;
15
+ * console.log(`Partial success with ${partial.data.errors.length} error batches`);
16
+ * }
17
+ * ```
18
+ */
19
+ export interface MMApiBaseResponse {
20
+ httpStatus: number;
21
+ }
22
+ /**
23
+ * Response for successful processing of non-labor ticket entities
24
+ * Used for: Resources, Parts, PartOperations, WorkOrders, WorkOrderOperations, Persons, Reasons
25
+ *
26
+ * Example response:
27
+ * {
28
+ * message: "Persons imported successfully",
29
+ * affectedRows: 10,
30
+ * httpStatus: 200
31
+ * }
32
+ */
33
+ export interface MM200NonLaborTicketResponse extends MMApiBaseResponse {
34
+ httpStatus: 200;
35
+ message: string;
36
+ affectedRows: number;
37
+ }
38
+ /**
39
+ * Response for successful processing of labor tickets
40
+ *
41
+ * Example response:
42
+ * {
43
+ * message: "Labor tickets imported successfully",
44
+ * updated: 1,
45
+ * inserted: 0,
46
+ * httpStatus: 200
47
+ * }
48
+ */
49
+ export interface MM200LaborTicketResponse extends MMApiBaseResponse {
50
+ httpStatus: 200;
51
+ message: string;
52
+ updated: number;
53
+ inserted: number;
54
+ }
55
+ /**
56
+ * Response for partial success of non-labor ticket entities
57
+ * Used for: Resources, Parts, PartOperations, WorkOrders, WorkOrderOperations, Persons, Reasons
58
+ *
59
+ * Example response:
60
+ * {
61
+ * message: "WorkOrderOperations partially imported with errors",
62
+ * data: {
63
+ * successfulBatches: 1,
64
+ * totalBatches: 3,
65
+ * affectedRows: 1,
66
+ * errors: [
67
+ * {
68
+ * message: "GraphQL Error: Foreign key violation...",
69
+ * batch: 1,
70
+ * path: "$.selectionSet.insertErpWorkOrderOperations.args.objects",
71
+ * code: "constraint-violation",
72
+ * batchData: [{ workOrderId: "24-0196", ... }]
73
+ * }
74
+ * ]
75
+ * },
76
+ * httpStatus: 207
77
+ * }
78
+ */
79
+ export interface MM207NonLaborTicketResponse extends MMApiBaseResponse {
80
+ httpStatus: 207;
81
+ message: string;
82
+ data: {
83
+ successfulBatches: number;
84
+ totalBatches: number;
85
+ affectedRows: number;
86
+ errors: Array<{
87
+ message: string;
88
+ batch: number;
89
+ path: string;
90
+ code: string;
91
+ batchData: Record<string, unknown>[];
92
+ }>;
93
+ };
94
+ }
95
+ /**
96
+ * Response for partial success of labor tickets
97
+ *
98
+ * Example response:
99
+ * {
100
+ * message: "Labor tickets partially imported with errors",
101
+ * data: {
102
+ * updated: 1,
103
+ * inserted: 0,
104
+ * updateErrors: [
105
+ * {
106
+ * message: "GraphQL Error: Foreign key violation...",
107
+ * batch: 1,
108
+ * path: "$.selectionSet.updateErpLaborTickets.args.objects",
109
+ * code: "constraint-violation",
110
+ * batchData: [{ workOrderId: "24-0196", ... }]
111
+ * }
112
+ * ],
113
+ * insertErrors: [
114
+ * {
115
+ * message: "GraphQL Error: Foreign key violation...",
116
+ * batch: 1,
117
+ * path: "$.selectionSet.insertErpLaborTickets.args.objects",
118
+ * code: "constraint-violation",
119
+ * batchData: [{ workOrderId: "24-0191", ... }]
120
+ * }
121
+ * ]
122
+ * },
123
+ * httpStatus: 207
124
+ * }
125
+ */
126
+ export interface MM207LaborTicketResponse extends MMApiBaseResponse {
127
+ httpStatus: 207;
128
+ message: string;
129
+ data: {
130
+ updated: number;
131
+ inserted: number;
132
+ updateErrors: Array<{
133
+ message: string;
134
+ batch: number;
135
+ path: string;
136
+ code: string;
137
+ batchData: Record<string, unknown>[];
138
+ }>;
139
+ insertErrors: Array<{
140
+ message: string;
141
+ batch: number;
142
+ path: string;
143
+ code: string;
144
+ batchData: Record<string, unknown>[];
145
+ }>;
146
+ };
147
+ }
148
+ /**
149
+ * Exception structure for complete failure of non-labor ticket entities
150
+ * Used for: Resources, Parts, PartOperations, WorkOrders, WorkOrderOperations, Persons, Reasons
151
+ *
152
+ * This structure appears in caught exceptions when the API returns 500 status
153
+ * for validation issues that contain structured error information.
154
+ *
155
+ * Example exception.data structure:
156
+ * {
157
+ * error: "Failed to import WorkOrderOperations",
158
+ * message: {
159
+ * successfulBatches: 0,
160
+ * totalBatches: 1,
161
+ * affectedRows: 0,
162
+ * errors: [
163
+ * {
164
+ * message: "GraphQL Error: Foreign key violation...",
165
+ * batchData: [{ workOrderId: "24-0196", ... }]
166
+ * }
167
+ * ]
168
+ * }
169
+ * }
170
+ */
171
+ export interface MM500NonLaborTicketException {
172
+ status: 500;
173
+ data: {
174
+ error: string;
175
+ message: {
176
+ successfulBatches: number;
177
+ totalBatches: number;
178
+ affectedRows: number;
179
+ errors: Array<{
180
+ message: string;
181
+ batchData: Record<string, unknown>[];
182
+ }>;
183
+ };
184
+ };
185
+ }
186
+ /**
187
+ * Exception structure for complete failure of labor tickets
188
+ *
189
+ * This structure appears in caught exceptions when the API returns 500 status
190
+ * for validation issues that contain structured error information.
191
+ *
192
+ * Example exception.data structure:
193
+ * {
194
+ * error: "Failed to import LaborTickets",
195
+ * message: {
196
+ * updateErrors: [
197
+ * {
198
+ * message: "GraphQL Error: Foreign key violation...",
199
+ * batchData: [{ workOrderId: "24-0196", ... }]
200
+ * }
201
+ * ],
202
+ * insertErrors: [
203
+ * {
204
+ * message: "GraphQL Error: Foreign key violation...",
205
+ * batchData: [{ workOrderId: "24-0191", ... }]
206
+ * }
207
+ * ]
208
+ * }
209
+ * }
210
+ */
211
+ export interface MM500LaborTicketException {
212
+ status: 500;
213
+ data: {
214
+ error: string;
215
+ message: {
216
+ updateErrors: Array<{
217
+ message: string;
218
+ batchData: Record<string, unknown>[];
219
+ }>;
220
+ insertErrors: Array<{
221
+ message: string;
222
+ batchData: Record<string, unknown>[];
223
+ }>;
224
+ };
225
+ };
226
+ }
227
+ /**
228
+ * Response for GraphQL resource queries
229
+ * Used by fetchResourcesFromGraphQL() method
230
+ */
231
+ export interface MMGraphQLResourceResponse extends MMApiBaseResponse {
232
+ data: {
233
+ machineResource: Array<{
234
+ machineRef: string;
235
+ machineGroupId: string;
236
+ resourceId: string;
237
+ }>;
238
+ };
239
+ }
240
+ /**
241
+ * Response for machine groups fetch
242
+ * Used by fetchMachineGroups() method
243
+ */
244
+ export interface MMMachineGroupsResponse extends MMApiBaseResponse {
245
+ data: Array<{
246
+ id: string;
247
+ machines: Array<{
248
+ machineRef: string;
249
+ }>;
250
+ }>;
251
+ }
252
+ /**
253
+ * For other operations like saveCheckpoint, deleteLaborTickets, etc.,
254
+ * we return Promise<MMApiBaseResponse> until we have:
255
+ *
256
+ * 1. Clear understanding of actual response shapes
257
+ * 2. Real need for type safety on those responses
258
+ * 3. Actual usage patterns that would benefit from specific typing
259
+ *
260
+ * This avoids the anti-pattern of vague interfaces with [key: string]: unknown
261
+ * that provide no real type safety.
262
+ */
263
+ //# sourceMappingURL=mm-response-interfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mm-response-interfaces.d.ts","sourceRoot":"","sources":["../../../../src/services/mm-api-service/types/mm-response-interfaces.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Represents a labor ticket as received from the MM API /erp/v1/labor-tickets/export/updates
3
+ */
4
+ export declare class MMReceiveLaborTicket {
5
+ constructor(data: Partial<MMReceiveLaborTicket>);
6
+ get workOrderOperationClosedDate(): string | null;
7
+ set workOrderOperationClosedDate(value: string | null);
8
+ get workOrderOpIsClosed(): number;
9
+ badParts: number;
10
+ clockIn: string | null;
11
+ clockOut: string | null;
12
+ comment: string | null;
13
+ createdAt: string | null;
14
+ goodParts: number;
15
+ laborTicketId: string;
16
+ laborTicketRef: string;
17
+ lot: string;
18
+ personId: string;
19
+ reasons?: MMReceiveLaborTicketReason[];
20
+ resourceId: string;
21
+ sequenceNumber: number;
22
+ split: string;
23
+ state: string;
24
+ type: string;
25
+ syncedAt: string | null;
26
+ updatedAt: string | null;
27
+ workOrderId: string;
28
+ workOrderOperation?: MMReceiveLaborTicketWorkOrderOperation;
29
+ sub: string;
30
+ transactionDate: string | null;
31
+ }
32
+ /**
33
+ * Represents a reason in the MMApiReceiveLaborTicket object as received from MM
34
+ */
35
+ export interface MMReceiveLaborTicketReason {
36
+ reason: {
37
+ annotationTypeRef: string | null;
38
+ category: string;
39
+ code: string;
40
+ companyId: string;
41
+ createdAt: string;
42
+ description: string;
43
+ entityType: string;
44
+ reasonId: string;
45
+ reasonRef: number;
46
+ rejectReasonRef: number;
47
+ updatedAt: string | null;
48
+ };
49
+ }
50
+ /**
51
+ * Represents a work order operation in the MMApiReceiveLaborTicket object, incomplete when
52
+ * pulling updated labor tickets from MM
53
+ */
54
+ export interface MMReceiveLaborTicketWorkOrderOperation {
55
+ closedDate: string | null;
56
+ }
57
+ //# sourceMappingURL=receive-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"receive-types.d.ts","sourceRoot":"","sources":["../../../../src/services/mm-api-service/types/receive-types.ts"],"names":[],"mappings":"AACA;;GAEG;AACH,qBAAa,oBAAoB;gBACnB,IAAI,EAAE,OAAO,CAAC,oBAAoB,CAAC;IAK/C,IAAI,4BAA4B,IAAI,MAAM,GAAG,IAAI,CAOhD;IAED,IAAI,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAIpD;IAGD,IAAI,mBAAmB,IAAI,MAAM,CAEhC;IAID,QAAQ,EAAG,MAAM,CAAC;IAClB,OAAO,EAAG,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAG,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAG,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAG,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAG,MAAM,CAAC;IACnB,aAAa,EAAG,MAAM,CAAC;IACvB,cAAc,EAAG,MAAM,CAAC;IACxB,GAAG,EAAG,MAAM,CAAC;IACb,QAAQ,EAAG,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,0BAA0B,EAAE,CAAC;IACvC,UAAU,EAAG,MAAM,CAAC;IACpB,cAAc,EAAG,MAAM,CAAC;IACxB,KAAK,EAAG,MAAM,CAAC;IACf,KAAK,EAAG,MAAM,CAAC;IACf,IAAI,EAAG,MAAM,CAAC;IACd,QAAQ,EAAG,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAG,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAG,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,sCAAsC,CAAC;IAC5D,GAAG,EAAG,MAAM,CAAC;IACb,eAAe,EAAG,MAAM,GAAG,IAAI,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE;QACN,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;QACjC,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B,CAAC;CACH;AAED;;;GAGG;AACH,MAAM,WAAW,sCAAsC;IACrD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B"}
@@ -0,0 +1,147 @@
1
+ /**
2
+ * These represent types of objects that can be sent to the MM API
3
+ * Note that each class also implements a static method to convert from a plain
4
+ * object to a REST API object: e.g.
5
+ * MMSendPerson::fromPlainObject(data: Record<string, string | null>): MMSendPerson
6
+ */
7
+ export interface IToRESTApiObject {
8
+ toRESTApiObject(): Record<string, string | null>;
9
+ }
10
+ /**
11
+ * Interface for static factory methods that can reconstruct typed objects
12
+ * from plain data, without validation.
13
+ */
14
+ export declare class MMSendPerson implements IToRESTApiObject {
15
+ personId: string;
16
+ firstName: string;
17
+ lastName: string;
18
+ isActive: boolean;
19
+ constructor(personId: string, firstName: string, lastName: string, isActive: boolean);
20
+ toRESTApiObject(): Record<string, string>;
21
+ static fromPlainObject(data: Record<string, string | null>): MMSendPerson;
22
+ }
23
+ export declare class MMSendResource implements IToRESTApiObject {
24
+ resourceId: string;
25
+ name: string;
26
+ isResourceGroup: boolean;
27
+ description: string;
28
+ type: string;
29
+ productionBurdenRateHourly: number;
30
+ setupBurdenRateHourly: number;
31
+ constructor(resourceId: string, // Unique identifier that the ERP uses to describe a resource
32
+ name: string, // A colloquial name for the resource, sometimes also just the resource_id
33
+ isResourceGroup: boolean, // Whether or not this record represents an individual machine/piece of hardware, or a group/type of machines
34
+ description: string, // Text description of the resource (optional)
35
+ type: string, // The type of resource (optional)
36
+ productionBurdenRateHourly: number, // The cost associated with running this machine in production/hour (optional)
37
+ setupBurdenRateHourly: number);
38
+ toRESTApiObject(): Record<string, string>;
39
+ static fromPlainObject(data: Record<string, string | null>): MMSendResource;
40
+ }
41
+ export declare class MMSendPart implements IToRESTApiObject {
42
+ partNumber: string;
43
+ partRevision: string;
44
+ method: string;
45
+ constructor(partNumber: string, partRevision: string, method: string);
46
+ toRESTApiObject(): Record<string, string>;
47
+ static fromPlainObject(data: Record<string, string | null>): MMSendPart;
48
+ }
49
+ export declare class MMSendPartOperation implements IToRESTApiObject {
50
+ partNumber: string;
51
+ partRevision: string;
52
+ method: string;
53
+ sequenceNumber: string;
54
+ resourceId: string;
55
+ cycleTimeMs: number;
56
+ setupTimeMs: number;
57
+ description: string;
58
+ quantityPerPart: number;
59
+ constructor(partNumber: string, partRevision: string, method: string, sequenceNumber: string, resourceId: string, cycleTimeMs: number, setupTimeMs: number, description: string, quantityPerPart: number);
60
+ toRESTApiObject(): Record<string, string | null>;
61
+ static fromPlainObject(data: Record<string, string | null>): MMSendPartOperation;
62
+ }
63
+ export declare class MMSendWorkOrder implements IToRESTApiObject {
64
+ workOrderId: string;
65
+ lot: string;
66
+ split: string;
67
+ sub: string;
68
+ status: string;
69
+ dueDate: string | null;
70
+ description: string;
71
+ scheduledStartDate: string | null;
72
+ scheduledEndDate: string | null;
73
+ closedDate: string | null;
74
+ quantityRequired: number;
75
+ partNumber: string;
76
+ partRevision: string;
77
+ method: string;
78
+ constructor(workOrderId: string, lot: string, split: string, sub: string, status: string, dueDate: string | null, description: string, scheduledStartDate: string | null, scheduledEndDate: string | null, closedDate: string | null, quantityRequired: number, partNumber: string, partRevision: string, method: string);
79
+ toRESTApiObject(): Record<string, string | null>;
80
+ static fromPlainObject(data: Record<string, string | null>): MMSendWorkOrder;
81
+ }
82
+ export declare class MMSendWorkOrderOperation implements IToRESTApiObject {
83
+ workOrderId: string;
84
+ lot: string;
85
+ split: string;
86
+ sub: string;
87
+ sequenceNumber: string;
88
+ resourceId: string;
89
+ startQuantity: number;
90
+ finishQuantity: number;
91
+ expectedRejectRate: number;
92
+ scheduledStartDate: string | null;
93
+ scheduledFinishDate: string | null;
94
+ closedDate: string | null;
95
+ cycleTimeMs: number;
96
+ setupTimeMs: number;
97
+ productionburdenRateHourly: number;
98
+ setupburdenRatehourly: number;
99
+ operationType: string;
100
+ quantityPerPart: number;
101
+ status: string;
102
+ constructor(workOrderId: string, lot: string, split: string, sub: string, sequenceNumber: string, resourceId: string, startQuantity: number, finishQuantity: number, expectedRejectRate: number, scheduledStartDate: string | null, scheduledFinishDate: string | null, closedDate: string | null, cycleTimeMs: number, setupTimeMs: number, productionburdenRateHourly: number, setupburdenRatehourly: number, operationType: string, quantityPerPart: number, status: string);
103
+ toRESTApiObject(): Record<string, string | null>;
104
+ static fromPlainObject(data: Record<string, string | null>): MMSendWorkOrderOperation;
105
+ }
106
+ export declare class MMSendReason implements IToRESTApiObject {
107
+ reasonId: string;
108
+ category: string;
109
+ code: string;
110
+ description: string;
111
+ entityType: string;
112
+ constructor(reasonId: string, category: string, code: string, description: string, entityType: string);
113
+ toRESTApiObject(): Record<string, string>;
114
+ static fromPlainObject(data: Record<string, string | null>): MMSendReason;
115
+ }
116
+ export declare class MMSendLaborTicket implements IToRESTApiObject {
117
+ workOrderId: string;
118
+ lot: string;
119
+ split: string;
120
+ sub: string;
121
+ sequenceNumber: string;
122
+ resourceId: string;
123
+ personId: string;
124
+ laborTicketId: string;
125
+ transactionDate: string | null;
126
+ clockIn: string | null;
127
+ clockOut: string | null;
128
+ goodParts: number;
129
+ badParts: number;
130
+ type: string;
131
+ comment: string;
132
+ state: string;
133
+ constructor(workOrderId: string, lot: string, split: string, sub: string, sequenceNumber: string, resourceId: string, personId: string, laborTicketId: string, transactionDate: string | null, clockIn: string | null, clockOut: string | null, goodParts: number, badParts: number, type: string, comment: string, state: string);
134
+ toRESTApiObject(): Record<string, string | null>;
135
+ static fromPlainObject(data: Record<string, string | null>): MMSendLaborTicket;
136
+ }
137
+ /**
138
+ * Flattened interface for Work Order related entities that maintains referential integrity
139
+ * by processing parts, part operations, work orders, and work order operations together
140
+ */
141
+ export interface MMSendWorkOrderBatch {
142
+ parts: MMSendPart[];
143
+ partOperations: MMSendPartOperation[];
144
+ workOrders: MMSendWorkOrder[];
145
+ workOrderOperations: MMSendWorkOrderOperation[];
146
+ }
147
+ //# sourceMappingURL=send-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send-types.d.ts","sourceRoot":"","sources":["../../../../src/services/mm-api-service/types/send-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Export the logger instance for use throughout the application
3
+ */
4
+ export { default as logger } from "./logger";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/reporting-service/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,4 @@
1
+ declare const logger: import("winston").Logger;
2
+ export declare const configureLogger: (logLevel: string, nodeEnv: string) => void;
3
+ export default logger;
4
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/services/reporting-service/logger.ts"],"names":[],"mappings":"AA+DA,QAAA,MAAM,MAAM,0BAaV,CAAC;AAGH,eAAO,MAAM,eAAe,GAAI,UAAU,MAAM,EAAE,SAAS,MAAM,SAgChE,CAAC;AAKF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,15 @@
1
+ export interface SQLServerConfiguration {
2
+ username: string;
3
+ password: string;
4
+ database: string;
5
+ host: string;
6
+ port: string;
7
+ connectionTimeout: string;
8
+ requestTimeout: string;
9
+ poolMax: string;
10
+ poolMin: string;
11
+ idleTimeoutMillis: string;
12
+ encrypt: boolean;
13
+ trustServer: boolean;
14
+ }
15
+ //# sourceMappingURL=configuration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configuration.d.ts","sourceRoot":"","sources":["../../../src/services/sql-server-erp-service/configuration.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;CACtB"}
@@ -0,0 +1,16 @@
1
+ import { SqlServerService } from "./sql-server-service";
2
+ import { SqlServerHelper } from "./sql-server-helpers";
3
+ import { SQLInput } from "./types/sql-input-param";
4
+ /**
5
+ * A class to manage interactions with SQL Server
6
+ */
7
+ export { SqlServerService };
8
+ /**
9
+ * A helper class for common SQL Server operations
10
+ */
11
+ export { SqlServerHelper };
12
+ /**
13
+ * Types related to SQL Server operations
14
+ */
15
+ export type { SQLInput };
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/sql-server-erp-service/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD;;GAEG;AACH,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAE5B;;GAEG;AACH,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B;;GAEG;AACH,YAAY,EAAE,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,31 @@
1
+ import sql from "mssql";
2
+ import { SQLInput } from "../types/sql-input-param";
3
+ import { SQLTransactionOperation } from "./sql-transaction-manager";
4
+ /**
5
+ * Insert a new labor ticket into the database.
6
+ * Create a query named laborTicketsInsert in the sql_toERP folder, add its inputs to the SQLInput array
7
+ * The laborTicketsInsert query is expected to return the NewRowUniqueId of the inserted labor ticket
8
+ *
9
+ * @param transaction The SQL transaction object
10
+ * @param inputs The SQL input parameters
11
+ * @returns The NewRowUniqueId of the inserted labor ticket
12
+ */
13
+ export declare class SQLLaborTicketInsertOperation implements SQLTransactionOperation<SQLInput[], number> {
14
+ private readonly sqlQuery;
15
+ constructor(sqlQuery: string);
16
+ execute(transaction: sql.Transaction, inputs: SQLInput[]): Promise<number>;
17
+ }
18
+ /**
19
+ * Update an existing labor ticket in the database.
20
+ * Create a query named laborTicketsUpdate in the sql_toERP folder, add its inputs to the SQLInput array
21
+ *
22
+ * @param transaction The SQL transaction object
23
+ * @param inputs The SQL input parameters
24
+ * @returns The number of rows affected
25
+ */
26
+ export declare class SQLLaborTicketUpdateOperation implements SQLTransactionOperation<SQLInput[], number> {
27
+ private readonly sqlQuery;
28
+ constructor(sqlQuery: string);
29
+ execute(transaction: sql.Transaction, inputs: SQLInput[]): Promise<number>;
30
+ }
31
+ //# sourceMappingURL=sql-labor-ticket-operations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sql-labor-ticket-operations.d.ts","sourceRoot":"","sources":["../../../../src/services/sql-server-erp-service/internal/sql-labor-ticket-operations.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,OAAO,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE;;;;;;;;GAQG;AACH,qBAAa,6BACX,YAAW,uBAAuB,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC;IAE1C,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,MAAM;IAEvC,OAAO,CACX,WAAW,EAAE,GAAG,CAAC,WAAW,EAC5B,MAAM,EAAE,QAAQ,EAAE,GACjB,OAAO,CAAC,MAAM,CAAC;CAiBnB;AAED;;;;;;;GAOG;AACH,qBAAa,6BACX,YAAW,uBAAuB,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC;IAE1C,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,MAAM;IAEvC,OAAO,CACX,WAAW,EAAE,GAAG,CAAC,WAAW,EAC5B,MAAM,EAAE,QAAQ,EAAE,GACjB,OAAO,CAAC,MAAM,CAAC;CASnB"}
@@ -0,0 +1,65 @@
1
+ import { z } from "zod";
2
+ export declare const SQLServerConfigSchema: z.ZodObject<{
3
+ user: z.ZodString;
4
+ password: z.ZodString;
5
+ database: z.ZodString;
6
+ server: z.ZodString;
7
+ connectionTimeout: z.ZodDefault<z.ZodNumber>;
8
+ requestTimeout: z.ZodDefault<z.ZodNumber>;
9
+ pool: z.ZodObject<{
10
+ max: z.ZodDefault<z.ZodNumber>;
11
+ min: z.ZodDefault<z.ZodNumber>;
12
+ idleTimeoutMillis: z.ZodDefault<z.ZodNumber>;
13
+ }, "strip", z.ZodTypeAny, {
14
+ min: number;
15
+ max: number;
16
+ idleTimeoutMillis: number;
17
+ }, {
18
+ min?: number | undefined;
19
+ max?: number | undefined;
20
+ idleTimeoutMillis?: number | undefined;
21
+ }>;
22
+ options: z.ZodObject<{
23
+ encrypt: z.ZodDefault<z.ZodBoolean>;
24
+ trustServerCertificate: z.ZodDefault<z.ZodBoolean>;
25
+ }, "strip", z.ZodTypeAny, {
26
+ encrypt: boolean;
27
+ trustServerCertificate: boolean;
28
+ }, {
29
+ encrypt?: boolean | undefined;
30
+ trustServerCertificate?: boolean | undefined;
31
+ }>;
32
+ }, "strip", z.ZodTypeAny, {
33
+ options: {
34
+ encrypt: boolean;
35
+ trustServerCertificate: boolean;
36
+ };
37
+ pool: {
38
+ min: number;
39
+ max: number;
40
+ idleTimeoutMillis: number;
41
+ };
42
+ user: string;
43
+ password: string;
44
+ database: string;
45
+ server: string;
46
+ connectionTimeout: number;
47
+ requestTimeout: number;
48
+ }, {
49
+ options: {
50
+ encrypt?: boolean | undefined;
51
+ trustServerCertificate?: boolean | undefined;
52
+ };
53
+ pool: {
54
+ min?: number | undefined;
55
+ max?: number | undefined;
56
+ idleTimeoutMillis?: number | undefined;
57
+ };
58
+ user: string;
59
+ password: string;
60
+ database: string;
61
+ server: string;
62
+ connectionTimeout?: number | undefined;
63
+ requestTimeout?: number | undefined;
64
+ }>;
65
+ //# sourceMappingURL=sql-server-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sql-server-config.d.ts","sourceRoot":"","sources":["../../../../src/services/sql-server-erp-service/internal/sql-server-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoChC,CAAC"}