@gandalan/weblibs 1.5.17 → 1.5.19

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 (56) hide show
  1. package/JSDOC.md +661 -0
  2. package/README.md +106 -17
  3. package/api/business/ablageApi.js +106 -0
  4. package/api/business/anpassungApi.js +74 -0
  5. package/api/business/artikelApi.js +242 -0
  6. package/api/business/authApi.js +63 -0
  7. package/api/business/avApi.js +458 -0
  8. package/api/business/belegApi.js +365 -0
  9. package/api/business/belegPositionenApi.js +52 -0
  10. package/api/business/benutzerApi.js +96 -0
  11. package/api/business/fakturaApi.js +88 -0
  12. package/api/business/farbeApi.js +129 -0
  13. package/api/business/fileApi.js +72 -0
  14. package/api/business/historieApi.js +144 -0
  15. package/api/business/index.js +63 -0
  16. package/api/business/kontaktApi.js +70 -0
  17. package/api/business/lagerApi.js +162 -0
  18. package/api/business/lieferungApi.js +127 -0
  19. package/api/business/mailApi.js +41 -0
  20. package/api/business/mandantApi.js +137 -0
  21. package/api/business/materialApi.js +37 -0
  22. package/api/business/printApi.js +49 -0
  23. package/api/business/produktionApi.js +141 -0
  24. package/api/business/rechnungApi.js +155 -0
  25. package/api/business/serienApi.js +375 -0
  26. package/api/business/settingsApi.js +168 -0
  27. package/api/business/systemApi.js +209 -0
  28. package/api/business/uiApi.js +256 -0
  29. package/api/business/utilityApi.js +288 -0
  30. package/api/business/vorgangApi.js +128 -0
  31. package/api/dtos/allgemein.js +107 -0
  32. package/api/dtos/artikel.js +46 -0
  33. package/api/dtos/av.js +171 -0
  34. package/api/dtos/belege.js +614 -0
  35. package/api/dtos/benutzer.js +101 -0
  36. package/api/dtos/druck.js +50 -0
  37. package/api/dtos/faktura.js +128 -0
  38. package/api/dtos/farben.js +93 -0
  39. package/api/dtos/index.js +501 -0
  40. package/api/dtos/kunden.js +217 -0
  41. package/api/dtos/lager.js +66 -0
  42. package/api/dtos/mail.js +30 -0
  43. package/api/dtos/mandanten.js +60 -0
  44. package/api/dtos/nachrichten.js +18 -0
  45. package/api/dtos/produktGruppen.js +18 -0
  46. package/api/dtos/produktion.js +564 -0
  47. package/api/dtos/settings.js +172 -0
  48. package/api/dtos/technik.js +163 -0
  49. package/api/dtos/ui.js +496 -0
  50. package/api/dtos/webjob.js +12 -0
  51. package/api/fluentApi.js +10 -8
  52. package/api/fluentAuthManager.js +22 -14
  53. package/api/fluentRestClient.js +7 -7
  54. package/api/idasFluentApi.js +458 -0
  55. package/index.js +53 -6
  56. package/package.json +1 -1
