@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
package/api/dtos/ui.js ADDED
@@ -0,0 +1,496 @@
1
+ /**
2
+ * JSDoc Type Definitions for Gandalan.IDAS.WebApi.Client DTOs
3
+ * Auto-generated from C# DTOs in /Gandalan.IDAS.WebApi.Client/DTOs/UI/
4
+ */
5
+
6
+ // ============================================================================
7
+ // Supporting Types from other namespaces
8
+ // ============================================================================
9
+
10
+ /**
11
+ * @typedef {Object} PropertyValueCollection
12
+ * @description Collection of property values for application-specific and additional properties
13
+ */
14
+
15
+ /**
16
+ * @typedef {Object} KatalogArtikelFarbZuordnungDTO
17
+ * @property {string} FarbKuerzelGuid
18
+ * @property {string} FarbItemGuid
19
+ * @property {number} Preis
20
+ * @property {boolean} Freigabe_IBOS
21
+ * @property {boolean} Freigabe_BestellFix
22
+ * @property {boolean} Freigabe_ARTOS
23
+ * @property {FarbArt} FarbArt
24
+ * @property {boolean} WirdAlsStandardFarbeBestellt
25
+ * @property {number} VEMenge
26
+ * @property {number} MengeGrossVE
27
+ * @property {number} MengeGrossVE2
28
+ * @property {number} MeldeSchwelleGrossVEs
29
+ * @property {string | null} GueltigAb
30
+ * @property {string | null} GueltigBis
31
+ * @property {number} Version
32
+ * @property {string} ChangedDate
33
+ * @property {number} MaxBestellMenge
34
+ */
35
+
36
+ /**
37
+ * @typedef {Object} KatalogArtikelDTO
38
+ * @property {string} KatalogArtikelGuid
39
+ * @property {string} KatalogNummer
40
+ * @property {string} Bezeichnung
41
+ * @property {string} Art - Einer der Werte aus der KatalogArtikelArt-Enum
42
+ * @property {string} WarenGruppeGuid
43
+ * @property {string} ImageFileName
44
+ * @property {string} Einheit
45
+ * @property {boolean} MengeMussGanzZahligSein
46
+ * @property {boolean} NurAlsVEBestellbar
47
+ * @property {boolean} IstZuschnittArtikel
48
+ * @property {boolean} IstBestellfixSonderfarbBestellbar
49
+ * @property {boolean} IstIbosSonderfarbBestellbar
50
+ * @property {boolean} IstArtosSonderfarbBestellbar
51
+ * @property {boolean} IstBestellfixTrendfarbBestellbar
52
+ * @property {boolean} IstIbosTrendfarbBestellbar
53
+ * @property {boolean} IstArtosTrendfarbBestellbar
54
+ * @property {boolean} IstFarbeOptional
55
+ * @property {boolean} NichtRabattfaehig
56
+ * @property {boolean} IstEKPArtikel
57
+ * @property {boolean} IstGewebeArtikel
58
+ * @property {boolean} IstSaegbar
59
+ * @property {number} GewichtInKg - Gewicht pro Mengeneinheit
60
+ * @property {string} MaterialGuid
61
+ * @property {Array<KatalogArtikelFarbZuordnungDTO>} MoeglicheFarben
62
+ * @property {number} ProfilLaengeMM - Für Art = ProfilArtikel
63
+ * @property {boolean} Freigabe_IBOS
64
+ * @property {boolean} Freigabe_BestellFix
65
+ * @property {boolean} Freigabe_ARTOS
66
+ * @property {number} Preis - Preis des Artikels (pro VE?)
67
+ * @property {number} StaffelPreis
68
+ * @property {number} StaffelMenge
69
+ * @property {number} VEMenge
70
+ * @property {number} VEPreis
71
+ * @property {number} MengeGrossVE
72
+ * @property {number} MengeGrossVE2
73
+ * @property {number} MeldeSchwelleGrossVEs
74
+ * @property {number} MaxBestellMenge
75
+ * @property {string} Status
76
+ * @property {string | null} GueltigAb
77
+ * @property {string | null} GueltigBis
78
+ * @property {Array<string>} ErsatzArtikel - Mögliche Ersatzartikel für diesen Artikel
79
+ * @property {string} VarianteGuid - Für Art = FertigElementArtikel
80
+ * @property {string} ChangedDate
81
+ * @property {number} Version
82
+ * @property {boolean} IstTechnischerArtikel
83
+ * @property {number} BasisBestellMenge
84
+ * @property {string | null} FrontendLogikGuid
85
+ * @property {boolean} IsIndiArtikel
86
+ * @property {boolean} IstEigenartikel
87
+ * @property {boolean} ErsetztNeherArtikel
88
+ * @property {string | null} OriginalArtikelGuid
89
+ */
90
+
91
+ /**
92
+ * @typedef {Object} WarenGruppeDTO
93
+ * @property {string} WarenGruppeGuid
94
+ * @property {number} Nummer
95
+ * @property {string} Bezeichnung
96
+ * @property {boolean} IstEKPWarengruppe
97
+ * @property {Array<KatalogArtikelDTO>} Artikel
98
+ * @property {number} Version
99
+ * @property {string} ChangedDate
100
+ * @property {string} FrontendLogik
101
+ */
102
+
103
+ // ============================================================================
104
+ // Enums
105
+ // ============================================================================
106
+
107
+ /**
108
+ * @typedef {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7} FarbArt
109
+ * @description FarbArt enum values
110
+ * - 0 = Unbekannt
111
+ * - 1 = StandardFarbe
112
+ * - 2 = SonderFarbe
113
+ * - 3 = TrendFarbe
114
+ * - 4 = LivFarbe
115
+ * - 5 = SonderEloxalFarbe
116
+ * - 6 = RALSonderFarbe
117
+ * - 7 = Roh
118
+ */
119
+
120
+ /**
121
+ * @typedef {0 | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128} UIEingabeFeldRegelNames
122
+ * @description UIEingabeFeldRegelNames enum values
123
+ * - 0 = Unbekannt
124
+ * - 1 = Frei
125
+ * - 2 = NurGanzZahlen
126
+ * - 4 = NurZahlen
127
+ * - 8 = NurListenWerte
128
+ * - 16 = NichtLeer
129
+ * - 32 = Vierfachauswahl
130
+ * - 64 = LangText
131
+ * - 128 = ArtikelFarbe
132
+ */
133
+
134
+ // ============================================================================
135
+ // UI DTOs
136
+ // ============================================================================
137
+
138
+ /**
139
+ * @typedef {Object} GuidListDTO
140
+ * @property {Array<string>} GuidList
141
+ */
142
+
143
+ /**
144
+ * @typedef {Object} InfoScreenConfigDTO
145
+ * @description DTO für Konfiguration der InfoScreens
146
+ * @property {string} InfoScreenGuid
147
+ * @property {string} ChangedDate
148
+ * @property {string} Caption
149
+ * @property {string} Layout - Default: "einspaltig"
150
+ * @property {string} Initiator
151
+ * @property {any} ParamType
152
+ * @property {Array<InfoScreenRowDTO>} Rows
153
+ */
154
+
155
+ /**
156
+ * @typedef {Object} InfoScreenInitTypeDTO
157
+ * @description DTO für die Dateninitialisierung der InfoScreens. Es wird festgelegt, mit welchen Daten der InfoScreen initialisiert wird und welcher Datentyp als Basis für den Screen genutzt wird. Wird in den IInfoScreenDataInitiator Implementierungen genutzt
158
+ * @property {string} Name
159
+ * @property {any} Type
160
+ * @property {any} Data
161
+ */
162
+
163
+ /**
164
+ * @typedef {Object} InfoScreenModulSettingsDTO
165
+ * @description DTO zur Ablage der Einstellungen einzelner InfoScreen Module innerhalb eines InfoScreens. Modulspezifische Einstellungen werden in den ApplicationSpecificProperties abgelegt.
166
+ * @property {string} ModuleGuid
167
+ * @property {InfoScreenInitTypeDTO} InitType
168
+ * @property {Array<InfoScreenInitTypeDTO>} AllowedTypes
169
+ * @property {boolean} NeedsInit
170
+ * @property {boolean} IsValid
171
+ * @property {Object<string, PropertyValueCollection>} ApplicationSpecificProperties
172
+ * @property {Object<string, PropertyValueCollection>} AdditionalProperties
173
+ */
174
+
175
+ /**
176
+ * @typedef {Object} InfoScreenRowDTO
177
+ * @description DTO für die Zeilen in der InfoScreen Konfiguration
178
+ * @property {Array<InfoScreenModulSettingsDTO>} InfoScreenModule - Array of 2 elements (for 2 columns)
179
+ * @property {number} RowNum
180
+ */
181
+
182
+ /**
183
+ * @typedef {Object} KonfigSatzDTO
184
+ * @property {string} ChangedDate
185
+ * @property {Array<KonfigSatzEintragDTO>} Eintraege
186
+ * @property {string} KonfigSatzGuid
187
+ * @property {number} Version
188
+ */
189
+
190
+ /**
191
+ * @typedef {Object} KonfigSatzEintragDTO
192
+ * @property {string} DatenTyp
193
+ * @property {string} KonfigName
194
+ * @property {string} KonfigSatzEintragGuid
195
+ * @property {string} UnterkomponenteName
196
+ * @property {string} Wert
197
+ * @property {string} ChangedDate
198
+ */
199
+
200
+ /**
201
+ * @typedef {Object} KonfigSatzInfoDTO
202
+ * @property {string} KonfigSatzGuid
203
+ * @property {string} VarianteGuid
204
+ * @property {string} LM_Hoehe
205
+ * @property {string} LM_Breite
206
+ * @property {string} LM_Breite2
207
+ */
208
+
209
+ /**
210
+ * @typedef {Object} OberflaecheDTO
211
+ * @property {string} OberflaecheGuid
212
+ * @property {string} Bezeichnung
213
+ * @property {string | null} GueltigAb
214
+ * @property {string | null} GueltigBis
215
+ * @property {number} Version
216
+ * @property {string} ChangedDate
217
+ */
218
+
219
+ /**
220
+ * @typedef {Object} ProduktFamilieDTO
221
+ * @property {string} ProduktFamilieGuid
222
+ * @property {string} ProduktGruppeGuid
223
+ * @property {string} WarengruppenGuid
224
+ * @property {string} Bezeichnung
225
+ * @property {string} PreisErmittlung
226
+ * @property {string} StandardFarbe
227
+ * @property {string} KurzBezeichnung
228
+ * @property {boolean} HatRabatt2
229
+ * @property {boolean} HatRabatt3
230
+ * @property {Array<VarianteDTO>} Varianten
231
+ * @property {Array<string>} StandardFarbKuerzelGuids
232
+ * @property {Array<ProduktFamilieErsatzFarbZuordnungDTO>} ErsatzFarbZuordnungen
233
+ * @property {string} ChangedDate
234
+ * @property {number} Version
235
+ */
236
+
237
+ /**
238
+ * @typedef {Object} ProduktFamilieErsatzFarbZuordnungDTO
239
+ * @property {string} ProduktFamilieErsatzFarbZuordnungGuid
240
+ * @property {string} ChangedDate
241
+ * @property {number} Version
242
+ * @property {string} FarbItemGuid
243
+ * @property {string} ErsatzFarbItemGuid
244
+ * @property {string | null} GueltigAb
245
+ * @property {string | null} GueltigBis
246
+ */
247
+
248
+ /**
249
+ * @typedef {Object} ProduktFamilieFarbZuordnungDTO
250
+ * @property {string} Kuerzel
251
+ * @property {string} ProduktFamilieFarbZuordnungGuid
252
+ * @property {string} ChangedDate
253
+ * @property {number} Version
254
+ * @property {string} FarbItemGuid
255
+ * @property {string | null} GueltigAb
256
+ * @property {string | null} GueltigBis
257
+ */
258
+
259
+ /**
260
+ * @typedef {Object} ProduktFamilienDTOListe
261
+ * @description ObservableCollection of ProduktFamilieDTO
262
+ * @extends {Array<ProduktFamilieDTO>}
263
+ */
264
+
265
+ /**
266
+ * @typedef {Object} TagInfoDTO
267
+ * @property {string} ObjectGuid
268
+ * @property {string} Text
269
+ * @property {boolean} CanRemove
270
+ * @property {boolean} IsDefaultTag
271
+ * @property {string} ToolTip
272
+ * @property {string} IconName
273
+ * @property {string} BackgroundColorCode
274
+ * @property {string} TextColorCode
275
+ * @property {boolean} IsDeleted
276
+ * @property {number} Version
277
+ * @property {string} ChangedDate
278
+ */
279
+
280
+ /**
281
+ * @typedef {Object} TagVorlageDTO
282
+ * @property {string} TagVorlageGuid
283
+ * @property {string} Text
284
+ * @property {string} ToolTip
285
+ * @property {string} BackgroundColorCode
286
+ * @property {string} TextColorCode
287
+ * @property {number} Version
288
+ * @property {string} ChangedDate
289
+ */
290
+
291
+ /**
292
+ * @typedef {Object} UIEingabeFeldDTO
293
+ * @property {number} Reihenfolge
294
+ * @property {string} Caption
295
+ * @property {string} Tag
296
+ * @property {string} Regel
297
+ * @property {number} MinWert
298
+ * @property {boolean} MinWertWeichPruefen
299
+ * @property {number} MaxWert
300
+ * @property {boolean} MaxWertWeichPruefen
301
+ * @property {string} VorgabeWert
302
+ * @property {string} HilfeText
303
+ * @property {string} WarnText
304
+ * @property {string} FehlerText
305
+ * @property {string} WerteListeName
306
+ * @property {boolean} PreisFeldAnzeigen
307
+ * @property {number} MindestBreite
308
+ * @property {number} Version
309
+ * @property {string} ChangedDate
310
+ * @property {string} UIEingabeFeldGuid
311
+ * @property {string} BelegBlattText
312
+ * @property {string} AngebotsText
313
+ * @property {number} EingabeLevel
314
+ * @property {number | null} ZusatzFeldGruppeId
315
+ * @property {number | null} GehoertZuZusatzFeldGruppeId
316
+ * @property {string | null} GueltigAb
317
+ * @property {string | null} GueltigBis
318
+ * @property {boolean} IstKonfiguratorFeld
319
+ */
320
+
321
+ /**
322
+ * @typedef {Object} UIEingabeFeldInfoDTO
323
+ * @property {string} UIEingabeFeldGuid
324
+ * @property {Array<string>} VariantenGuids
325
+ * @property {string} Caption
326
+ * @property {number} MinWert
327
+ * @property {boolean} MinWertWeichPruefen
328
+ * @property {number} MaxWert
329
+ * @property {boolean} MaxWertWeichPruefen
330
+ * @property {string} HilfeText
331
+ * @property {string} WarnText
332
+ * @property {string} FehlerText
333
+ * @property {string} VorgabeWert
334
+ */
335
+
336
+ /**
337
+ * @typedef {Object} UIDefinitionDTO
338
+ * @property {string} UIDefinitionGuid
339
+ * @property {string} Kategorie
340
+ * @property {string} BezeichnungKurz
341
+ * @property {string} BezeichnungLang
342
+ * @property {string} BildHorizontal
343
+ * @property {string} BildVertikal
344
+ * @property {string} Bild3D
345
+ * @property {Array<UIEingabeFeldDTO>} EingabeFelder
346
+ * @property {Array<UIKonfiguratorFeldDTO>} KonfiguratorFelder
347
+ * @property {number} Version
348
+ * @property {string} ChangedDate
349
+ */
350
+
351
+ /**
352
+ * @typedef {Object} UIKonfiguratorFeldDTO
353
+ * @property {number} EingabeLevel
354
+ * @property {number} Reihenfolge
355
+ * @property {string} Caption
356
+ * @property {string} Tag
357
+ * @property {string} Kuerzel
358
+ * @property {string} WerteListeName
359
+ * @property {string} VorgabeWert
360
+ * @property {string} BelegBlattText
361
+ * @property {string} AngebotsText
362
+ * @property {number | null} ProfilId
363
+ * @property {number | null} GehoertZuProfilId
364
+ * @property {string | null} GueltigAb
365
+ * @property {string | null} GueltigBis
366
+ * @property {number} Version
367
+ * @property {string} ChangedDate
368
+ * @property {string} UIKonfiguratorFeldGuid
369
+ */
370
+
371
+ /**
372
+ * @typedef {Object} UIScriptDTO
373
+ * @property {string} ScriptDefinitionGuid
374
+ * @property {string} Context
375
+ * @property {string} Code
376
+ * @property {number} Version
377
+ * @property {string} ChangedDate
378
+ * @property {string | null} GueltigAb
379
+ * @property {string | null} GueltigBis
380
+ * @property {string | null} MandantGuid
381
+ */
382
+
383
+ /**
384
+ * @typedef {Object} VarianteDTO
385
+ * @property {string} VarianteGuid
386
+ * @property {string} UIDefinitionGuid
387
+ * @property {string} ProduktFamilieGuid
388
+ * @property {string} WarengruppeGuid
389
+ * @property {string} KomponenteGuid
390
+ * @property {string} Kuerzel
391
+ * @property {string} Name
392
+ * @property {string} ElementArt
393
+ * @property {string} ElementTyp
394
+ * @property {string} Beschreibung
395
+ * @property {string} PreisErmittlung
396
+ * @property {string} Preisliste
397
+ * @property {string} PreisVorschrift
398
+ * @property {string} GrenzVorschrift
399
+ * @property {number} PreislistenFaktor
400
+ * @property {boolean} MasterKatalog
401
+ * @property {boolean} HauptKatalog
402
+ * @property {boolean} ExtraKatalog
403
+ * @property {boolean} ErfassungIBOS2Moeglich
404
+ * @property {boolean} ErfassungIBOS1Moeglich
405
+ * @property {string | null} GueltigAb
406
+ * @property {string | null} GueltigBis
407
+ * @property {string} ChangedDate
408
+ * @property {number} Version
409
+ * @property {UIDefinitionDTO} UIDefinition
410
+ * @property {string} KonfigSatzGuid - Achtung, KonfigSatz-Klasse wird NICHT direkt gemappt!
411
+ * @property {Array<KonfigSatzEintragDTO>} KonfigSatz
412
+ * @property {boolean} IstTechnischeVariante
413
+ */
414
+
415
+ /**
416
+ * @typedef {Object} VarianteDTOListe
417
+ * @description ObservableCollection of VarianteDTO
418
+ * @extends {Array<VarianteDTO>}
419
+ */
420
+
421
+ /**
422
+ * @typedef {Object} WarenGruppeDTOListe
423
+ * @description ObservableCollection of WarenGruppeDTO
424
+ * @extends {Array<WarenGruppeDTO>}
425
+ */
426
+
427
+ /**
428
+ * @typedef {Object} WerteListeDTO
429
+ * @property {string} Name
430
+ * @property {number} Version
431
+ * @property {string} ChangedDate
432
+ * @property {string} WerteListeGuid
433
+ * @property {Array<WerteListeItemDTO>} Items
434
+ * @property {string} GueltigAb
435
+ */
436
+
437
+ /**
438
+ * @typedef {Object} WerteListeDTOListe
439
+ * @description ObservableCollection of WerteListeDTO
440
+ * @extends {Array<WerteListeDTO>}
441
+ */
442
+
443
+ /**
444
+ * @typedef {Object} WerteListeItemDTO
445
+ * @property {string} BelegBlattText
446
+ * @property {string} AngebotsText
447
+ * @property {string} Beschreibung
448
+ * @property {string} ChangedDate
449
+ * @property {string} Kuerzel
450
+ * @property {number} Reihenfolge
451
+ * @property {number} Version
452
+ * @property {string} WerteListeItemGuid
453
+ * @property {string | null} GueltigAb
454
+ * @property {string | null} GueltigBis
455
+ */
456
+
457
+ // Export all type names for reference
458
+ export const DTO_TYPES = {
459
+ // Supporting types
460
+ PropertyValueCollection: "PropertyValueCollection",
461
+ KatalogArtikelFarbZuordnungDTO: "KatalogArtikelFarbZuordnungDTO",
462
+ KatalogArtikelDTO: "KatalogArtikelDTO",
463
+ WarenGruppeDTO: "WarenGruppeDTO",
464
+
465
+ // Enums
466
+ FarbArt: "FarbArt",
467
+ UIEingabeFeldRegelNames: "UIEingabeFeldRegelNames",
468
+
469
+ // UI DTOs
470
+ GuidListDTO: "GuidListDTO",
471
+ InfoScreenConfigDTO: "InfoScreenConfigDTO",
472
+ InfoScreenInitTypeDTO: "InfoScreenInitTypeDTO",
473
+ InfoScreenModulSettingsDTO: "InfoScreenModulSettingsDTO",
474
+ InfoScreenRowDTO: "InfoScreenRowDTO",
475
+ KonfigSatzDTO: "KonfigSatzDTO",
476
+ KonfigSatzEintragDTO: "KonfigSatzEintragDTO",
477
+ KonfigSatzInfoDTO: "KonfigSatzInfoDTO",
478
+ OberflaecheDTO: "OberflaecheDTO",
479
+ ProduktFamilieDTO: "ProduktFamilieDTO",
480
+ ProduktFamilieErsatzFarbZuordnungDTO: "ProduktFamilieErsatzFarbZuordnungDTO",
481
+ ProduktFamilieFarbZuordnungDTO: "ProduktFamilieFarbZuordnungDTO",
482
+ ProduktFamilienDTOListe: "ProduktFamilienDTOListe",
483
+ TagInfoDTO: "TagInfoDTO",
484
+ TagVorlageDTO: "TagVorlageDTO",
485
+ UIEingabeFeldDTO: "UIEingabeFeldDTO",
486
+ UIEingabeFeldInfoDTO: "UIEingabeFeldInfoDTO",
487
+ UIDefinitionDTO: "UIDefinitionDTO",
488
+ UIKonfiguratorFeldDTO: "UIKonfiguratorFeldDTO",
489
+ UIScriptDTO: "UIScriptDTO",
490
+ VarianteDTO: "VarianteDTO",
491
+ VarianteDTOListe: "VarianteDTOListe",
492
+ WarenGruppeDTOListe: "WarenGruppeDTOListe",
493
+ WerteListeDTO: "WerteListeDTO",
494
+ WerteListeDTOListe: "WerteListeDTOListe",
495
+ WerteListeItemDTO: "WerteListeItemDTO",
496
+ };
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @fileoverview JSDoc type definitions for WebJob DTOs from Gandalan.IDAS.WebApi.Client
3
+ * Auto-generated from C# DTO files in Gandalan.IDAS.WebApi.Client/DTOs/WebJob/
4
+ */
5
+
6
+ /**
7
+ * @typedef {Object} MandantAndBelegPosGuidDTO
8
+ * @property {number} MandantId
9
+ * @property {string} BelegPositionGuid - UUID
10
+ */
11
+
12
+ export {};
package/api/fluentApi.js CHANGED
@@ -5,13 +5,13 @@ import { restClient } from "./fluentRestClient";
5
5
  * @property {string} baseUrl - The base URL for API requests.
