@gostack-framework/react 0.0.0-stage → 0.1.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.
Files changed (138) hide show
  1. package/dist/api.d.ts +83 -0
  2. package/dist/api.js +170 -0
  3. package/dist/api.js.map +1 -0
  4. package/dist/auth.d.ts +60 -0
  5. package/dist/auth.js +136 -0
  6. package/dist/auth.js.map +1 -0
  7. package/dist/data.d.ts +25 -0
  8. package/dist/data.js +73 -0
  9. package/dist/data.js.map +1 -0
  10. package/dist/examples.d.ts +6 -0
  11. package/dist/examples.js +47 -0
  12. package/dist/examples.js.map +1 -0
  13. package/dist/hooks.d.ts +58 -0
  14. package/dist/hooks.js +109 -0
  15. package/dist/hooks.js.map +1 -0
  16. package/dist/index.d.ts +20 -0
  17. package/dist/index.js +21 -0
  18. package/dist/index.js.map +1 -0
  19. package/dist/layouts.d.ts +6 -0
  20. package/dist/layouts.js +34 -0
  21. package/dist/layouts.js.map +1 -0
  22. package/dist/line-flow/bus.d.ts +13 -0
  23. package/dist/line-flow/bus.js +52 -0
  24. package/dist/line-flow/bus.js.map +1 -0
  25. package/dist/line-flow/derived-line.d.ts +21 -0
  26. package/dist/line-flow/derived-line.js +122 -0
  27. package/dist/line-flow/derived-line.js.map +1 -0
  28. package/dist/line-flow/errors.d.ts +62 -0
  29. package/dist/line-flow/errors.js +91 -0
  30. package/dist/line-flow/errors.js.map +1 -0
  31. package/dist/line-flow/event-line.d.ts +16 -0
  32. package/dist/line-flow/event-line.js +81 -0
  33. package/dist/line-flow/event-line.js.map +1 -0
  34. package/dist/line-flow/index.d.ts +11 -0
  35. package/dist/line-flow/index.js +11 -0
  36. package/dist/line-flow/index.js.map +1 -0
  37. package/dist/line-flow/interchange.d.ts +17 -0
  38. package/dist/line-flow/interchange.js +86 -0
  39. package/dist/line-flow/interchange.js.map +1 -0
  40. package/dist/line-flow/lineflow.d.ts +12 -0
  41. package/dist/line-flow/lineflow.js +15 -0
  42. package/dist/line-flow/lineflow.js.map +1 -0
  43. package/dist/line-flow/network.d.ts +28 -0
  44. package/dist/line-flow/network.js +165 -0
  45. package/dist/line-flow/network.js.map +1 -0
  46. package/dist/line-flow/react/bridge.d.ts +23 -0
  47. package/dist/line-flow/react/bridge.js +40 -0
  48. package/dist/line-flow/react/bridge.js.map +1 -0
  49. package/dist/line-flow/react/hooks.d.ts +29 -0
  50. package/dist/line-flow/react/hooks.js +117 -0
  51. package/dist/line-flow/react/hooks.js.map +1 -0
  52. package/dist/line-flow/react/index.d.ts +3 -0
  53. package/dist/line-flow/react/index.js +4 -0
  54. package/dist/line-flow/react/index.js.map +1 -0
  55. package/dist/line-flow/react/provider.d.ts +15 -0
  56. package/dist/line-flow/react/provider.js +25 -0
  57. package/dist/line-flow/react/provider.js.map +1 -0
  58. package/dist/line-flow/scope.d.ts +21 -0
  59. package/dist/line-flow/scope.js +157 -0
  60. package/dist/line-flow/scope.js.map +1 -0
  61. package/dist/line-flow/state-line.d.ts +21 -0
  62. package/dist/line-flow/state-line.js +106 -0
  63. package/dist/line-flow/state-line.js.map +1 -0
  64. package/dist/line-flow/taxi.d.ts +15 -0
  65. package/dist/line-flow/taxi.js +81 -0
  66. package/dist/line-flow/taxi.js.map +1 -0
  67. package/dist/line-flow/types.d.ts +222 -0
  68. package/dist/line-flow/types.js +2 -0
  69. package/dist/line-flow/types.js.map +1 -0
  70. package/dist/line-flow/utils.d.ts +24 -0
  71. package/dist/line-flow/utils.js +53 -0
  72. package/dist/line-flow/utils.js.map +1 -0
  73. package/dist/paramsSerializer.d.ts +87 -0
  74. package/dist/paramsSerializer.js +138 -0
  75. package/dist/paramsSerializer.js.map +1 -0
  76. package/dist/registry.d.ts +10 -0
  77. package/dist/registry.js +115 -0
  78. package/dist/registry.js.map +1 -0
  79. package/dist/runtime.d.ts +80 -0
  80. package/dist/runtime.js +442 -0
  81. package/dist/runtime.js.map +1 -0
  82. package/dist/schemas.d.ts +88 -0
  83. package/dist/schemas.js +146 -0
  84. package/dist/schemas.js.map +1 -0
  85. package/dist/services.d.ts +35 -0
  86. package/dist/services.js +65 -0
  87. package/dist/services.js.map +1 -0
  88. package/dist/shared-types/file.types.d.ts +12 -0
  89. package/dist/shared-types/file.types.js +2 -0
  90. package/dist/shared-types/file.types.js.map +1 -0
  91. package/dist/shared-types/gallery.types.d.ts +22 -0
  92. package/dist/shared-types/gallery.types.js +2 -0
  93. package/dist/shared-types/gallery.types.js.map +1 -0
  94. package/dist/shared-types/governorates.types.d.ts +12 -0
  95. package/dist/shared-types/governorates.types.js +2 -0
  96. package/dist/shared-types/governorates.types.js.map +1 -0
  97. package/dist/shared-types/grade.types.d.ts +7 -0
  98. package/dist/shared-types/grade.types.js +2 -0
  99. package/dist/shared-types/grade.types.js.map +1 -0
  100. package/dist/shared-types/index.d.ts +13 -0
  101. package/dist/shared-types/index.js +14 -0
  102. package/dist/shared-types/index.js.map +1 -0
  103. package/dist/shared-types/metadata.types.d.ts +61 -0
  104. package/dist/shared-types/metadata.types.js +3 -0
  105. package/dist/shared-types/metadata.types.js.map +1 -0
  106. package/dist/shared-types/table.types.d.ts +33 -0
  107. package/dist/shared-types/table.types.js +2 -0
  108. package/dist/shared-types/table.types.js.map +1 -0
  109. package/dist/shared-types/viewCard.types.d.ts +78 -0
  110. package/dist/shared-types/viewCard.types.js +3 -0
  111. package/dist/shared-types/viewCard.types.js.map +1 -0
  112. package/dist/styles.css +347 -0
  113. package/dist/types.d.ts +126 -0
  114. package/dist/types.js +19 -0
  115. package/dist/types.js.map +1 -0
  116. package/dist/utils/conditionCompiler.d.ts +11 -0
  117. package/dist/utils/conditionCompiler.js +18 -0
  118. package/dist/utils/conditionCompiler.js.map +1 -0
  119. package/dist/utils/fileUtils.d.ts +50 -0
  120. package/dist/utils/fileUtils.js +266 -0
  121. package/dist/utils/fileUtils.js.map +1 -0
  122. package/dist/utils/metadataUtils.d.ts +35 -0
  123. package/dist/utils/metadataUtils.js +176 -0
  124. package/dist/utils/metadataUtils.js.map +1 -0
  125. package/dist/utils/normalizeTime.d.ts +1 -0
  126. package/dist/utils/normalizeTime.js +25 -0
  127. package/dist/utils/normalizeTime.js.map +1 -0
  128. package/dist/utils/tableUtils.d.ts +9 -0
  129. package/dist/utils/tableUtils.js +92 -0
  130. package/dist/utils/tableUtils.js.map +1 -0
  131. package/dist/utils/toFormData.d.ts +152 -0
  132. package/dist/utils/toFormData.js +250 -0
  133. package/dist/utils/toFormData.js.map +1 -0
  134. package/dist/utils/wizard.utils.d.ts +420 -0
  135. package/dist/utils/wizard.utils.js +596 -0
  136. package/dist/utils/wizard.utils.js.map +1 -0
  137. package/package.json +49 -3
  138. package/README.md +0 -3