@@ -0,0 +1,458 @@
1
+ /**
2
+ * @typedef {import('../fluentApi.js').FluentApi} FluentApi
3
+ * @typedef {import('../dtos/index.js').BelegPositionAVDTO} BelegPositionAVDTO
4
+ * @typedef {import('../dtos/index.js').PositionSerieItemDTO} PositionSerieItemDTO
5
+ * @typedef {import('../dtos/produktion.js').BerechnungParameterDTO} BerechnungParameterDTO
6
+ * @typedef {import('../dtos/produktion.js').ProduktionsDatenDTO} ProduktionsDatenDTO
7
+ * @typedef {import('../dtos/index.js').AVReserviertItemDTO} AVReserviertItemDTO
8
+ * @typedef {import('../dtos/belege.js').CalculationInfoDTO} CalculationInfoDTO
9
+ * @typedef {import('../dtos/produktion.js').AvReportVorgangRequestDto} AvReportVorgangRequestDto
10
+ * @typedef {import('../dtos/produktion.js').AvReportVorgangDto} AvReportVorgangDto
11
+ * @typedef {import('../dtos/produktion.js').SaegeDatenHistorieDTO} SaegeDatenHistorieDTO
12
+ * @typedef {import('../dtos/produktion.js').SaegeDatenResultDTO} SaegeDatenResultDTO
13
+ * @typedef {import('../dtos/index.js').MaterialBearbeitungsMethodeDTO} MaterialBearbeitungsMethodeDTO
14
+ * @typedef {import('../dtos/index.js').MaterialbedarfDTO} MaterialbedarfDTO
15
+ * @typedef {import('../dtos/index.js').MandantAndBelegPosGuidDTO} MandantAndBelegPosGuidDTO
16
+ * @typedef {import('../dtos/av.js').SerienMaterialEditDTO} SerienMaterialEditDTO
17
+ */
18
+
19
+ /**
20
+ * AV API - Arbeitsvorbereitung (work preparation) management
21
+ * @param {FluentApi} fluentApi
22
+ */
23
+ export function createAvApi(fluentApi) {
24
+ return {
25
+ // AVWebRoutinen
26
+ /**
27
+ * Get all AV positions
28
+ * @param {boolean} [includeOriginalBeleg=true]
29
+ * @param {boolean} [includeProdDaten=true]
30
+ * @returns {Promise<BelegPositionAVDTO[]>}
31
+ */
32
+ getAll: (includeOriginalBeleg = true, includeProdDaten = true) =>
33
+ fluentApi.get(`BelegPositionenAV?includeOriginalBeleg=${includeOriginalBeleg}&includeProdDaten=${includeProdDaten}`),
34
+
35
+ /**
36
+ * Get all AV positions changed since date
37
+ * @param {Date} changedSince
38
+ * @param {boolean} [includeOriginalBeleg=true]
39
+ * @param {boolean} [includeProdDaten=true]
40
+ * @returns {Promise<BelegPositionAVDTO[]>}
41
+ */
42
+ getAllChangedSince: (changedSince, includeOriginalBeleg = true, includeProdDaten = true) =>
43
+ fluentApi.get(`BelegPositionenAV/?changedSince=${changedSince.toISOString()}&includeOriginalBeleg=${includeOriginalBeleg}&includeProdDaten=${includeProdDaten}`),
44
+
45
+ /**
46
+ * Get AV positions by serie
47
+ * @param {string} serieGuid
48
+ * @param {boolean} [includeOriginalBeleg=true]
49
+ * @param {boolean} [includeProdDaten=true]
50
+ * @returns {Promise<BelegPositionAVDTO[]>}
51
+ */
52
+ getBySerie: (serieGuid, includeOriginalBeleg = true, includeProdDaten = true) =>
53
+ fluentApi.get(`BelegPositionenAV/?serieGuid=${serieGuid}&includeOriginalBeleg=${includeOriginalBeleg}&includeProdDaten=${includeProdDaten}`),
54
+
55
+ /**
56
+ * Get AV positions by vorgang
57
+ * @param {string} vorgangGuid
58
+ * @param {boolean} [includeOriginalBeleg=true]
59
+ * @param {boolean} [includeProdDaten=true]
60
+ * @returns {Promise<BelegPositionAVDTO[]>}
61
+ */
62
+ getByVorgang: (vorgangGuid, includeOriginalBeleg = true, includeProdDaten = true) =>
63
+ fluentApi.get(`BelegPositionenAV/?vorgangGuid=${vorgangGuid}&includeOriginalBeleg=${includeOriginalBeleg}&includeProdDaten=${includeProdDaten}`),
64
+
65
+ /**
66
+ * Get AV positions by multiple vorgang GUIDs
67
+ * @param {string[]} vorgangGuids
68
+ * @param {boolean} [includeOriginalBeleg=true]
69
+ * @param {boolean} [includeProdDaten=true]
70
+ * @returns {Promise<BelegPositionAVDTO[]>}
71
+ */
72
+ getByVorgangGuids: (vorgangGuids, includeOriginalBeleg = true, includeProdDaten = true) => {
73
+ const guidsString = vorgangGuids.join("&vorgangGuids=");
74
+ return fluentApi.get(`BelegPositionenAVByVorgangIds/?vorgangGuids=${guidsString}&includeOriginalBeleg=${includeOriginalBeleg}&includeProdDaten=${includeProdDaten}`);
75
+ },
76
+
77
+ /**
78
+ * Get AV positions by beleg position GUID
79
+ * @param {string} belegpositionGuid
80
+ * @returns {Promise<BelegPositionAVDTO[]>}
81
+ */
82
+ getByBelegPosition: (belegpositionGuid) =>
83
+ fluentApi.get(`BelegPositionenAV/${belegpositionGuid}`),
84
+
85
+ /**
86
+ * Get single AV position by GUID
87
+ * @param {string} avGuid
88
+ * @returns {Promise<BelegPositionAVDTO>}
89
+ */
90
+ getById: (avGuid) => fluentApi.get(`BelegPositionenAVById/${avGuid}`),
91
+
92
+ /**
93
+ * Get AV positions by PCode
94
+ * @param {string} pcode
95
+ * @param {boolean} [includeOriginalBeleg=true]
96
+ * @param {boolean} [includeProdDaten=true]
97
+ * @returns {Promise<BelegPositionAVDTO[]>}
98
+ */
99
+ getByPCode: (pcode, includeOriginalBeleg = true, includeProdDaten = true) =>
100
+ fluentApi.get(`BelegPositionenAVByPCode/${pcode}?includeOriginalBeleg=${includeOriginalBeleg}&includeProdDaten=${includeProdDaten}`),
101
+
102
+ /**
103
+ * Search AV positions by PCode
104
+ * @param {string} search
105
+ * @returns {Promise<BelegPositionAVDTO[]>}
106
+ */
107
+ searchByPCode: (search) =>
108
+ fluentApi.get(`BelegPositionenAVSearchByPCode?search=${encodeURIComponent(search)}`),
109
+
110
+ /**
111
+ * Save AV position
112
+ * @param {BelegPositionAVDTO} position
113
+ * @returns {Promise<void>}
114
+ */
115
+ save: (position) => fluentApi.put("BelegPositionenAV", position),
116
+
117
+ /**
118
+ * Save multiple AV positions
119
+ * @param {BelegPositionAVDTO[]} positionen
120
+ * @returns {Promise<BelegPositionAVDTO[]>}
121
+ */
122
+ saveList: (positionen) => fluentApi.put("BelegPositionenAVBulk", positionen),
123
+
124
+ /**
125
+ * Save AV positions to serie
126
+ * @param {string} serieGuid
127
+ * @param {string[]} positionGuids
128
+ * @returns {Promise<BelegPositionAVDTO[]>}
129
+ */
130
+ saveToSerie: (serieGuid, positionGuids) =>
131
+ fluentApi.put(`BelegPositionenAVBulk/AddToSerie/${serieGuid}`, positionGuids),
132
+
133
+ /**
134
+ * Calculate AV positions
135
+ * @param {string[]} guids
136
+ * @returns {Promise<void>}
137
+ */
138
+ berechnen: (guids) => fluentApi.put("BelegPositionenAVBulk/AVBerechnung", guids),
139
+
140
+ /**
141
+ * Delete AV position
142
+ * @param {string} guid
143
+ * @returns {Promise<void>}
144
+ */
145
+ delete: (guid) => fluentApi.delete(`BelegPositionenAV/${guid}`),
146
+
147
+ /**
148
+ * Delete multiple AV positions
149
+ * @param {string[]} guids
150
+ * @returns {Promise<void>}
151
+ */
152
+ deleteList: (guids) => fluentApi.delete("BelegPositionenAVBulk", guids),
153
+
154
+ /**
155
+ * Assign positions to series
156
+ * @param {string} belegGuid
157
+ * @param {PositionSerieItemDTO[]} positionSerieItems
158
+ * @returns {Promise<void>}
159
+ */
160
+ serienZuordnen: (belegGuid, positionSerieItems) =>
161
+ fluentApi.put(`BelegPositionenAVBulk/SerienZuorden/${belegGuid}`, positionSerieItems),
162
+
163
+ // AVPreProzessWebRoutinen
164
+ /**
165
+ * Pre-process calculation
166
+ * @param {BerechnungParameterDTO} dto
167
+ * @returns {Promise<BerechnungParameterDTO>}
168
+ */
169
+ preProcess: (dto) => fluentApi.put("AVPreProcess", dto),
170
+
171
+ // AVPostProzessWebRoutinen
172
+ /**
173
+ * Post-process calculation
174
+ * @param {BelegPositionAVDTO} dto
175
+ * @returns {Promise<ProduktionsDatenDTO>}
176
+ */
177
+ postProcess: (dto) => fluentApi.put("AVPostProcess", dto),
178
+
179
+ // AVReserviertWebRoutinen
180
+ reserviert: {
181
+ /**
182
+ * Get all reserved AV items
183
+ * @returns {Promise<AVReserviertItemDTO[]>}
184
+ */
185
+ getAll: () => fluentApi.get("AVReserviert"),
186
+
187
+ /**
188
+ * Get reserved AV items by serie
189
+ * @param {string} serieGuid
190
+ * @returns {Promise<AVReserviertItemDTO[]>}
191
+ */
192
+ getBySerie: (serieGuid) => fluentApi.get(`AVReserviert/?serieGuid=${serieGuid}`),
193
+ },
194
+
195
+ // BelegPositionenAVWebRoutinen - Additional calculation methods
196
+ /**
197
+ * Run AV calculation for position
198
+ * @param {string} id
199
+ * @param {number} mandantId
200
+ * @returns {Promise<void>}
201
+ */
202
+ runAvBerechnung: (id, mandantId) =>
203
+ fluentApi.post(`BelegPositionenAV/RunAVBerechnung/${id}?mandantId=${mandantId}`, null),
204
+
205
+ /**
206
+ * Calculate items
207
+ * @returns {Promise<void>}
208
+ */
209
+ calculateItems: () =>
210
+ fluentApi.post("BelegPositionenAV/CalculateItems", null),
211
+
212
+ /**
213
+ * Get calculate item list
214
+ * @returns {Promise<MandantAndBelegPosGuidDTO[]>}
215
+ */
216
+ getCalculateItemList: () =>
217
+ fluentApi.get("BelegPositionenAV/GetCalculateItemList"),
218
+
219
+ /**
220
+ * Check AV position count
221
+ * @param {string} belegPosGuid
222
+ * @param {number} mandantId
223
+ * @returns {Promise<string[]>}
224
+ */
225
+ checkAvPositionCount: (belegPosGuid, mandantId) =>
226
+ fluentApi.put(`BelegPositionenAV/CheckAVPositionCount?mandantId=${mandantId}&belegPosGuid=${belegPosGuid}`, null),
227
+
228
+ // AVBerechnungCloudRoutinen
229
+ /**
230
+ * Process AV calculation in cloud
231
+ * @param {BerechnungParameterDTO} parameter
232
+ * @returns {Promise<BerechnungParameterDTO>}
233
+ */
234
+ avBerechnungCloudProcess: (parameter) =>
235
+ fluentApi.post("ProcessIbos/Process", parameter),
236
+
237
+ /**
238
+ * Calculate AV position
239
+ * @param {number} mandantId
240
+ * @param {string} avPosGuid
241
+ * @returns {Promise<void>}
242
+ */
243
+ calculateAvPosition: (mandantId, avPosGuid) =>
244
+ fluentApi.post(`ProcessIbos/CalculateAVPosition?mandantId=${mandantId}&avPosGuid=${avPosGuid}`, null),
245
+
246
+ // CalculationInfoWebRoutinen
247
+ /**
248
+ * Put calculation info
249
+ * @param {CalculationInfoDTO} calculationInfoDTO
250
+ * @returns {Promise<CalculationInfoDTO>}
251
+ */
252
+ putCalculationInfo: (calculationInfoDTO) =>
253
+ fluentApi.put("CalculationInfo", calculationInfoDTO),
254
+
255
+ /**
256
+ * Get calculation info
257
+ * @param {number} mandantId
258
+ * @param {string} belegPosGuid
259
+ * @returns {Promise<CalculationInfoDTO>}
260
+ */
261
+ getCalculationInfo: (mandantId, belegPosGuid) =>
262
+ fluentApi.get(`CalculationInfo?mandantId=${mandantId}&belegPosGuid=${belegPosGuid}`),
263
+
264
+ /**
265
+ * Get incomplete calculation infos
266
+ * @returns {Promise<CalculationInfoDTO[]>}
267
+ */
268
+ getIncompleteCalculationInfos: () =>
269
+ fluentApi.get("CalculationInfo/Incomplete"),
270
+
271
+ /**
272
+ * Get in-calculation count
273
+ * @returns {Promise<number>}
274
+ */
275
+ getInCalculationCount: () => fluentApi.get("CalculationInfo/InCalculationCount"),
276
+
277
+ // KapazitaetsberechnungWebRoutinen
278
+ /**
279
+ * Calculate capacity for function
280
+ * @param {string} positionGuid
281
+ * @param {number} mandantID
282
+ * @returns {Promise<void>}
283
+ */
284
+ calculateKapazitaetForFunction: (positionGuid, mandantID) =>
285
+ fluentApi.post(`Kapaziaetsberechnung/RunKapBerechnung?id=${positionGuid}&mandantId=${mandantID}`, null),
286
+
287
+ /**
288
+ * Calculate capacity for AV
289
+ * @param {string[]} avPositionGuids
290
+ * @param {number} mandantID
291
+ * @returns {Promise<void>}
292
+ */
293
+ calculateKapazitaetForAv: (avPositionGuids, mandantID) =>
294
+ fluentApi.post(`Kapaziaetsberechnung/RunKapBerechnungForAV?mandantId=${mandantID}`, avPositionGuids),
295
+
296
+ /**
297
+ * Calculate capacity items
298
+ * @returns {Promise<void>}
299
+ */
300
+ calculateKapazitaetItems: () =>
301
+ fluentApi.post("Kapaziaetsberechnung/CalculateItems"),
302
+
303
+ // AvReportDataWebRoutinen
304
+ /**
305
+ * Get AV report vorgaenge
306
+ * @param {AvReportVorgangRequestDto} request
307
+ * @returns {Promise<AvReportVorgangDto[]>}
308
+ */
309
+ getAvReportVorgaenge: (request) =>
310
+ fluentApi.post("avreportdata/vorgaenge", request),
311
+
312
+ // SaegeDatenHistorieWebRoutinen
313
+ /**
314
+ * Get saw data history
315
+ * @param {string} saegeDatenHistorieGuid
316
+ * @param {boolean} [includeSaegeDatei=true]
317
+ * @param {boolean} [includeMeldungen=true]
318
+ * @returns {Promise<SaegeDatenHistorieDTO>}
319
+ */
320
+ getSaegeDatenHistorie: (saegeDatenHistorieGuid, includeSaegeDatei = true, includeMeldungen = true) =>
321
+ fluentApi.get(`SaegeDatenHistorie/?saegeDatenHistorieGuid=${saegeDatenHistorieGuid}&includeSaegeDatei=${includeSaegeDatei}&includeMeldungen=${includeMeldungen}`).then(r => r?.[0]),
322
+
323
+ /**
324
+ * Get saw data history for serie
325
+ * @param {string} serieGuid
326
+ * @param {boolean} [includeSaegeDatei=false]
327
+ * @param {boolean} [includeMeldungen=false]
328
+ * @returns {Promise<SaegeDatenHistorieDTO[]>}
329
+ */
330
+ getSaegeDatenHistorieForSerie: (serieGuid, includeSaegeDatei = false, includeMeldungen = false) =>
331
+ fluentApi.get(`SaegeDatenHistorie/?serieGuid=${serieGuid}&includeSaegeDatei=${includeSaegeDatei}&includeMeldungen=${includeMeldungen}`),
332
+
333
+ /**
334
+ * Get saw data history since date
335
+ * @param {Date} sinceWhen
336
+ * @param {boolean} [includeSaegeDatei=false]
337
+ * @param {boolean} [includeMeldungen=false]
338
+ * @returns {Promise<SaegeDatenHistorieDTO[]>}
339
+ */
340
+ getSaegeDatenHistorieSince: (sinceWhen, includeSaegeDatei = false, includeMeldungen = false) =>
341
+ fluentApi.get(`SaegeDatenHistorie/?createdSince=${sinceWhen.toISOString()}&includeSaegeDatei=${includeSaegeDatei}&includeMeldungen=${includeMeldungen}`),
342
+
343
+ /**
344
+ * Save saw data history
345
+ * @param {SaegeDatenHistorieDTO} dto
346
+ * @returns {Promise<SaegeDatenResultDTO>}
347
+ */
348
+ saveSaegeDatenHistorie: (dto) =>
349
+ fluentApi.put("SaegeDatenHistorie", dto),
350
+
351
+ /**
352
+ * Save saw data history bulk
353
+ * @param {SaegeDatenHistorieDTO[]} dtos
354
+ * @returns {Promise<void>}
355
+ */
356
+ saveSaegeDatenHistorieBulk: (dtos) =>
357
+ fluentApi.put("SaegeDatenHistorie/SaveBulk", dtos),
358
+
359
+ // MaterialBearbeitungenWebRoutinen
360
+ /**
361
+ * Get all material processing methods
362
+ * @returns {Promise<MaterialBearbeitungsMethodeDTO[]>}
363
+ */
364
+ getAllMaterialBearbeitungsMethoden: () =>
365
+ fluentApi.get("MaterialBearbeitungsMethoden"),
366
+
367
+ /**
368
+ * Save material processing method
369
+ * @param {MaterialBearbeitungsMethodeDTO} dto
370
+ * @returns {Promise<void>}
371
+ */
372
+ saveMaterialBearbeitungsMethode: (dto) =>
373
+ fluentApi.put("MaterialBearbeitungsMethoden", dto),
374
+
375
+ // SerienMaterialBerechnenWebRoutinen
376
+ material: {
377
+ /**
378
+ * Calculate material for serie
379
+ * @param {string} serieGuid
380
+ * @returns {Promise<void>}
381
+ */
382
+ serieBerechnen: (serieGuid) =>
383
+ fluentApi.post("SerieMaterialbedarfBerechnen", serieGuid),
384
+
385
+ /**
386
+ * Get material for serie
387
+ * @param {string} serieGuid
388
+ * @returns {Promise<MaterialbedarfDTO[]>}
389
+ */
390
+ getForSerie: (serieGuid) =>
391
+ fluentApi.get(`SerieMaterialbedarfBerechnen?serieGuid=${serieGuid}`),
392
+
393
+ /**
394
+ * Get open material requirements for serie v2
395
+ * @param {string} serieGuid
396
+ * @param {boolean} [filterCsvExportedMaterial=true]
397
+ * @returns {Promise<MaterialbedarfDTO[]>}
398
+ */
399
+ getOffenerBedarfV2: (serieGuid, filterCsvExportedMaterial = true) =>
400
+ fluentApi.get(`SerieOffenerMaterialbedarf?serieGuid=${serieGuid}&filterCsvExportedMaterial=${filterCsvExportedMaterial}`),
401
+
402
+ /**
403
+ * Get open material requirements for serie
404
+ * @param {string} serieGuid
405
+ * @returns {Promise<MaterialbedarfDTO[]>}
406
+ */
407
+ getOffenerBedarf: (serieGuid) =>
408
+ fluentApi.get(`SerieOffenerMaterialbedarf?serieGuid=${serieGuid}`),
409
+
410
+ /**
411
+ * Reset material for serie
412
+ * @param {string} serieGuid
413
+ * @returns {Promise<void>}
414
+ */
415
+ resetForSerie: (serieGuid) =>
416
+ fluentApi.delete(`SerieMaterialbedarfBerechnen?serieGuid=${serieGuid}`),
417
+
418
+ /**
419
+ * Calculate material bedarf for function
420
+ * @param {string} serieGuid
421
+ * @param {number} mandantId
422
+ * @returns {Promise<string[]>}
423
+ */
424
+ berechnenForFunction: (serieGuid, mandantId) =>
425
+ fluentApi.put(`SerieMaterialbedarfBerechnen/ForFunction?mandantId=${mandantId}&serieGuid=${serieGuid}`, null),
426
+
427
+ /**
428
+ * Reset material bedarf from AV position for function
429
+ * @param {string} avPosGuid
430
+ * @param {number} mandantId
431
+ * @returns {Promise<string[]>}
432
+ */
433
+ resetFromAvPosForFunction: (avPosGuid, mandantId) =>
434
+ fluentApi.put(`SerieMaterialbedarfBerechnen/ResetFromAvPosForFunction?mandantId=${mandantId}&avPosGuid=${avPosGuid}`, null),
435
+
436
+ // SerienMaterialEditWebRoutinen
437
+ /**
438
+ * Add or update serie material
439
+ * @param {MaterialbedarfDTO} dto
440
+ * @returns {Promise<SerienMaterialEditDTO>}
441
+ */
442
+ addOrUpdate: (dto) =>
443
+ fluentApi.put("SerieMaterialbedarfEdit", dto),
444
+
445
+ /**
446
+ * Delete serie material
447
+ * @param {string} materialbedarfGuid
448
+ * @returns {Promise<void>}
449
+ */
450
+ delete: (materialbedarfGuid) =>
451
+ fluentApi.delete(`SerieMaterialbedarfEdit?bedarfGuid=${materialbedarfGuid}`),
452
+ },
453
+ };
454
+ }
455
+
456
+ /**
457
+ * @typedef {ReturnType<typeof createAvApi>} AvApi
458
+ */