6
6
  * @property {import("./fluentAuthManager").FluentAuthManager} authManager - The authentication manager.
7
7
  * @property {string} serviceName - The name of the service using this API.
8
- * @property {function(string) : FluentApi} useBaseUrl - Sets the base URL for API requests and returns the FluentApi object.
9
- * @property {function(fluentAuthManager) : FluentApi} useAuthManager - Sets the auth manager and returns the FluentApi object.
10
- * @property {function(string) : FluentApi} useServiceName - Sets the service name and returns the FluentApi object.
11
- * @property {function(string) : Promise<object|Array<any>>} get - Async function to perform GET requests.
12
- * @property {function(string, object|null) : Promise<object|Array<any>>} put - Async function to perform PUT requests with a payload.
13
- * @property {function(string, object|null) : Promise<object|Array<any>>} post - Async function to perform POST requests with a payload.
14
- * @property {function(string) : Promise<object|Array<any>>} delete - Async function to perform DELETE requests.
8
+ * @property {(url?: string) => FluentApi} useBaseUrl - Sets the base URL for API requests and returns the FluentApi object.
9
+ * @property {(authManager: import("./fluentAuthManager").FluentAuthManager) => FluentApi} useAuthManager - Sets the auth manager and returns the FluentApi object.
10
+ * @property {(name: string) => FluentApi} useServiceName - Sets the service name and returns the FluentApi object.
11
+ * @property {(url?: string, auth?: boolean) => Promise<object|Array<any>>} get - Async function to perform GET requests.
12
+ * @property {(url?: string, payload?: Object, auth?: boolean) => Promise<object|Array<any>>} put - Async function to perform PUT requests with a payload.
13
+ * @property {(url?: string, payload?: Object, auth?: boolean) => Promise<object|Array<any>>} post - Async function to perform POST requests with a payload.
14
+ * @property {(url?: string, auth?: boolean) => Promise<object|Array<any>>} delete - Async function to perform DELETE requests.
15
15
  */