@@ -0,0 +1,596 @@
1
+ export function formatClassificationsTree(classifications, _optionsCategories = []) {
2
+ if (!classifications || classifications.length === 0) {
3
+ return [];
4
+ }
5
+ const map = new Map();
6
+ classifications.forEach((item) => {
7
+ const id = String(item.id);
8
+ const parentId = item.parentId ?? item.parent_id ?? null;
9
+ map.set(id, {
10
+ ...item,
11
+ id,
12
+ name: item.name,
13
+ teams: item.teams || item.teams_data || [],
14
+ parentId: parentId ? String(parentId) : null,
15
+ children: Array.isArray(item.children)
16
+ ? item.children.map((c) => ({
17
+ ...c,
18
+ id: String(c.id),
19
+ name: c.name,
20
+ teams: c.teams || c.teams_data || [],
21
+ parentId: id,
22
+ children: Array.isArray(c.children)
23
+ ? c.children.map((sub) => ({
24
+ ...sub,
25
+ id: String(sub.id),
26
+ name: sub.name,
27
+ teams: sub.teams || sub.teams_data || [],
28
+ parentId: String(c.id),
29
+ children: [],
30
+ }))
31
+ : [],
32
+ }))
33
+ : [],
34
+ });
35
+ });
36
+ const rootItems = [];
37
+ map.forEach((item) => {
38
+ if (item.parentId && map.has(item.parentId)) {
39
+ const parent = map.get(item.parentId);
40
+ if (!parent.children.some((c) => c.id === item.id)) {
41
+ parent.children.push(item);
42
+ }
43
+ }
44
+ else if (!item.parentId) {
45
+ rootItems.push(item);
46
+ }
47
+ });
48
+ return rootItems;
49
+ }
50
+ export function formatNotesForApi(notes) {
51
+ if (!notes || !Array.isArray(notes) || notes.length === 0)
52
+ return undefined;
53
+ const formatted = notes
54
+ .map((n) => {
55
+ const rawText = typeof n === "string" ? n : n.text || n.content || "";
56
+ const text = String(rawText).trim();
57
+ if (!text)
58
+ return null;
59
+ let mentionUserIds = Array.isArray(n.mentionUserIds)
60
+ ? n.mentionUserIds
61
+ : Array.isArray(n.mention_user_ids)
62
+ ? n.mention_user_ids
63
+ : undefined;
64
+ if (!mentionUserIds || mentionUserIds.length === 0) {
65
+ const extracted = Array.from(text.matchAll(/@\[.*?\]\((\d+)\)/g))
66
+ .map((m) => Number(m[1]))
67
+ .filter((id) => !isNaN(id));
68
+ if (extracted.length > 0) {
69
+ mentionUserIds = Array.from(new Set(extracted));
70
+ }
71
+ }
72
+ return {
73
+ text,
74
+ ...(mentionUserIds && mentionUserIds.length > 0
75
+ ? { mentionUserIds }
76
+ : {}),
77
+ };
78
+ })
79
+ .filter(Boolean);
80
+ return formatted.length > 0 ? formatted : undefined;
81
+ }
82
+ export function buildIncidentPayload(params) {
83
+ return {
84
+ title: params.title.trim(),
85
+ description: params.description.trim(),
86
+ status: params.status,
87
+ priority: params.priority,
88
+ impact: params.impact,
89
+ urgency: params.urgency,
90
+ category: params.categoryName || params.category,
91
+ classification_id: params.category ? String(params.category) : undefined,
92
+ ci_id: params.ciId ? String(params.ciId) : undefined,
93
+ channel: params.channel,
94
+ contract_id: params.contractId && params.contractId !== "none"
95
+ ? String(params.contractId)
96
+ : undefined,
97
+ contractName: params.contractName || undefined,
98
+ sla_id: params.slaId ? String(params.slaId) : undefined,
99
+ slaName: params.slaName || undefined,
100
+ requester_id: params.requesterId ? String(params.requesterId) : undefined,
101
+ requesterName: params.requesterName || undefined,
102
+ team_id: params.teamId ? String(params.teamId) : undefined,
103
+ assignmentGroup: params.assignmentGroup || undefined,
104
+ assigned_to_id: params.assignId ? String(params.assignId) : undefined,
105
+ assignee: params.assignee || undefined,
106
+ notes: formatNotesForApi(params.notes),
107
+ resolution: params.resolutionCode ||
108
+ params.resolutionNotes ||
109
+ params.rootCause ||
110
+ params.closeCode
111
+ ? {
112
+ code: params.resolutionCode,
113
+ notes: params.resolutionNotes,
114
+ rootCause: params.rootCause,
115
+ closeCode: params.closeCode,
116
+ }
117
+ : undefined,
118
+ resolutionCode: params.resolutionCode || undefined,
119
+ resolutionNotes: params.resolutionNotes || undefined,
120
+ rootCause: params.rootCause || undefined,
121
+ closeCode: params.closeCode || undefined,
122
+ };
123
+ }
124
+ export function extractIncidentEditValues(incident) {
125
+ const cId = incident.contractId ||
126
+ incident.contract_id ||
127
+ incident.contract?.id ||
128
+ incident.sla?.contractId ||
129
+ incident.sla?.contract_id;
130
+ const sId = incident.slaId ||
131
+ incident.sla_id ||
132
+ incident.slaPolicyId ||
133
+ incident.slaPolicy?.id ||
134
+ incident.sla?.id;
135
+ const reqId = incident.requesterId || incident.requester_id || incident.requester?.id;
136
+ const tId = incident.teamId || incident.team_id || incident.team?.id;
137
+ const aId = incident.assignedToId || incident.assigned_to_id || incident.assignedTo?.id;
138
+ const classId = incident.classificationId ||
139
+ incident.classification_id ||
140
+ incident.classification?.id;
141
+ const ciId = incident.ciId ||
142
+ incident.ci_id ||
143
+ incident.cmdbId ||
144
+ incident.cmdb_id ||
145
+ incident.configurationItemId ||
146
+ incident.configuration_item_id ||
147
+ incident.configurationItems?.[0]?.id ||
148
+ "";
149
+ const ciName = incident.configurationItems?.[0]?.name ||
150
+ incident.ciName ||
151
+ incident.cmdb?.name ||
152
+ "";
153
+ return {
154
+ title: incident.title || "",
155
+ description: incident.description || "",
156
+ status: incident.status || "New",
157
+ priority: incident.priority || "Medium",
158
+ impact: incident.impact || "Medium",
159
+ urgency: incident.urgency || "Medium",
160
+ category: classId ? String(classId) : incident.category || "",
161
+ classification: incident.classification || null,
162
+ channel: incident.channel || "Phone",
163
+ contractId: cId ? String(cId) : "",
164
+ contractName: incident.contractName ||
165
+ incident.contract?.title ||
166
+ incident.contract?.name ||
167
+ incident.sla?.contract?.title ||
168
+ (typeof incident.contract === "string" ? incident.contract : ""),
169
+ slaId: sId ? String(sId) : "",
170
+ slaName: incident.slaName ||
171
+ incident.sla?.name ||
172
+ incident.slaPolicy?.name ||
173
+ (typeof incident.sla === "string" ? incident.sla : ""),
174
+ requesterId: reqId ? String(reqId) : null,
175
+ contactName: incident.requester?.name || incident.caller || incident.reporter || "",
176
+ contactEmail: incident.requester?.email || "",
177
+ teamId: tId ? String(tId) : null,
178
+ assignmentGroup: incident.team?.name || incident.assignmentGroup || "",
179
+ assignId: aId ? String(aId) : null,
180
+ assignee: incident.assignedTo?.name || incident.assignee || "",
181
+ notes: incident.notes || [],
182
+ resolutionCode: incident.resolution?.code ||
183
+ incident.resolutionCode ||
184
+ incident.resolution_code ||
185
+ "",
186
+ resolutionNotes: incident.resolution?.notes ||
187
+ incident.resolutionNotes ||
188
+ incident.resolution_notes ||
189
+ "",
190
+ rootCause: incident.resolution?.rootCause ||
191
+ incident.rootCause ||
192
+ incident.root_cause ||
193
+ "",
194
+ closeCode: incident.resolution?.closeCode ||
195
+ incident.closeCode ||
196
+ incident.close_code ||
197
+ "",
198
+ ciId: ciId ? String(ciId) : "",
199
+ ciName: ciName || "",
200
+ };
201
+ }
202
+ export function buildProblemPayload(params) {
203
+ return {
204
+ title: params.title.trim(),
205
+ description: params.description.trim(),
206
+ status: params.status,
207
+ priority: params.priority,
208
+ impact: params.impact,
209
+ urgency: params.urgency,
210
+ category: params.categoryName || params.category,
211
+ classification_id: params.category ? String(params.category) : undefined,
212
+ ci_id: params.ciId ? String(params.ciId) : undefined,
213
+ rcaMethodology: params.rcaMethodology || undefined,
214
+ rca_methodology: params.rcaMethodology || undefined,
215
+ rootCauseSummary: params.rootCauseSummary || undefined,
216
+ root_cause_summary: params.rootCauseSummary || undefined,
217
+ contract_id: params.contractId && params.contractId !== "none"
218
+ ? String(params.contractId)
219
+ : undefined,
220
+ contractId: params.contractId && params.contractId !== "none"
221
+ ? String(params.contractId)
222
+ : undefined,
223
+ contractName: params.contractName || undefined,
224
+ sla_id: params.slaId || params.sla_id
225
+ ? String(params.slaId || params.sla_id)
226
+ : undefined,
227
+ slaId: params.slaId || params.sla_id
228
+ ? String(params.slaId || params.sla_id)
229
+ : undefined,
230
+ slaName: params.slaName || undefined,
231
+ requester_id: params.requesterId ? String(params.requesterId) : undefined,
232
+ requesterName: params.requesterName || undefined,
233
+ team_id: params.teamId ? String(params.teamId) : undefined,
234
+ assignmentGroup: params.assignmentGroup || undefined,
235
+ assigned_to_id: params.assignId ? String(params.assignId) : undefined,
236
+ assignee: params.assignee || undefined,
237
+ workaround: params.workaround || undefined,
238
+ permanentSolution: params.permanentSolution || undefined,
239
+ permanent_solution: params.permanentSolution || undefined,
240
+ relatedRecords: params.relatedRecords,
241
+ notes: formatNotesForApi(params.notes),
242
+ };
243
+ }
244
+ export function extractProblemEditValues(problem) {
245
+ const reqId = problem.requesterId || problem.requester_id || problem.requester?.id;
246
+ const tId = problem.teamId || problem.team_id || problem.team?.id;
247
+ const aId = problem.assignedToId || problem.assigned_to_id || problem.assignedTo?.id;
248
+ const cId = problem.contractId ||
249
+ problem.contract_id ||
250
+ problem.contract?.id ||
251
+ problem.sla?.contractId ||
252
+ problem.sla?.contract_id;
253
+ const sId = problem.slaId ||
254
+ problem.sla_id ||
255
+ problem.sla?.id ||
256
+ problem.slaPolicyId ||
257
+ problem.slaPolicy?.id;
258
+ const sName = problem.slaName ||
259
+ problem.sla?.name ||
260
+ problem.slaPolicy?.name ||
261
+ (typeof problem.sla === "string" ? problem.sla : "");
262
+ const classId = problem.classificationId ||
263
+ problem.classification_id ||
264
+ problem.classification?.id;
265
+ const ciId = problem.ciId ||
266
+ problem.ci_id ||
267
+ problem.cmdbId ||
268
+ problem.cmdb_id ||
269
+ problem.configurationItemId ||
270
+ problem.configuration_item_id ||
271
+ problem.configurationItems?.[0]?.id ||
272
+ "";
273
+ const ciName = problem.configurationItems?.[0]?.name ||
274
+ problem.ciName ||
275
+ problem.cmdb?.name ||
276
+ "";
277
+ return {
278
+ title: problem.title || "",
279
+ description: problem.description || "",
280
+ status: problem.status || "New",
281
+ priority: problem.priority || "Medium",
282
+ impact: problem.impact || "Medium",
283
+ urgency: problem.urgency || "Medium",
284
+ category: classId ? String(classId) : problem.category || "",
285
+ classification: problem.classification || null,
286
+ rcaMethodology: problem.rcaMethodology ||
287
+ problem.rootCause?.methodology ||
288
+ "None selected",
289
+ rootCauseSummary: problem.rootCauseSummary || problem.rootCause?.description || "",
290
+ contractId: cId ? String(cId) : "",
291
+ contractName: problem.contractName ||
292
+ problem.contract?.title ||
293
+ problem.contract?.name ||
294
+ problem.sla?.contract?.title ||
295
+ "",
296
+ slaId: sId ? String(sId) : "",
297
+ slaName: sName || "",
298
+ workaround: problem.workaround || "",
299
+ permanentSolution: problem.permanentSolution || "",
300
+ requesterId: reqId ? String(reqId) : null,
301
+ contactName: problem.requester?.name || problem.contactName || problem.ownerName || "",
302
+ contactEmail: problem.requester?.email || problem.contactEmail || "",
303
+ teamId: tId ? String(tId) : null,
304
+ assignmentGroup: problem.team?.name || problem.assignmentGroup || "",
305
+ assignId: aId ? String(aId) : null,
306
+ assignee: problem.assignedTo?.name || problem.assignee || "",
307
+ relatedRecords: problem.relatedRecords || [],
308
+ ciId: ciId ? String(ciId) : "",
309
+ ciName: ciName || "",
310
+ };
311
+ }
312
+ export function formatDateTimeForApi(dt) {
313
+ if (!dt)
314
+ return null;
315
+ try {
316
+ const d = new Date(dt);
317
+ if (isNaN(d.getTime()))
318
+ return dt;
319
+ return d.toISOString();
320
+ }
321
+ catch {
322
+ return dt;
323
+ }
324
+ }
325
+ export function buildChangePayload(params) {
326
+ return {
327
+ title: params.title.trim(),
328
+ description: params.description.trim(),
329
+ type: params.type,
330
+ risk: params.risk,
331
+ impact: params.impact || "Low",
332
+ urgency: params.urgency || "Low",
333
+ priority: params.priority,
334
+ status: params.status,
335
+ classification_id: params.category ? String(params.category) : undefined,
336
+ ci_id: params.ciId ? String(params.ciId) : undefined,
337
+ category: params.category,
338
+ subcategory: params.subcategory,
339
+ classType: params.classType,
340
+ contract_id: params.contractId && params.contractId !== "none"
341
+ ? String(params.contractId)
342
+ : undefined,
343
+ contractId: params.contractId && params.contractId !== "none"
344
+ ? String(params.contractId)
345
+ : undefined,
346
+ contractName: params.contractName || undefined,
347
+ sla_id: params.slaId || params.sla_id
348
+ ? String(params.slaId || params.sla_id)
349
+ : undefined,
350
+ slaId: params.slaId || params.sla_id
351
+ ? String(params.slaId || params.sla_id)
352
+ : undefined,
353
+ slaName: params.slaName || undefined,
354
+ requester_id: params.requesterId ? String(params.requesterId) : undefined,
355
+ requesterId: params.requesterId ? String(params.requesterId) : undefined,
356
+ requesterName: params.requesterName || undefined,
357
+ team_id: params.teamId ? String(params.teamId) : undefined,
358
+ assignmentGroup: params.assignmentGroup || undefined,
359
+ assigned_to_id: params.assignId ? String(params.assignId) : undefined,
360
+ assignee: params.assignee || undefined,
361
+ planning: params.scheduledStart || params.scheduledEnd || params.riskAssessment
362
+ ? {
363
+ scheduledStartDate: formatDateTimeForApi(params.scheduledStart),
364
+ scheduledEndDate: formatDateTimeForApi(params.scheduledEnd),
365
+ riskAssessment: params.riskAssessment || null,
366
+ }
367
+ : undefined,
368
+ approval: params.requiresCabApproval || params.cabMeetingDate || params.cabOutcome
369
+ ? {
370
+ requiresCabApproval: params.requiresCabApproval ?? false,
371
+ cabMeetingDate: formatDateTimeForApi(params.cabMeetingDate),
372
+ cabOutcome: params.cabOutcome || "Pending",
373
+ }
374
+ : undefined,
375
+ implementation: params.downtimeStart || params.downtimeEnd || params.affectedServices
376
+ ? {
377
+ downtimeStartDate: formatDateTimeForApi(params.downtimeStart),
378
+ downtimeEndDate: formatDateTimeForApi(params.downtimeEnd),
379
+ affectedServices: (params.affectedServices || "")
380
+ .split(",")
381
+ .map((s) => s.trim())
382
+ .filter((s) => s.length > 0),
383
+ }
384
+ : undefined,
385
+ testing: params.testingCriteria || params.testingResults
386
+ ? {
387
+ testPlan: params.testingCriteria || null,
388
+ testResults: params.testingResults || null,
389
+ }
390
+ : null,
391
+ rollback: params.rollbackPlan
392
+ ? {
393
+ rollbackPlan: params.rollbackPlan || null,
394
+ }
395
+ : null,
396
+ closure: params.closeCode || params.closeNotes
397
+ ? {
398
+ closureCode: params.closeCode || null,
399
+ comments: params.closeNotes || null,
400
+ }
401
+ : null,
402
+ notes: formatNotesForApi(params.notes),
403
+ };
404
+ }
405
+ export function extractChangeEditValues(change) {
406
+ const toDatetimeLocal = (isoString) => {
407
+ if (!isoString)
408
+ return "";
409
+ try {
410
+ const date = new Date(isoString);
411
+ const ten = (i) => (i < 10 ? "0" : "") + i;
412
+ const YYYY = date.getFullYear();
413
+ const MM = ten(date.getMonth() + 1);
414
+ const DD = ten(date.getDate());
415
+ const HH = ten(date.getHours());
416
+ const MIN = ten(date.getMinutes());
417
+ return `${YYYY}-${MM}-${DD}T${HH}:${MIN}`;
418
+ }
419
+ catch {
420
+ return isoString;
421
+ }
422
+ };
423
+ const reqId = change.requesterId || change.requester_id || change.requester?.id;
424
+ const tId = change.teamId || change.team_id || change.team?.id;
425
+ const aId = change.assignedToId || change.assigned_to_id || change.assignedTo?.id;
426
+ const cId = change.contractId ||
427
+ change.contract_id ||
428
+ change.contract?.id ||
429
+ change.sla?.contractId ||
430
+ change.sla?.contract_id;
431
+ const sId = change.slaId ||
432
+ change.sla_id ||
433
+ change.sla?.id ||
434
+ change.slaPolicyId ||
435
+ change.slaPolicy?.id;
436
+ const sName = change.slaName ||
437
+ change.sla?.name ||
438
+ change.slaPolicy?.name ||
439
+ (typeof change.sla === "string" ? change.sla : "");
440
+ const classId = change.classificationId ||
441
+ change.classification_id ||
442
+ change.classification?.id;
443
+ const ciId = change.ciId ||
444
+ change.ci_id ||
445
+ change.cmdbId ||
446
+ change.cmdb_id ||
447
+ change.configurationItemId ||
448
+ change.configuration_item_id ||
449
+ change.configurationItems?.[0]?.id ||
450
+ "";
451
+ const ciName = change.configurationItems?.[0]?.name ||
452
+ change.ciName ||
453
+ change.cmdb?.name ||
454
+ "";
455
+ return {
456
+ title: change.title || "",
457
+ description: change.description || "",
458
+ category: classId ? String(classId) : change.category || "",
459
+ classification: change.classification || null,
460
+ subcategory: change.subcategory || "",
461
+ classType: change.classType || "Standard",
462
+ type: change.type || "Normal",
463
+ priority: change.priority || "Medium",
464
+ risk: change.risk || "Medium",
465
+ impact: change.impact || "Low",
466
+ urgency: change.urgency || "Low",
467
+ status: change.status || "Draft",
468
+ contractId: cId ? String(cId) : "",
469
+ contractName: change.contractName ||
470
+ change.contract?.title ||
471
+ change.contract?.name ||
472
+ change.sla?.contract?.title ||
473
+ (typeof change.contract === "string" ? change.contract : ""),
474
+ slaId: sId ? String(sId) : "",
475
+ slaName: sName || "",
476
+ requesterId: reqId ? String(reqId) : null,
477
+ contactName: change.requester?.name || change.contactName || change.reporter || "",
478
+ contactEmail: change.requester?.email || change.contactEmail || "",
479
+ teamId: tId ? String(tId) : null,
480
+ assignmentGroup: change.team?.name || change.assignmentGroup || "",
481
+ assignId: aId ? String(aId) : null,
482
+ assignee: change.assignedTo?.name || change.assignee || "",
483
+ scheduledStart: toDatetimeLocal(change.planning?.scheduledStartDate),
484
+ scheduledEnd: toDatetimeLocal(change.planning?.scheduledEndDate),
485
+ riskAssessment: change.planning?.riskAssessment || "",
486
+ requiresCabApproval: change.approval?.requiresCabApproval ?? false,
487
+ cabMeetingDate: change.approval?.cabMeetingDate
488
+ ? change.approval.cabMeetingDate.split("T")[0]
489
+ : "",
490
+ cabOutcome: change.approval?.cabOutcome || "Pending",
491
+ downtimeStart: toDatetimeLocal(change.implementation?.downtimeStartDate),
492
+ downtimeEnd: toDatetimeLocal(change.implementation?.downtimeEndDate),
493
+ affectedServices: (change.implementation?.affectedServices || []).join(", "),
494
+ testingCriteria: change.testing?.testPlan || "",
495
+ testingResults: change.testing?.testResults || "",
496
+ rollbackPlan: change.rollback?.rollbackPlan || "",
497
+ closeCode: change.closure?.closureCode || "Successful",
498
+ closeNotes: change.closure?.comments || "",
499
+ ciId: ciId ? String(ciId) : "",
500
+ ciName: ciName || "",
501
+ };
502
+ }
503
+ export function buildServiceRequestPayload(params) {
504
+ const classId = params.classificationId ||
505
+ (params.category && !isNaN(Number(params.category))
506
+ ? params.category
507
+ : undefined);
508
+ const assignedId = params.assignId ?? params.assignedToId;
509
+ const finalAssignee = params.assignee || params.assigneeName;
510
+ const finalTeam = params.assignmentGroup || params.teamName;
511
+ return {
512
+ title: params.title.trim(),
513
+ description: params.description.trim(),
514
+ priority: params.priority,
515
+ status: params.status,
516
+ category: params.categoryName || params.category || "General",
517
+ classification_id: classId ? String(classId) : undefined,
518
+ catalogItemId: params.catalogItemId || undefined,
519
+ catalog_item_id: params.catalogItemId || undefined,
520
+ service_catalog_item_id: params.catalogItemId
521
+ ? Number(params.catalogItemId)
522
+ : undefined,
523
+ catalogItemName: params.catalogItemName || undefined,
524
+ workflowId: params.workflowId || undefined,
525
+ workflow_id: params.workflowId || undefined,
526
+ workflowName: params.workflowName || undefined,
527
+ contract_id: params.contractId && params.contractId !== "none"
528
+ ? String(params.contractId)
529
+ : undefined,
530
+ contractId: params.contractId && params.contractId !== "none"
531
+ ? String(params.contractId)
532
+ : undefined,
533
+ contractName: params.contractName || undefined,
534
+ dueAt: params.dueAt ? formatDateTimeForApi(params.dueAt) : null,
535
+ due_at: params.dueAt ? formatDateTimeForApi(params.dueAt) : null,
536
+ form_data: params.formData || undefined,
537
+ // Relational Foreign Keys
538
+ requesterId: params.requesterId ?? undefined,
539
+ requester_id: params.requesterId ? String(params.requesterId) : undefined,
540
+ requestedForId: params.requestedForId ?? undefined,
541
+ requested_for_id: params.requestedForId
542
+ ? String(params.requestedForId)
543
+ : undefined,
544
+ teamId: params.teamId ?? null,
545
+ team_id: params.teamId ? String(params.teamId) : undefined,
546
+ assignedToId: assignedId ?? null,
547
+ assigned_to_id: assignedId ? String(assignedId) : undefined,
548
+ // Denormalized Snapshots
549
+ requesterName: params.requesterName || undefined,
550
+ requestedForName: params.requestedForName || undefined,
551
+ teamName: finalTeam || undefined,
552
+ assignmentGroup: finalTeam || undefined,
553
+ assigneeName: finalAssignee || undefined,
554
+ assignee: finalAssignee || undefined,
555
+ };
556
+ }
557
+ export function extractServiceRequestEditValues(sr) {
558
+ const reqId = sr.requesterId ?? sr.requester_id ?? sr.requester?.id;
559
+ const reqForId = sr.requestedForId ?? sr.requested_for_id ?? sr.requestedFor?.id;
560
+ const tId = sr.teamId ?? sr.team_id ?? sr.team?.id;
561
+ const aId = sr.assignedToId ?? sr.assigned_to_id ?? sr.assignedTo?.id;
562
+ const cId = sr.contractId ?? sr.contract_id ?? sr.contract?.id;
563
+ return {
564
+ title: sr.title || "",
565
+ description: sr.description || "",
566
+ priority: sr.priority || "Medium",
567
+ status: sr.status || "Submitted",
568
+ category: sr.classificationId
569
+ ? String(sr.classificationId)
570
+ : sr.category || "General",
571
+ catalogItemId: sr.catalogItemId || sr.catalog_item_id || "",
572
+ catalogItemName: sr.catalogItemName || sr.catalogItem?.name || "",
573
+ workflowId: sr.workflowId || sr.workflow_id || "",
574
+ workflowName: sr.workflowName || sr.workflow?.name || "",
575
+ contractId: cId ? String(cId) : "",
576
+ contractName: sr.contractName || sr.contract?.title || sr.contract?.name || "",
577
+ dueAt: sr.dueAt
578
+ ? sr.dueAt.split("T")[0]
579
+ : sr.due_at
580
+ ? sr.due_at.split("T")[0]
581
+ : "",
582
+ formData: sr.formData || sr.form_data || {},
583
+ requesterId: reqId ? String(reqId) : null,
584
+ contactName: sr.requesterName || sr.requester?.name || "",
585
+ contactEmail: sr.contactEmail || sr.requester?.email || "",
586
+ contactPhone: sr.contactPhone || sr.requester?.phone || "",
587
+ department: sr.department || sr.requester?.department || sr.requester?.location || "",
588
+ requestedForId: reqForId ? String(reqForId) : null,
589
+ requestedForName: sr.requestedForName || sr.requestedFor?.name || "",
590
+ teamId: tId ? String(tId) : null,
591
+ teamName: sr.teamName || sr.team?.name || sr.assignmentGroup || "",
592
+ assigneeId: aId ? String(aId) : null,
593
+ assigneeName: sr.assigneeName || sr.assignedTo?.name || sr.assignee || "",
594
+ };
595
+ }
596
+ //# sourceMappingURL=wizard.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wizard.utils.js","sourceRoot":"","sources":["../../src/utils/wizard.utils.ts"],"names":[],"mappings":"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"}