16
16
 
17
17
  /**
@@ -20,7 +20,7 @@ import { restClient } from "./fluentRestClient";
20
20
  * @return {FluentApi} A configured API client instance.
21
21
  */
22
22
  export function createApi() {
23
- return {
23
+ const api = {
24
24
  authManager: {},
25
25
  baseUrl: "",
26
26
  serviceName: "unknownService",
@@ -139,6 +139,8 @@ export function createApi() {
139
139
  }
140
140
  }
141
141
  };
142
+
143
+ return api;
142
144
  }
143
145
 
144
146
  /**
@@ -2,26 +2,34 @@ import { jwtDecode } from "jwt-decode";
2
2
  import validator from "validator";
3
3
  import { popRefreshTokenFromUrl } from "./fluentAuthUtils";
4
4
 
5
+ /**
6
+ * Decoded JWT claims used by this auth manager.
7
+ *
8
+ * @typedef {Object} JwtUserInfo
9
+ * @property {string|string[]} [rights]
10
+ * @property {string|string[]} [role]
11
+ */
12
+
5
13
  /**
6
14
  * @typedef {Object} FluentAuthManager
7
15
  * @property {string} appToken - The application token.
8
16
  * @property {string} authUrl - The authentication URL.
9
17
  * @property {string} token - The JWT token for authorization.
10
18
  * @property {string} refreshToken - The refresh token.
11
- * @property {object} userInfo - The user information.
12
- * @property {function(string) : FluentAuthManager} useAppToken - Sets the application token and returns the FluentApi object.
13
- * @property {function(string) : FluentAuthManager} useBaseUrl - Sets the base URL for authentication and returns the FluentApi object.
14
- * @property {function(string|null) : FluentAuthManager} useToken - Sets the JWT token and returns the FluentApi object. Only intended for usage with Service Tokens.
15
- * @property {function(string|null) : FluentAuthManager} useRefreshToken - Sets the refresh token and returns the FluentApi object.
16
- * @property {function} ensureAuthenticated - Ensures the user is authenticated before making a request.
17
- * @property {function() : string} authenticate - Authenticates the user with username and password, or refreshes the token.
18
- * @property {function():Promise<FluentAuthManager|null>} init - Returns promise for authManager. Returns null if not authenticated.
19
- * @property {function(string,string) : string} login - Logs in with the provided credentials.
20
- * @property {function} tryRefreshToken - Attempts to refresh the authentication token using the refresh token.
21
- * @property {function} updateUserSession - Updates the user session with the new token.
22
- * @property {function} redirectToLogin - Redirects to the login page.
23
- * @property {function(string) : boolean} hasRight - Checks if the user has the specific right.
24
- * @property {function(string) : boolean} hasRole - Checks if the user has the specific role.
19
+ * @property {JwtUserInfo} userInfo - Decoded JWT claims for role/right checks.
20
+ * @property {(appToken?: string) => FluentAuthManager|null} useAppToken - Sets the application token and returns the FluentApi object.
21
+ * @property {(url?: string) => FluentAuthManager} useBaseUrl - Sets the base URL for authentication and returns the FluentApi object.
22
+ * @property {(jwtToken?: string|null) => FluentAuthManager} useToken - Sets the JWT token and returns the FluentApi object. Only intended for usage with Service Tokens.
23
+ * @property {(storedRefreshToken?: string|null) => FluentAuthManager} useRefreshToken - Sets the refresh token and returns the FluentApi object.
24
+ * @property {() => Promise<void>} ensureAuthenticated - Ensures the user is authenticated before making a request.
25
+ * @property {() => Promise<void>} authenticate - Authenticates the user with username and password, or refreshes the token.
26
+ * @property {() => Promise<FluentAuthManager>} init - Returns promise for authManager. Returns null if not authenticated.
27
+ * @property {(username?: string, password?: string) => Promise<void>} login - Logs in with the provided credentials.
28
+ * @property {(refreshToken?: string) => Promise<unknown>} tryRefreshToken - Attempts to refresh the authentication token using the refresh token.
29
+ * @property {(token: string) => void} updateUserSession - Updates the user session with the new token.
30
+ * @property {() => void} redirectToLogin - Redirects to the login page.
31
+ * @property {(code: string) => boolean} hasRight - Checks if the user has the specific right.
32
+ * @property {(code: string) => boolean} hasRole - Checks if the user has the specific role.
25
33
  */
26
34
 
27
35
  /**
@@ -2,13 +2,13 @@
2
2
  * @typedef {Object} FluentRESTClient
3
3
  * @property {string} baseUrl - The base URL for API requests.
4
4
  * @property {string} token - The JWT token for authorization.
5
- * @property {function(string) : FluentRESTClient} useBaseUrl - Function to set the base URL and return the FluentApi object.
6
- * @property {function(string) : FluentRESTClient} useToken - Function to set the JWT token and return the FluentApi object.
7
- * @property {function(string) : FluentRESTClient} useUserAgent - Function to set the user agent and return the FluentApi object.
8
- * @property {function(string) : object|Array<any>} get - Async function to perform GET requests.
9
- * @property {function(string, object) : object|Array<any>} put - Async function to perform PUT requests with a payload.
10
- * @property {function(string, object|FormData) : object|Array<any>} post - Async function to perform POST requests with a payload.
11
- * @property {function(string) : object|Array<any>} delete - Async function to perform DELETE requests.
5
+ * @property {(url?: string) => FluentRESTClient} useBaseUrl - Function to set the base URL and return the FluentApi object.
6
+ * @property {(jwtToken?: string) => FluentRESTClient} useToken - Function to set the JWT token and return the FluentApi object.
7
+ * @property {(userAgent?: string) => FluentRESTClient} useUserAgent - Function to set the user agent and return the FluentApi object.
8
+ * @property {(url?: string, auth?: boolean) => Promise<any>} get - Async function to perform GET requests.
9
+ * @property {(url?: string, payload?: Object) => Promise<any>} put - Async function to perform PUT requests with a payload.
10
+ * @property {(url?: string, payload?: Object|FormData) => Promise<any>} post - Async function to perform POST requests with a payload.
11
+ * @property {(url?: string) => Promise<any>} delete - Async function to perform DELETE requests.
12
12
  */
13
13
 
14
14
  /**