falconhub-apilibrary 1.4.0-dev.114 → 1.4.0-dev.115
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +959 -969
- package/dist/index.mjs +561 -537
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -1,3 +1,829 @@
|
|
|
1
|
+
interface ChangePasswordRequest {
|
|
2
|
+
email: string;
|
|
3
|
+
oldPassword: string;
|
|
4
|
+
newPassword: string;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
interface ConfirmEmailRequest {
|
|
8
|
+
email: string;
|
|
9
|
+
expiresAt: number;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
interface GetSecretKeyRequest {
|
|
13
|
+
otpCode?: string;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
interface GetSecretKeyResponse {
|
|
17
|
+
secretKey: string;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
interface LoginRequest {
|
|
21
|
+
email: string;
|
|
22
|
+
password: string;
|
|
23
|
+
rememberMe: boolean;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
interface LoginResponse {
|
|
27
|
+
accessToken: string;
|
|
28
|
+
refreshToken: string;
|
|
29
|
+
expiresIn: string;
|
|
30
|
+
message: string;
|
|
31
|
+
type: string;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
interface RefreshTokenRequest {
|
|
35
|
+
refreshToken: string;
|
|
36
|
+
rememberMe: boolean;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
interface RefreshTokenResponse {
|
|
40
|
+
accessToken: string;
|
|
41
|
+
refreshToken: string;
|
|
42
|
+
expiresIn: string;
|
|
43
|
+
message: string;
|
|
44
|
+
type: string;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
interface SendOtpRequest {
|
|
48
|
+
email: string;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
interface ValidateOtpRequest {
|
|
52
|
+
email: string;
|
|
53
|
+
otp: string;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
interface ValidateSessionRenewedResponse {
|
|
57
|
+
accessToken: string;
|
|
58
|
+
refreshToken: string;
|
|
59
|
+
expiresIn: string;
|
|
60
|
+
remainingMinutes: number;
|
|
61
|
+
isRemembered: boolean;
|
|
62
|
+
}
|
|
63
|
+
interface ValidateSessionResponse {
|
|
64
|
+
expiresAt: number;
|
|
65
|
+
remainingMinutes: number;
|
|
66
|
+
isRemembered: boolean;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Interfaz que representa un género del catálogo.
|
|
71
|
+
*/
|
|
72
|
+
interface Gender {
|
|
73
|
+
genderId: number;
|
|
74
|
+
gender: string;
|
|
75
|
+
key: string;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Request para crear o actualizar un género.
|
|
79
|
+
*/
|
|
80
|
+
interface GenderRequest {
|
|
81
|
+
gender: string;
|
|
82
|
+
key?: string;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Filtros disponibles para buscar géneros.
|
|
86
|
+
*/
|
|
87
|
+
interface GendersFilter {
|
|
88
|
+
/** Búsqueda general */
|
|
89
|
+
Search?: string;
|
|
90
|
+
/** Filtro por nombre del género (búsqueda parcial) */
|
|
91
|
+
Gender?: string;
|
|
92
|
+
}
|
|
93
|
+
interface GenderUserProfile {
|
|
94
|
+
genderId: number;
|
|
95
|
+
gender: string;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Interfaz que representa un código de área del catálogo.
|
|
100
|
+
*/
|
|
101
|
+
interface AreaCode {
|
|
102
|
+
areaCodeId: number;
|
|
103
|
+
countryCode: string;
|
|
104
|
+
iso: string;
|
|
105
|
+
countryName: string;
|
|
106
|
+
isActive: boolean;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Request para crear o actualizar un código de área.
|
|
110
|
+
*/
|
|
111
|
+
interface AreaCodeRequest {
|
|
112
|
+
countryCode: string;
|
|
113
|
+
iso: string;
|
|
114
|
+
countryName: string;
|
|
115
|
+
isActive: boolean;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Filtros disponibles para buscar códigos de área.
|
|
119
|
+
*/
|
|
120
|
+
interface AreaCodesFilter {
|
|
121
|
+
/** Búsqueda general */
|
|
122
|
+
Search?: string;
|
|
123
|
+
/** Filtro por código de país (búsqueda parcial) */
|
|
124
|
+
CountryCode?: string;
|
|
125
|
+
/** Filtro por ISO (búsqueda parcial) */
|
|
126
|
+
ISO?: string;
|
|
127
|
+
/** Filtro por nombre de país (búsqueda parcial) */
|
|
128
|
+
CountryName?: string;
|
|
129
|
+
/** Filtro por estado activo/inactivo */
|
|
130
|
+
IsActive?: boolean;
|
|
131
|
+
}
|
|
132
|
+
interface AreaCodeUserProfile {
|
|
133
|
+
areaCodeId: number;
|
|
134
|
+
countryCode: string;
|
|
135
|
+
country: string;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
interface Location {
|
|
139
|
+
locationId: number;
|
|
140
|
+
locationName: string;
|
|
141
|
+
address1: string;
|
|
142
|
+
address2: string;
|
|
143
|
+
city: string;
|
|
144
|
+
state: string;
|
|
145
|
+
country: string;
|
|
146
|
+
postalCode: string;
|
|
147
|
+
contactName: string;
|
|
148
|
+
areaCodeId: number;
|
|
149
|
+
contactPhone: string;
|
|
150
|
+
contactEmail: string;
|
|
151
|
+
isActive: boolean;
|
|
152
|
+
isPhysical: boolean;
|
|
153
|
+
parentLocationId: number | null;
|
|
154
|
+
url: string;
|
|
155
|
+
apiKey: string;
|
|
156
|
+
}
|
|
157
|
+
interface LocationsRequest {
|
|
158
|
+
locationName: string;
|
|
159
|
+
address1: string;
|
|
160
|
+
address2?: string;
|
|
161
|
+
city: string;
|
|
162
|
+
state: string;
|
|
163
|
+
country: string;
|
|
164
|
+
postalCode: string;
|
|
165
|
+
contactName: string;
|
|
166
|
+
areaCodeId: number;
|
|
167
|
+
contactPhone: string;
|
|
168
|
+
contactEmail: string;
|
|
169
|
+
isActive?: boolean;
|
|
170
|
+
isPhysical: boolean;
|
|
171
|
+
parentLocationId?: number;
|
|
172
|
+
/** URL requerida cuando isPhysical = true */
|
|
173
|
+
url?: string;
|
|
174
|
+
/** ApiKey requerida cuando isPhysical = true. Se almacena cifrada (AES-256) en el servidor. */
|
|
175
|
+
apiKey?: string;
|
|
176
|
+
}
|
|
177
|
+
interface LocationsFilter {
|
|
178
|
+
Search?: string;
|
|
179
|
+
LocationName?: string;
|
|
180
|
+
City?: string;
|
|
181
|
+
State?: string;
|
|
182
|
+
Country?: string;
|
|
183
|
+
IsActive?: boolean;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
interface InventoryStatus {
|
|
187
|
+
inventoryStatusId: number;
|
|
188
|
+
inventoryStatus: string;
|
|
189
|
+
key: string;
|
|
190
|
+
description: string;
|
|
191
|
+
}
|
|
192
|
+
interface InventoryStatusRequest {
|
|
193
|
+
inventoryStatus: string;
|
|
194
|
+
key?: string;
|
|
195
|
+
description: string;
|
|
196
|
+
}
|
|
197
|
+
interface InventoryStatusesFilter {
|
|
198
|
+
Search?: string;
|
|
199
|
+
InventoryStatus?: string;
|
|
200
|
+
Description?: string;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
/**
|
|
204
|
+
* Interfaz que representa un empaque del inventario.
|
|
205
|
+
*/
|
|
206
|
+
interface Packing {
|
|
207
|
+
packingId: number;
|
|
208
|
+
packing: string;
|
|
209
|
+
key: string;
|
|
210
|
+
materialId: number;
|
|
211
|
+
length: number;
|
|
212
|
+
width: number;
|
|
213
|
+
height: number;
|
|
214
|
+
weightLimit: number | null;
|
|
215
|
+
cost: number;
|
|
216
|
+
providerId: number;
|
|
217
|
+
isActive: boolean;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Request para crear o actualizar un empaque.
|
|
221
|
+
*/
|
|
222
|
+
interface PackingRequest {
|
|
223
|
+
packing: string;
|
|
224
|
+
key?: string;
|
|
225
|
+
materialId: number;
|
|
226
|
+
length: number;
|
|
227
|
+
width: number;
|
|
228
|
+
height: number;
|
|
229
|
+
weightLimit?: number;
|
|
230
|
+
cost: number;
|
|
231
|
+
providerId: number;
|
|
232
|
+
isActive: boolean;
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Filtros disponibles para buscar empaques.
|
|
236
|
+
*/
|
|
237
|
+
interface PackingsFilter {
|
|
238
|
+
Search?: string;
|
|
239
|
+
Packing?: string;
|
|
240
|
+
MaterialId?: number;
|
|
241
|
+
ProviderId?: number;
|
|
242
|
+
IsActive?: boolean;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
/**
|
|
246
|
+
* Interfaz que representa un material del inventario.
|
|
247
|
+
*/
|
|
248
|
+
interface Material {
|
|
249
|
+
materialId: number;
|
|
250
|
+
material: string;
|
|
251
|
+
key: string;
|
|
252
|
+
description: string;
|
|
253
|
+
isRecyclable: boolean;
|
|
254
|
+
isFragile: boolean;
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Request para crear o actualizar un material.
|
|
258
|
+
*/
|
|
259
|
+
interface MaterialRequest {
|
|
260
|
+
material: string;
|
|
261
|
+
description: string;
|
|
262
|
+
key?: string;
|
|
263
|
+
isRecyclable: boolean;
|
|
264
|
+
isFragile: boolean;
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Filtros disponibles para buscar materiales.
|
|
268
|
+
*/
|
|
269
|
+
interface MaterialsFilter {
|
|
270
|
+
Search?: string;
|
|
271
|
+
Material?: string;
|
|
272
|
+
Description?: string;
|
|
273
|
+
IsRecyclable?: boolean;
|
|
274
|
+
IsFragile?: boolean;
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
/**
|
|
278
|
+
* Interfaz que representa un proveedor del inventario.
|
|
279
|
+
*/
|
|
280
|
+
interface Provider {
|
|
281
|
+
providerId: number;
|
|
282
|
+
provider: string;
|
|
283
|
+
contactName: string;
|
|
284
|
+
areaCodeId: number;
|
|
285
|
+
contactNumber: string;
|
|
286
|
+
contactEmail: string;
|
|
287
|
+
isActive: boolean;
|
|
288
|
+
}
|
|
289
|
+
/**
|
|
290
|
+
* Request para crear o actualizar un proveedor.
|
|
291
|
+
*/
|
|
292
|
+
interface ProviderRequest {
|
|
293
|
+
provider: string;
|
|
294
|
+
contactName: string;
|
|
295
|
+
areaCodeId: number;
|
|
296
|
+
contactNumber: string;
|
|
297
|
+
contactEmail: string;
|
|
298
|
+
isActive: boolean;
|
|
299
|
+
}
|
|
300
|
+
/**
|
|
301
|
+
* Filtros disponibles para buscar proveedores.
|
|
302
|
+
*/
|
|
303
|
+
interface ProvidersFilter {
|
|
304
|
+
Search?: string;
|
|
305
|
+
Provider?: string;
|
|
306
|
+
IsActive?: boolean;
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
/**
|
|
310
|
+
* Interfaz que representa un color.
|
|
311
|
+
*/
|
|
312
|
+
interface Color {
|
|
313
|
+
colorId: number;
|
|
314
|
+
color: string;
|
|
315
|
+
key: string;
|
|
316
|
+
createdAt: string;
|
|
317
|
+
updatedAt?: string;
|
|
318
|
+
deleted: boolean;
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* Request para crear o actualizar un color.
|
|
322
|
+
*/
|
|
323
|
+
interface ColorRequest {
|
|
324
|
+
color: string;
|
|
325
|
+
key: string;
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* Filtros disponibles para buscar colores.
|
|
329
|
+
*/
|
|
330
|
+
interface ColorsFilter {
|
|
331
|
+
Search?: string;
|
|
332
|
+
Color?: string;
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
/**
|
|
336
|
+
* Interfaz que representa un grupo de tallas.
|
|
337
|
+
*/
|
|
338
|
+
interface SizeGroup {
|
|
339
|
+
sizeGroupId: number;
|
|
340
|
+
sizeGroup: string;
|
|
341
|
+
key: string;
|
|
342
|
+
description: string;
|
|
343
|
+
createdAt: string;
|
|
344
|
+
updatedAt?: string;
|
|
345
|
+
deleted: boolean;
|
|
346
|
+
}
|
|
347
|
+
/**
|
|
348
|
+
* Request para crear o actualizar un grupo de tallas.
|
|
349
|
+
*/
|
|
350
|
+
interface SizeGroupRequest {
|
|
351
|
+
sizeGroup: string;
|
|
352
|
+
key: string;
|
|
353
|
+
description: string;
|
|
354
|
+
}
|
|
355
|
+
/**
|
|
356
|
+
* Filtros disponibles para buscar grupos de tallas.
|
|
357
|
+
*/
|
|
358
|
+
interface SizeGroupsFilter {
|
|
359
|
+
Search?: string;
|
|
360
|
+
SizeGroup?: string;
|
|
361
|
+
Description?: string;
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
/**
|
|
365
|
+
* Interfaz que representa una talla.
|
|
366
|
+
*/
|
|
367
|
+
interface Size {
|
|
368
|
+
sizeId: number;
|
|
369
|
+
size: string;
|
|
370
|
+
iso: string;
|
|
371
|
+
width: string;
|
|
372
|
+
length: string;
|
|
373
|
+
sizeGroupId: number;
|
|
374
|
+
createdAt: string;
|
|
375
|
+
updatedAt?: string;
|
|
376
|
+
deleted: boolean;
|
|
377
|
+
sizeGroup?: SizeGroup;
|
|
378
|
+
}
|
|
379
|
+
/**
|
|
380
|
+
* Request para crear o actualizar una talla.
|
|
381
|
+
*/
|
|
382
|
+
interface SizeRequest {
|
|
383
|
+
size: string;
|
|
384
|
+
iso: string;
|
|
385
|
+
width: string;
|
|
386
|
+
length: string;
|
|
387
|
+
sizeGroupId: number;
|
|
388
|
+
}
|
|
389
|
+
/**
|
|
390
|
+
* Filtros disponibles para buscar tallas.
|
|
391
|
+
*/
|
|
392
|
+
interface SizesFilter {
|
|
393
|
+
Search?: string;
|
|
394
|
+
Size?: string;
|
|
395
|
+
SizeGroupId?: number;
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
/**
|
|
399
|
+
* Interfaz que representa un Blank en el catálogo de productos.
|
|
400
|
+
*/
|
|
401
|
+
interface Blank {
|
|
402
|
+
blankId: number;
|
|
403
|
+
blank: string;
|
|
404
|
+
sku: string;
|
|
405
|
+
cost: number;
|
|
406
|
+
isActive: boolean;
|
|
407
|
+
colorId: number;
|
|
408
|
+
providerId: number;
|
|
409
|
+
materialId: number;
|
|
410
|
+
sizeId: number;
|
|
411
|
+
createdAt: string;
|
|
412
|
+
updatedAt?: string;
|
|
413
|
+
deleted: boolean;
|
|
414
|
+
color?: Color;
|
|
415
|
+
size?: Size;
|
|
416
|
+
provider?: Provider;
|
|
417
|
+
material?: Material;
|
|
418
|
+
}
|
|
419
|
+
/**
|
|
420
|
+
* Request para crear o actualizar un Blank.
|
|
421
|
+
*/
|
|
422
|
+
interface BlankRequest {
|
|
423
|
+
blank: string;
|
|
424
|
+
sku: string;
|
|
425
|
+
cost: number;
|
|
426
|
+
colorId: number;
|
|
427
|
+
providerId: number;
|
|
428
|
+
materialId: number;
|
|
429
|
+
sizeId: number;
|
|
430
|
+
isActive: boolean;
|
|
431
|
+
}
|
|
432
|
+
/**
|
|
433
|
+
* Filtros disponibles para buscar Blanks.
|
|
434
|
+
*/
|
|
435
|
+
interface BlanksFilter {
|
|
436
|
+
Search?: string;
|
|
437
|
+
SKU?: string;
|
|
438
|
+
Provider: string;
|
|
439
|
+
Material: string;
|
|
440
|
+
Size: string;
|
|
441
|
+
IsActive?: boolean;
|
|
442
|
+
}
|
|
443
|
+
/**
|
|
444
|
+
* Request para carga masiva de archivos.
|
|
445
|
+
*/
|
|
446
|
+
interface BulkUploadRequest {
|
|
447
|
+
base64: string;
|
|
448
|
+
}
|
|
449
|
+
/**
|
|
450
|
+
* Representa una fila del Excel de carga masiva de Blanks.
|
|
451
|
+
*/
|
|
452
|
+
interface BlanksBulkItem {
|
|
453
|
+
blank: string;
|
|
454
|
+
sku: string;
|
|
455
|
+
cost: string;
|
|
456
|
+
color: string;
|
|
457
|
+
provider: string;
|
|
458
|
+
material: string;
|
|
459
|
+
size: string;
|
|
460
|
+
isActive: string;
|
|
461
|
+
}
|
|
462
|
+
/**
|
|
463
|
+
* Mapeo de encabezados en español (plantilla Excel) a propiedades de BlanksBulkItem.
|
|
464
|
+
*/
|
|
465
|
+
declare const BLANKS_BULK_COLUMN_MAP: Record<string, keyof BlanksBulkItem>;
|
|
466
|
+
/**
|
|
467
|
+
* Encabezados en español tal como aparecen en la plantilla Excel.
|
|
468
|
+
*/
|
|
469
|
+
declare const BLANKS_BULK_SPANISH_HEADERS: string[];
|
|
470
|
+
|
|
471
|
+
/**
|
|
472
|
+
* Interfaz que representa un módulo del sistema.
|
|
473
|
+
*/
|
|
474
|
+
interface Module {
|
|
475
|
+
moduleId: number;
|
|
476
|
+
module: string;
|
|
477
|
+
description: string;
|
|
478
|
+
isActive: boolean;
|
|
479
|
+
}
|
|
480
|
+
/**
|
|
481
|
+
* Request para crear o actualizar un módulo.
|
|
482
|
+
*/
|
|
483
|
+
interface ModuleRequest {
|
|
484
|
+
module: string;
|
|
485
|
+
description: string;
|
|
486
|
+
isActive?: boolean;
|
|
487
|
+
}
|
|
488
|
+
/**
|
|
489
|
+
* Filtros disponibles para buscar módulos.
|
|
490
|
+
* Todos los campos son opcionales.
|
|
491
|
+
*/
|
|
492
|
+
interface ModulesFilter {
|
|
493
|
+
/** Búsqueda general (busca en Module y Description) */
|
|
494
|
+
Search?: string;
|
|
495
|
+
/** Filtro por nombre del módulo (búsqueda parcial) */
|
|
496
|
+
Module?: string;
|
|
497
|
+
/** Filtro por descripción (búsqueda parcial) */
|
|
498
|
+
Description?: string;
|
|
499
|
+
/** Filtro por estado activo/inactivo */
|
|
500
|
+
IsActive?: boolean;
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
/**
|
|
504
|
+
* Interfaz que representa un endpoint del sistema.
|
|
505
|
+
*/
|
|
506
|
+
interface Endpoint {
|
|
507
|
+
endpointId: number;
|
|
508
|
+
endpoint: string;
|
|
509
|
+
httpMethod: string;
|
|
510
|
+
path: string;
|
|
511
|
+
description: string;
|
|
512
|
+
requiresAuth: boolean;
|
|
513
|
+
requiresPermission: boolean | null;
|
|
514
|
+
requiresSignature: boolean;
|
|
515
|
+
requiresHeader: boolean;
|
|
516
|
+
allowedOrigins: string;
|
|
517
|
+
isActive: boolean;
|
|
518
|
+
}
|
|
519
|
+
/**
|
|
520
|
+
* Request para crear o actualizar un endpoint.
|
|
521
|
+
*/
|
|
522
|
+
interface EndpointRequest {
|
|
523
|
+
endpoint: string;
|
|
524
|
+
httpMethod: string;
|
|
525
|
+
path: string;
|
|
526
|
+
description: string;
|
|
527
|
+
requiresAuth?: boolean;
|
|
528
|
+
requiresPermission?: boolean;
|
|
529
|
+
requiresSignature?: boolean;
|
|
530
|
+
requiresHeader?: boolean;
|
|
531
|
+
allowedOrigins?: string[];
|
|
532
|
+
isActive?: boolean;
|
|
533
|
+
}
|
|
534
|
+
/**
|
|
535
|
+
* Métodos HTTP disponibles para endpoints.
|
|
536
|
+
*/
|
|
537
|
+
type HttpMethodType = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
|
|
538
|
+
/**
|
|
539
|
+
* Filtros disponibles para buscar endpoints.
|
|
540
|
+
* Todos los campos son opcionales.
|
|
541
|
+
*/
|
|
542
|
+
interface EndpointsFilter {
|
|
543
|
+
/** Búsqueda general (busca en Endpoint, Path y Description) */
|
|
544
|
+
Search?: string;
|
|
545
|
+
/** Filtro por nombre del endpoint (búsqueda parcial) */
|
|
546
|
+
Endpoint?: string;
|
|
547
|
+
/** Filtro por método HTTP (GET, POST, PUT, DELETE, PATCH) */
|
|
548
|
+
HttpMethod?: HttpMethodType;
|
|
549
|
+
/** Filtro por módulo (primer segmento del path, búsqueda parcial) */
|
|
550
|
+
Module?: string;
|
|
551
|
+
/** Filtro por path (búsqueda parcial) */
|
|
552
|
+
Path?: string;
|
|
553
|
+
/** Filtro por descripción (búsqueda parcial) */
|
|
554
|
+
Description?: string;
|
|
555
|
+
/** Filtro por endpoints que requieren autenticación */
|
|
556
|
+
RequiresAuth?: boolean;
|
|
557
|
+
/** Filtro por endpoints que requieren validación de permisos */
|
|
558
|
+
RequiresPermission?: boolean;
|
|
559
|
+
/** Filtro por endpoints que requieren firma */
|
|
560
|
+
RequiresSignature?: boolean;
|
|
561
|
+
/** Filtro por endpoints que requieren header específico */
|
|
562
|
+
RequiresHeader?: boolean;
|
|
563
|
+
/** Filtro por estado activo/inactivo */
|
|
564
|
+
IsActive?: boolean;
|
|
565
|
+
}
|
|
566
|
+
|
|
567
|
+
/**
|
|
568
|
+
* Interfaz que representa una ruta de UI del sistema.
|
|
569
|
+
*/
|
|
570
|
+
interface UIRoute {
|
|
571
|
+
uiRouteId: number;
|
|
572
|
+
uiRoute: string;
|
|
573
|
+
path: string;
|
|
574
|
+
description: string;
|
|
575
|
+
isActive: boolean;
|
|
576
|
+
}
|
|
577
|
+
/**
|
|
578
|
+
* Request para crear o actualizar una ruta de UI.
|
|
579
|
+
*/
|
|
580
|
+
interface UIRouteRequest {
|
|
581
|
+
uiRoute: string;
|
|
582
|
+
path: string;
|
|
583
|
+
description: string;
|
|
584
|
+
isActive?: boolean;
|
|
585
|
+
}
|
|
586
|
+
/**
|
|
587
|
+
* Filtros disponibles para buscar rutas de UI.
|
|
588
|
+
* Todos los campos son opcionales.
|
|
589
|
+
*/
|
|
590
|
+
interface UIRoutesFilter {
|
|
591
|
+
/** Búsqueda general (busca en UIRoute, Path y Description) */
|
|
592
|
+
Search?: string;
|
|
593
|
+
/** Filtro por nombre de la ruta (búsqueda parcial) */
|
|
594
|
+
UIRoute?: string;
|
|
595
|
+
/** Filtro por path (búsqueda parcial) */
|
|
596
|
+
Path?: string;
|
|
597
|
+
/** Filtro por descripción (búsqueda parcial) */
|
|
598
|
+
Description?: string;
|
|
599
|
+
/** Filtro por estado activo/inactivo */
|
|
600
|
+
IsActive?: boolean;
|
|
601
|
+
}
|
|
602
|
+
|
|
603
|
+
interface AdminUser {
|
|
604
|
+
userId: number;
|
|
605
|
+
username: string;
|
|
606
|
+
firstName: string;
|
|
607
|
+
lastName: string;
|
|
608
|
+
email: string;
|
|
609
|
+
phone: string;
|
|
610
|
+
areaCodeId: number | null;
|
|
611
|
+
birthday: string | null;
|
|
612
|
+
referrerUserId: number | null;
|
|
613
|
+
userReferralCode: string;
|
|
614
|
+
genderId: number | null;
|
|
615
|
+
roleId: number | null;
|
|
616
|
+
userTypeId: number | null;
|
|
617
|
+
isActive: boolean;
|
|
618
|
+
createdAt: string;
|
|
619
|
+
updatedAt: string | null;
|
|
620
|
+
}
|
|
621
|
+
interface AdminAuthentication {
|
|
622
|
+
userAuthenticationId: number;
|
|
623
|
+
userId: number;
|
|
624
|
+
securityLevel: number;
|
|
625
|
+
clientId: string;
|
|
626
|
+
isTwoFactorEnabled: boolean;
|
|
627
|
+
failedLoginAttempts: number;
|
|
628
|
+
lastLogin: string | null;
|
|
629
|
+
isActive: boolean;
|
|
630
|
+
isLocked: boolean;
|
|
631
|
+
emailVerified: boolean;
|
|
632
|
+
phoneVerified: boolean;
|
|
633
|
+
mustChangePassword: boolean;
|
|
634
|
+
passwordLastChanged: string | null;
|
|
635
|
+
passwordExpiresAt: string | null;
|
|
636
|
+
lastLoginIP: string | null;
|
|
637
|
+
lastLoginDevice: string | null;
|
|
638
|
+
lastActivityAt: string | null;
|
|
639
|
+
createdAt: string;
|
|
640
|
+
updatedAt: string | null;
|
|
641
|
+
}
|
|
642
|
+
|
|
643
|
+
interface UserAdminRequest {
|
|
644
|
+
username: string;
|
|
645
|
+
firstName: string;
|
|
646
|
+
lastName: string;
|
|
647
|
+
email: string;
|
|
648
|
+
phone: string;
|
|
649
|
+
areaCodeId: number;
|
|
650
|
+
birthday: string;
|
|
651
|
+
genderId: number;
|
|
652
|
+
roleId: number;
|
|
653
|
+
userTypeId: number;
|
|
654
|
+
}
|
|
655
|
+
|
|
656
|
+
interface UserAuthAdminRequest {
|
|
657
|
+
userId: number;
|
|
658
|
+
securityLevel: number;
|
|
659
|
+
clientId: string;
|
|
660
|
+
requireEmailConfirmation?: boolean;
|
|
661
|
+
}
|
|
662
|
+
|
|
663
|
+
interface ChangePasswordAdminRequest {
|
|
664
|
+
newPassword: string;
|
|
665
|
+
}
|
|
666
|
+
|
|
667
|
+
interface UserAdminFilter {
|
|
668
|
+
Search?: string;
|
|
669
|
+
Username?: string;
|
|
670
|
+
FirstName?: string;
|
|
671
|
+
LastName?: string;
|
|
672
|
+
Email?: string;
|
|
673
|
+
Phone?: string;
|
|
674
|
+
RoleId?: number;
|
|
675
|
+
UserTypeId?: number;
|
|
676
|
+
IsActive?: boolean;
|
|
677
|
+
}
|
|
678
|
+
|
|
679
|
+
interface UserAdminUpdateRequest {
|
|
680
|
+
username: string;
|
|
681
|
+
firstName: string;
|
|
682
|
+
lastName: string;
|
|
683
|
+
email: string;
|
|
684
|
+
phone: string;
|
|
685
|
+
areaCodeId: number;
|
|
686
|
+
birthday?: string;
|
|
687
|
+
genderId: number;
|
|
688
|
+
roleId: number;
|
|
689
|
+
userTypeId: number;
|
|
690
|
+
}
|
|
691
|
+
|
|
692
|
+
interface UserAuthUpdateRequest {
|
|
693
|
+
securityLevel: number;
|
|
694
|
+
clientId: string;
|
|
695
|
+
isTwoFactorEnabled?: boolean;
|
|
696
|
+
emailVerified?: boolean;
|
|
697
|
+
phoneVerified?: boolean;
|
|
698
|
+
}
|
|
699
|
+
|
|
700
|
+
interface ChangePasswordUserRequest {
|
|
701
|
+
currentPassword: string;
|
|
702
|
+
newPassword: string;
|
|
703
|
+
}
|
|
704
|
+
|
|
705
|
+
/**
|
|
706
|
+
* Interfaz que representa un rol del sistema.
|
|
707
|
+
*/
|
|
708
|
+
interface Role {
|
|
709
|
+
roleId: number;
|
|
710
|
+
role: string;
|
|
711
|
+
key?: string;
|
|
712
|
+
description?: string;
|
|
713
|
+
userTypeId: number;
|
|
714
|
+
isActive: boolean;
|
|
715
|
+
}
|
|
716
|
+
/**
|
|
717
|
+
* Request para crear o actualizar un rol.
|
|
718
|
+
*/
|
|
719
|
+
interface RoleRequest {
|
|
720
|
+
role: string;
|
|
721
|
+
userTypeId: number;
|
|
722
|
+
key?: string;
|
|
723
|
+
description?: string;
|
|
724
|
+
isActive?: boolean;
|
|
725
|
+
}
|
|
726
|
+
/**
|
|
727
|
+
* Filtros disponibles para buscar roles.
|
|
728
|
+
*/
|
|
729
|
+
interface RolesFilter {
|
|
730
|
+
/** Búsqueda general */
|
|
731
|
+
Search?: string;
|
|
732
|
+
/** Filtro por nombre del rol (búsqueda parcial) */
|
|
733
|
+
Role?: string;
|
|
734
|
+
/** Filtro por descripción (búsqueda parcial) */
|
|
735
|
+
Description?: string;
|
|
736
|
+
/** Filtro por estado activo/inactivo */
|
|
737
|
+
IsActive?: boolean;
|
|
738
|
+
}
|
|
739
|
+
interface RoleUserProfile {
|
|
740
|
+
roleId: number;
|
|
741
|
+
role: string;
|
|
742
|
+
}
|
|
743
|
+
|
|
744
|
+
/**
|
|
745
|
+
* Interfaz que representa un tipo de usuario.
|
|
746
|
+
*/
|
|
747
|
+
interface UserType {
|
|
748
|
+
userTypeId: number;
|
|
749
|
+
userType: string;
|
|
750
|
+
key?: string;
|
|
751
|
+
description?: string;
|
|
752
|
+
}
|
|
753
|
+
/**
|
|
754
|
+
* Request para crear o actualizar un tipo de usuario.
|
|
755
|
+
*/
|
|
756
|
+
interface UserTypeRequest {
|
|
757
|
+
userType: string;
|
|
758
|
+
key?: string;
|
|
759
|
+
description?: string;
|
|
760
|
+
}
|
|
761
|
+
/**
|
|
762
|
+
* Filtros disponibles para buscar tipos de usuario.
|
|
763
|
+
*/
|
|
764
|
+
interface UserTypesFilter {
|
|
765
|
+
/** Búsqueda general */
|
|
766
|
+
Search?: string;
|
|
767
|
+
/** Filtro por tipo de usuario (búsqueda parcial) */
|
|
768
|
+
UserType?: string;
|
|
769
|
+
/** Filtro por key (búsqueda parcial) */
|
|
770
|
+
Key?: string;
|
|
771
|
+
/** Filtro por descripción (búsqueda parcial) */
|
|
772
|
+
Description?: string;
|
|
773
|
+
}
|
|
774
|
+
interface UserTypeUserProfile {
|
|
775
|
+
userTypeId: number;
|
|
776
|
+
userType: string;
|
|
777
|
+
}
|
|
778
|
+
|
|
779
|
+
interface UserBasicResponse {
|
|
780
|
+
username: string;
|
|
781
|
+
firstName: string;
|
|
782
|
+
lastName: string;
|
|
783
|
+
fullName: string;
|
|
784
|
+
email: string;
|
|
785
|
+
phone: string;
|
|
786
|
+
role: Role;
|
|
787
|
+
userType: UserType;
|
|
788
|
+
isActive: boolean;
|
|
789
|
+
securityLevel: number;
|
|
790
|
+
}
|
|
791
|
+
|
|
792
|
+
interface UserDataUpdateRequest {
|
|
793
|
+
username: string;
|
|
794
|
+
firstName: string;
|
|
795
|
+
lastName: string;
|
|
796
|
+
areaCodeId: number;
|
|
797
|
+
phone: string;
|
|
798
|
+
birthday: Date;
|
|
799
|
+
profilePhoto: string;
|
|
800
|
+
}
|
|
801
|
+
|
|
802
|
+
interface UserProfileResponse {
|
|
803
|
+
username: string;
|
|
804
|
+
firstName: string;
|
|
805
|
+
lastName: string;
|
|
806
|
+
fullName: string;
|
|
807
|
+
email: string;
|
|
808
|
+
phone: string;
|
|
809
|
+
profilePhoto: string;
|
|
810
|
+
areaCode: AreaCodeUserProfile;
|
|
811
|
+
birthday: Date;
|
|
812
|
+
gender: GenderUserProfile;
|
|
813
|
+
role: RoleUserProfile;
|
|
814
|
+
userType: UserTypeUserProfile;
|
|
815
|
+
userReferralCode: string;
|
|
816
|
+
securityLevel: number;
|
|
817
|
+
emailVerified: boolean;
|
|
818
|
+
phoneVerified: boolean;
|
|
819
|
+
lastLogin: Date;
|
|
820
|
+
mustChangePassword: boolean;
|
|
821
|
+
passwordExpiresAt: Date;
|
|
822
|
+
isActive: boolean;
|
|
823
|
+
createdAt: Date;
|
|
824
|
+
updatedAt: Date;
|
|
825
|
+
}
|
|
826
|
+
|
|
1
827
|
declare class ErrorResponse extends Error {
|
|
2
828
|
statusCode?: number | undefined;
|
|
3
829
|
responseData?: any | undefined;
|
|
@@ -211,78 +1037,10 @@ declare class TokenManager {
|
|
|
211
1037
|
* Detiene el monitoreo de expiración
|
|
212
1038
|
*/
|
|
213
1039
|
private stopExpirationCheck;
|
|
214
|
-
/**
|
|
215
|
-
* Detiene el timer de auto-refresh proactivo
|
|
216
|
-
*/
|
|
217
|
-
private stopAutoRefreshTimer;
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
interface ChangePasswordRequest {
|
|
221
|
-
email: string;
|
|
222
|
-
oldPassword: string;
|
|
223
|
-
newPassword: string;
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
interface ConfirmEmailRequest {
|
|
227
|
-
email: string;
|
|
228
|
-
expiresAt: number;
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
interface GetSecretKeyRequest {
|
|
232
|
-
otpCode?: string;
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
interface GetSecretKeyResponse {
|
|
236
|
-
secretKey: string;
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
interface LoginRequest {
|
|
240
|
-
email: string;
|
|
241
|
-
password: string;
|
|
242
|
-
rememberMe: boolean;
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
interface LoginResponse {
|
|
246
|
-
accessToken: string;
|
|
247
|
-
refreshToken: string;
|
|
248
|
-
expiresIn: string;
|
|
249
|
-
message: string;
|
|
250
|
-
type: string;
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
interface RefreshTokenRequest {
|
|
254
|
-
refreshToken: string;
|
|
255
|
-
rememberMe: boolean;
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
interface RefreshTokenResponse {
|
|
259
|
-
accessToken: string;
|
|
260
|
-
refreshToken: string;
|
|
261
|
-
expiresIn: string;
|
|
262
|
-
message: string;
|
|
263
|
-
type: string;
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
interface SendOtpRequest {
|
|
267
|
-
email: string;
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
interface ValidateOtpRequest {
|
|
271
|
-
email: string;
|
|
272
|
-
otp: string;
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
interface ValidateSessionRenewedResponse {
|
|
276
|
-
accessToken: string;
|
|
277
|
-
refreshToken: string;
|
|
278
|
-
expiresIn: string;
|
|
279
|
-
remainingMinutes: number;
|
|
280
|
-
isRemembered: boolean;
|
|
281
|
-
}
|
|
282
|
-
interface ValidateSessionResponse {
|
|
283
|
-
expiresAt: number;
|
|
284
|
-
remainingMinutes: number;
|
|
285
|
-
isRemembered: boolean;
|
|
1040
|
+
/**
|
|
1041
|
+
* Detiene el timer de auto-refresh proactivo
|
|
1042
|
+
*/
|
|
1043
|
+
private stopAutoRefreshTimer;
|
|
286
1044
|
}
|
|
287
1045
|
|
|
288
1046
|
declare class AuthService {
|
|
@@ -349,75 +1107,6 @@ declare class AuthService {
|
|
|
349
1107
|
getTokens(): TokenData | null;
|
|
350
1108
|
}
|
|
351
1109
|
|
|
352
|
-
/**
|
|
353
|
-
* Interfaz que representa un género del catálogo.
|
|
354
|
-
*/
|
|
355
|
-
interface Gender {
|
|
356
|
-
genderId: number;
|
|
357
|
-
gender: string;
|
|
358
|
-
key: string;
|
|
359
|
-
}
|
|
360
|
-
/**
|
|
361
|
-
* Request para crear o actualizar un género.
|
|
362
|
-
*/
|
|
363
|
-
interface GenderRequest {
|
|
364
|
-
gender: string;
|
|
365
|
-
key?: string;
|
|
366
|
-
}
|
|
367
|
-
/**
|
|
368
|
-
* Filtros disponibles para buscar géneros.
|
|
369
|
-
*/
|
|
370
|
-
interface GendersFilter {
|
|
371
|
-
/** Búsqueda general */
|
|
372
|
-
Search?: string;
|
|
373
|
-
/** Filtro por nombre del género (búsqueda parcial) */
|
|
374
|
-
Gender?: string;
|
|
375
|
-
}
|
|
376
|
-
interface GenderUserProfile {
|
|
377
|
-
genderId: number;
|
|
378
|
-
gender: string;
|
|
379
|
-
}
|
|
380
|
-
|
|
381
|
-
/**
|
|
382
|
-
* Interfaz que representa un código de área del catálogo.
|
|
383
|
-
*/
|
|
384
|
-
interface AreaCode {
|
|
385
|
-
areaCodeId: number;
|
|
386
|
-
countryCode: string;
|
|
387
|
-
iso: string;
|
|
388
|
-
countryName: string;
|
|
389
|
-
isActive: boolean;
|
|
390
|
-
}
|
|
391
|
-
/**
|
|
392
|
-
* Request para crear o actualizar un código de área.
|
|
393
|
-
*/
|
|
394
|
-
interface AreaCodeRequest {
|
|
395
|
-
countryCode: string;
|
|
396
|
-
iso: string;
|
|
397
|
-
countryName: string;
|
|
398
|
-
isActive: boolean;
|
|
399
|
-
}
|
|
400
|
-
/**
|
|
401
|
-
* Filtros disponibles para buscar códigos de área.
|
|
402
|
-
*/
|
|
403
|
-
interface AreaCodesFilter {
|
|
404
|
-
/** Búsqueda general */
|
|
405
|
-
Search?: string;
|
|
406
|
-
/** Filtro por código de país (búsqueda parcial) */
|
|
407
|
-
CountryCode?: string;
|
|
408
|
-
/** Filtro por ISO (búsqueda parcial) */
|
|
409
|
-
ISO?: string;
|
|
410
|
-
/** Filtro por nombre de país (búsqueda parcial) */
|
|
411
|
-
CountryName?: string;
|
|
412
|
-
/** Filtro por estado activo/inactivo */
|
|
413
|
-
IsActive?: boolean;
|
|
414
|
-
}
|
|
415
|
-
interface AreaCodeUserProfile {
|
|
416
|
-
areaCodeId: number;
|
|
417
|
-
countryCode: string;
|
|
418
|
-
country: string;
|
|
419
|
-
}
|
|
420
|
-
|
|
421
1110
|
/**
|
|
422
1111
|
* Utilidad para construir query params a partir de objetos de filtro.
|
|
423
1112
|
*
|
|
@@ -593,189 +1282,18 @@ declare class CatalogService {
|
|
|
593
1282
|
* Actualiza un código de área existente.
|
|
594
1283
|
* @param id - ID del código de área a actualizar
|
|
595
1284
|
* @param request - Nuevos datos del código de área
|
|
596
|
-
*/
|
|
597
|
-
updateAreaCode(id: number, request: AreaCodeRequest): Promise<ResponseModel<AreaCode>>;
|
|
598
|
-
/**
|
|
599
|
-
* Activa o desactiva un código de área.
|
|
600
|
-
* @param id - ID del código de área
|
|
601
|
-
*/
|
|
602
|
-
toggleAreaCodeStatus(id: number): Promise<ResponseModel<AreaCode>>;
|
|
603
|
-
/**
|
|
604
|
-
* Elimina un código de área.
|
|
605
|
-
* @param id - ID del código de área a eliminar
|
|
606
|
-
*/
|
|
607
|
-
deleteAreaCode(id: number): Promise<ResponseModel<void>>;
|
|
608
|
-
}
|
|
609
|
-
|
|
610
|
-
interface Location {
|
|
611
|
-
locationId: number;
|
|
612
|
-
locationName: string;
|
|
613
|
-
address1: string;
|
|
614
|
-
address2: string;
|
|
615
|
-
city: string;
|
|
616
|
-
state: string;
|
|
617
|
-
country: string;
|
|
618
|
-
postalCode: string;
|
|
619
|
-
contactName: string;
|
|
620
|
-
areaCodeId: number;
|
|
621
|
-
contactPhone: string;
|
|
622
|
-
contactEmail: string;
|
|
623
|
-
isActive: boolean;
|
|
624
|
-
isPhysical: boolean;
|
|
625
|
-
parentLocationId: number | null;
|
|
626
|
-
url: string;
|
|
627
|
-
apiKey: string;
|
|
628
|
-
}
|
|
629
|
-
interface LocationsRequest {
|
|
630
|
-
locationName: string;
|
|
631
|
-
address1: string;
|
|
632
|
-
address2?: string;
|
|
633
|
-
city: string;
|
|
634
|
-
state: string;
|
|
635
|
-
country: string;
|
|
636
|
-
postalCode: string;
|
|
637
|
-
contactName: string;
|
|
638
|
-
areaCodeId: number;
|
|
639
|
-
contactPhone: string;
|
|
640
|
-
contactEmail: string;
|
|
641
|
-
isActive?: boolean;
|
|
642
|
-
isPhysical: boolean;
|
|
643
|
-
parentLocationId?: number;
|
|
644
|
-
/** URL requerida cuando isPhysical = true */
|
|
645
|
-
url?: string;
|
|
646
|
-
/** ApiKey requerida cuando isPhysical = true. Se almacena cifrada (AES-256) en el servidor. */
|
|
647
|
-
apiKey?: string;
|
|
648
|
-
}
|
|
649
|
-
interface LocationsFilter {
|
|
650
|
-
Search?: string;
|
|
651
|
-
LocationName?: string;
|
|
652
|
-
City?: string;
|
|
653
|
-
State?: string;
|
|
654
|
-
Country?: string;
|
|
655
|
-
IsActive?: boolean;
|
|
656
|
-
}
|
|
657
|
-
|
|
658
|
-
interface InventoryStatus {
|
|
659
|
-
inventoryStatusId: number;
|
|
660
|
-
inventoryStatus: string;
|
|
661
|
-
key: string;
|
|
662
|
-
description: string;
|
|
663
|
-
}
|
|
664
|
-
interface InventoryStatusRequest {
|
|
665
|
-
inventoryStatus: string;
|
|
666
|
-
key?: string;
|
|
667
|
-
description: string;
|
|
668
|
-
}
|
|
669
|
-
interface InventoryStatusesFilter {
|
|
670
|
-
Search?: string;
|
|
671
|
-
InventoryStatus?: string;
|
|
672
|
-
Description?: string;
|
|
673
|
-
}
|
|
674
|
-
|
|
675
|
-
/**
|
|
676
|
-
* Interfaz que representa un empaque del inventario.
|
|
677
|
-
*/
|
|
678
|
-
interface Packing {
|
|
679
|
-
packingId: number;
|
|
680
|
-
packing: string;
|
|
681
|
-
key: string;
|
|
682
|
-
materialId: number;
|
|
683
|
-
length: number;
|
|
684
|
-
width: number;
|
|
685
|
-
height: number;
|
|
686
|
-
weightLimit: number | null;
|
|
687
|
-
cost: number;
|
|
688
|
-
providerId: number;
|
|
689
|
-
isActive: boolean;
|
|
690
|
-
}
|
|
691
|
-
/**
|
|
692
|
-
* Request para crear o actualizar un empaque.
|
|
693
|
-
*/
|
|
694
|
-
interface PackingRequest {
|
|
695
|
-
packing: string;
|
|
696
|
-
key?: string;
|
|
697
|
-
materialId: number;
|
|
698
|
-
length: number;
|
|
699
|
-
width: number;
|
|
700
|
-
height: number;
|
|
701
|
-
weightLimit?: number;
|
|
702
|
-
cost: number;
|
|
703
|
-
providerId: number;
|
|
704
|
-
isActive: boolean;
|
|
705
|
-
}
|
|
706
|
-
/**
|
|
707
|
-
* Filtros disponibles para buscar empaques.
|
|
708
|
-
*/
|
|
709
|
-
interface PackingsFilter {
|
|
710
|
-
Search?: string;
|
|
711
|
-
Packing?: string;
|
|
712
|
-
MaterialId?: number;
|
|
713
|
-
ProviderId?: number;
|
|
714
|
-
IsActive?: boolean;
|
|
715
|
-
}
|
|
716
|
-
|
|
717
|
-
/**
|
|
718
|
-
* Interfaz que representa un material del inventario.
|
|
719
|
-
*/
|
|
720
|
-
interface Material {
|
|
721
|
-
materialId: number;
|
|
722
|
-
material: string;
|
|
723
|
-
key: string;
|
|
724
|
-
description: string;
|
|
725
|
-
isRecyclable: boolean;
|
|
726
|
-
isFragile: boolean;
|
|
727
|
-
}
|
|
728
|
-
/**
|
|
729
|
-
* Request para crear o actualizar un material.
|
|
730
|
-
*/
|
|
731
|
-
interface MaterialRequest {
|
|
732
|
-
material: string;
|
|
733
|
-
description: string;
|
|
734
|
-
key?: string;
|
|
735
|
-
isRecyclable: boolean;
|
|
736
|
-
isFragile: boolean;
|
|
737
|
-
}
|
|
738
|
-
/**
|
|
739
|
-
* Filtros disponibles para buscar materiales.
|
|
740
|
-
*/
|
|
741
|
-
interface MaterialsFilter {
|
|
742
|
-
Search?: string;
|
|
743
|
-
Material?: string;
|
|
744
|
-
Description?: string;
|
|
745
|
-
IsRecyclable?: boolean;
|
|
746
|
-
IsFragile?: boolean;
|
|
747
|
-
}
|
|
748
|
-
|
|
749
|
-
/**
|
|
750
|
-
* Interfaz que representa un proveedor del inventario.
|
|
751
|
-
*/
|
|
752
|
-
interface Provider {
|
|
753
|
-
providerId: number;
|
|
754
|
-
provider: string;
|
|
755
|
-
contactName: string;
|
|
756
|
-
areaCodeId: number;
|
|
757
|
-
contactNumber: string;
|
|
758
|
-
contactEmail: string;
|
|
759
|
-
isActive: boolean;
|
|
760
|
-
}
|
|
761
|
-
/**
|
|
762
|
-
* Request para crear o actualizar un proveedor.
|
|
763
|
-
*/
|
|
764
|
-
interface ProviderRequest {
|
|
765
|
-
provider: string;
|
|
766
|
-
contactName: string;
|
|
767
|
-
areaCodeId: number;
|
|
768
|
-
contactNumber: string;
|
|
769
|
-
contactEmail: string;
|
|
770
|
-
isActive: boolean;
|
|
771
|
-
}
|
|
772
|
-
/**
|
|
773
|
-
* Filtros disponibles para buscar proveedores.
|
|
774
|
-
*/
|
|
775
|
-
interface ProvidersFilter {
|
|
776
|
-
Search?: string;
|
|
777
|
-
Provider?: string;
|
|
778
|
-
IsActive?: boolean;
|
|
1285
|
+
*/
|
|
1286
|
+
updateAreaCode(id: number, request: AreaCodeRequest): Promise<ResponseModel<AreaCode>>;
|
|
1287
|
+
/**
|
|
1288
|
+
* Activa o desactiva un código de área.
|
|
1289
|
+
* @param id - ID del código de área
|
|
1290
|
+
*/
|
|
1291
|
+
toggleAreaCodeStatus(id: number): Promise<ResponseModel<AreaCode>>;
|
|
1292
|
+
/**
|
|
1293
|
+
* Elimina un código de área.
|
|
1294
|
+
* @param id - ID del código de área a eliminar
|
|
1295
|
+
*/
|
|
1296
|
+
deleteAreaCode(id: number): Promise<ResponseModel<void>>;
|
|
779
1297
|
}
|
|
780
1298
|
|
|
781
1299
|
/**
|
|
@@ -860,259 +1378,97 @@ declare class InventoryService {
|
|
|
860
1378
|
*/
|
|
861
1379
|
getPackingFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
|
|
862
1380
|
/**
|
|
863
|
-
* Obtiene un empaque por su ID.
|
|
864
|
-
* @param id - ID del empaque
|
|
865
|
-
*/
|
|
866
|
-
getPackingById(id: number): Promise<ResponseModel<Packing>>;
|
|
867
|
-
/**
|
|
868
|
-
* Crea un nuevo empaque.
|
|
869
|
-
* @param request - Datos del empaque a crear
|
|
870
|
-
*/
|
|
871
|
-
createPacking(request: PackingRequest): Promise<ResponseModel<Packing>>;
|
|
872
|
-
/**
|
|
873
|
-
* Actualiza un empaque existente.
|
|
874
|
-
* @param id - ID del empaque a actualizar
|
|
875
|
-
* @param request - Nuevos datos del empaque
|
|
876
|
-
*/
|
|
877
|
-
updatePacking(id: number, request: PackingRequest): Promise<ResponseModel<Packing>>;
|
|
878
|
-
/**
|
|
879
|
-
* Activa o desactiva un empaque.
|
|
880
|
-
* @param id - ID del empaque
|
|
881
|
-
*/
|
|
882
|
-
togglePackingStatus(id: number): Promise<ResponseModel<Packing>>;
|
|
883
|
-
/**
|
|
884
|
-
* Elimina un empaque.
|
|
885
|
-
* @param id - ID del empaque a eliminar
|
|
886
|
-
*/
|
|
887
|
-
deletePacking(id: number): Promise<ResponseModel<void>>;
|
|
888
|
-
/**
|
|
889
|
-
* Obtiene todos los materiales con filtros opcionales.
|
|
890
|
-
* @param filter - Filtros opcionales para la búsqueda
|
|
891
|
-
*/
|
|
892
|
-
getMaterials(filter?: MaterialsFilter): Promise<ResponseModel<Material[]>>;
|
|
893
|
-
/**
|
|
894
|
-
* Obtiene el modelo de filtros disponibles para materiales.
|
|
895
|
-
*/
|
|
896
|
-
getMaterialFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
|
|
897
|
-
/**
|
|
898
|
-
* Obtiene un material por su ID.
|
|
899
|
-
* @param id - ID del material
|
|
900
|
-
*/
|
|
901
|
-
getMaterialById(id: number): Promise<ResponseModel<Material>>;
|
|
902
|
-
/**
|
|
903
|
-
* Crea un nuevo material.
|
|
904
|
-
* @param request - Datos del material a crear
|
|
905
|
-
*/
|
|
906
|
-
createMaterial(request: MaterialRequest): Promise<ResponseModel<Material>>;
|
|
907
|
-
/**
|
|
908
|
-
* Actualiza un material existente.
|
|
909
|
-
* @param id - ID del material a actualizar
|
|
910
|
-
* @param request - Nuevos datos del material
|
|
911
|
-
*/
|
|
912
|
-
updateMaterial(id: number, request: MaterialRequest): Promise<ResponseModel<Material>>;
|
|
913
|
-
/**
|
|
914
|
-
* Elimina un material.
|
|
915
|
-
* @param id - ID del material a eliminar
|
|
916
|
-
*/
|
|
917
|
-
deleteMaterial(id: number): Promise<ResponseModel<void>>;
|
|
918
|
-
/**
|
|
919
|
-
* Obtiene todos los proveedores con filtros opcionales.
|
|
920
|
-
* @param filter - Filtros opcionales para la búsqueda
|
|
921
|
-
*/
|
|
922
|
-
getProviders(filter?: ProvidersFilter): Promise<ResponseModel<Provider[]>>;
|
|
923
|
-
/**
|
|
924
|
-
* Obtiene el modelo de filtros disponibles para proveedores.
|
|
925
|
-
*/
|
|
926
|
-
getProviderFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
|
|
927
|
-
/**
|
|
928
|
-
* Obtiene un proveedor por su ID.
|
|
929
|
-
* @param id - ID del proveedor
|
|
930
|
-
*/
|
|
931
|
-
getProviderById(id: number): Promise<ResponseModel<Provider>>;
|
|
932
|
-
/**
|
|
933
|
-
* Crea un nuevo proveedor.
|
|
934
|
-
* @param request - Datos del proveedor a crear
|
|
935
|
-
*/
|
|
936
|
-
createProvider(request: ProviderRequest): Promise<ResponseModel<Provider>>;
|
|
937
|
-
/**
|
|
938
|
-
* Actualiza un proveedor existente.
|
|
939
|
-
* @param id - ID del proveedor a actualizar
|
|
940
|
-
* @param request - Nuevos datos del proveedor
|
|
941
|
-
*/
|
|
942
|
-
updateProvider(id: number, request: ProviderRequest): Promise<ResponseModel<Provider>>;
|
|
943
|
-
/**
|
|
944
|
-
* Activa o desactiva un proveedor.
|
|
945
|
-
* @param id - ID del proveedor
|
|
946
|
-
*/
|
|
947
|
-
toggleProviderStatus(id: number): Promise<ResponseModel<Provider>>;
|
|
948
|
-
/**
|
|
949
|
-
* Elimina un proveedor.
|
|
950
|
-
* @param id - ID del proveedor a eliminar
|
|
951
|
-
*/
|
|
952
|
-
deleteProvider(id: number): Promise<ResponseModel<void>>;
|
|
953
|
-
}
|
|
954
|
-
|
|
955
|
-
/**
|
|
956
|
-
* Interfaz que representa un color.
|
|
957
|
-
*/
|
|
958
|
-
interface Color {
|
|
959
|
-
colorId: number;
|
|
960
|
-
color: string;
|
|
961
|
-
key: string;
|
|
962
|
-
createdAt: string;
|
|
963
|
-
updatedAt?: string;
|
|
964
|
-
deleted: boolean;
|
|
965
|
-
}
|
|
966
|
-
/**
|
|
967
|
-
* Request para crear o actualizar un color.
|
|
968
|
-
*/
|
|
969
|
-
interface ColorRequest {
|
|
970
|
-
color: string;
|
|
971
|
-
key: string;
|
|
972
|
-
}
|
|
973
|
-
/**
|
|
974
|
-
* Filtros disponibles para buscar colores.
|
|
975
|
-
*/
|
|
976
|
-
interface ColorsFilter {
|
|
977
|
-
Search?: string;
|
|
978
|
-
Color?: string;
|
|
979
|
-
}
|
|
980
|
-
|
|
981
|
-
/**
|
|
982
|
-
* Interfaz que representa un grupo de tallas.
|
|
983
|
-
*/
|
|
984
|
-
interface SizeGroup {
|
|
985
|
-
sizeGroupId: number;
|
|
986
|
-
sizeGroup: string;
|
|
987
|
-
key: string;
|
|
988
|
-
description: string;
|
|
989
|
-
createdAt: string;
|
|
990
|
-
updatedAt?: string;
|
|
991
|
-
deleted: boolean;
|
|
992
|
-
}
|
|
993
|
-
/**
|
|
994
|
-
* Request para crear o actualizar un grupo de tallas.
|
|
995
|
-
*/
|
|
996
|
-
interface SizeGroupRequest {
|
|
997
|
-
sizeGroup: string;
|
|
998
|
-
key: string;
|
|
999
|
-
description: string;
|
|
1000
|
-
}
|
|
1001
|
-
/**
|
|
1002
|
-
* Filtros disponibles para buscar grupos de tallas.
|
|
1003
|
-
*/
|
|
1004
|
-
interface SizeGroupsFilter {
|
|
1005
|
-
Search?: string;
|
|
1006
|
-
SizeGroup?: string;
|
|
1007
|
-
Description?: string;
|
|
1008
|
-
}
|
|
1009
|
-
|
|
1010
|
-
/**
|
|
1011
|
-
* Interfaz que representa una talla.
|
|
1012
|
-
*/
|
|
1013
|
-
interface Size {
|
|
1014
|
-
sizeId: number;
|
|
1015
|
-
size: string;
|
|
1016
|
-
iso: string;
|
|
1017
|
-
width: string;
|
|
1018
|
-
length: string;
|
|
1019
|
-
sizeGroupId: number;
|
|
1020
|
-
createdAt: string;
|
|
1021
|
-
updatedAt?: string;
|
|
1022
|
-
deleted: boolean;
|
|
1023
|
-
sizeGroup?: SizeGroup;
|
|
1024
|
-
}
|
|
1025
|
-
/**
|
|
1026
|
-
* Request para crear o actualizar una talla.
|
|
1027
|
-
*/
|
|
1028
|
-
interface SizeRequest {
|
|
1029
|
-
size: string;
|
|
1030
|
-
iso: string;
|
|
1031
|
-
width: string;
|
|
1032
|
-
length: string;
|
|
1033
|
-
sizeGroupId: number;
|
|
1034
|
-
}
|
|
1035
|
-
/**
|
|
1036
|
-
* Filtros disponibles para buscar tallas.
|
|
1037
|
-
*/
|
|
1038
|
-
interface SizesFilter {
|
|
1039
|
-
Search?: string;
|
|
1040
|
-
Size?: string;
|
|
1041
|
-
SizeGroupId?: number;
|
|
1042
|
-
}
|
|
1043
|
-
|
|
1044
|
-
/**
|
|
1045
|
-
* Interfaz que representa un Blank en el catálogo de productos.
|
|
1046
|
-
*/
|
|
1047
|
-
interface Blank {
|
|
1048
|
-
blankId: number;
|
|
1049
|
-
blank: string;
|
|
1050
|
-
sku: string;
|
|
1051
|
-
cost: number;
|
|
1052
|
-
isActive: boolean;
|
|
1053
|
-
colorId: number;
|
|
1054
|
-
providerId: number;
|
|
1055
|
-
materialId: number;
|
|
1056
|
-
sizeId: number;
|
|
1057
|
-
createdAt: string;
|
|
1058
|
-
updatedAt?: string;
|
|
1059
|
-
deleted: boolean;
|
|
1060
|
-
color?: Color;
|
|
1061
|
-
size?: Size;
|
|
1062
|
-
provider?: Provider;
|
|
1063
|
-
material?: Material;
|
|
1064
|
-
}
|
|
1065
|
-
/**
|
|
1066
|
-
* Request para crear o actualizar un Blank.
|
|
1067
|
-
*/
|
|
1068
|
-
interface BlankRequest {
|
|
1069
|
-
blank: string;
|
|
1070
|
-
sku: string;
|
|
1071
|
-
cost: number;
|
|
1072
|
-
colorId: number;
|
|
1073
|
-
providerId: number;
|
|
1074
|
-
materialId: number;
|
|
1075
|
-
sizeId: number;
|
|
1076
|
-
isActive: boolean;
|
|
1077
|
-
}
|
|
1078
|
-
/**
|
|
1079
|
-
* Filtros disponibles para buscar Blanks.
|
|
1080
|
-
*/
|
|
1081
|
-
interface BlanksFilter {
|
|
1082
|
-
Search?: string;
|
|
1083
|
-
SKU?: string;
|
|
1084
|
-
Provider: string;
|
|
1085
|
-
Material: string;
|
|
1086
|
-
Size: string;
|
|
1087
|
-
IsActive?: boolean;
|
|
1088
|
-
}
|
|
1089
|
-
/**
|
|
1090
|
-
* Request para carga masiva de archivos.
|
|
1091
|
-
*/
|
|
1092
|
-
interface BulkUploadRequest {
|
|
1093
|
-
base64: string;
|
|
1094
|
-
}
|
|
1095
|
-
/**
|
|
1096
|
-
* Representa una fila del Excel de carga masiva de Blanks.
|
|
1097
|
-
*/
|
|
1098
|
-
interface BlanksBulkItem {
|
|
1099
|
-
blank: string;
|
|
1100
|
-
sku: string;
|
|
1101
|
-
cost: string;
|
|
1102
|
-
color: string;
|
|
1103
|
-
provider: string;
|
|
1104
|
-
material: string;
|
|
1105
|
-
size: string;
|
|
1106
|
-
isActive: string;
|
|
1381
|
+
* Obtiene un empaque por su ID.
|
|
1382
|
+
* @param id - ID del empaque
|
|
1383
|
+
*/
|
|
1384
|
+
getPackingById(id: number): Promise<ResponseModel<Packing>>;
|
|
1385
|
+
/**
|
|
1386
|
+
* Crea un nuevo empaque.
|
|
1387
|
+
* @param request - Datos del empaque a crear
|
|
1388
|
+
*/
|
|
1389
|
+
createPacking(request: PackingRequest): Promise<ResponseModel<Packing>>;
|
|
1390
|
+
/**
|
|
1391
|
+
* Actualiza un empaque existente.
|
|
1392
|
+
* @param id - ID del empaque a actualizar
|
|
1393
|
+
* @param request - Nuevos datos del empaque
|
|
1394
|
+
*/
|
|
1395
|
+
updatePacking(id: number, request: PackingRequest): Promise<ResponseModel<Packing>>;
|
|
1396
|
+
/**
|
|
1397
|
+
* Activa o desactiva un empaque.
|
|
1398
|
+
* @param id - ID del empaque
|
|
1399
|
+
*/
|
|
1400
|
+
togglePackingStatus(id: number): Promise<ResponseModel<Packing>>;
|
|
1401
|
+
/**
|
|
1402
|
+
* Elimina un empaque.
|
|
1403
|
+
* @param id - ID del empaque a eliminar
|
|
1404
|
+
*/
|
|
1405
|
+
deletePacking(id: number): Promise<ResponseModel<void>>;
|
|
1406
|
+
/**
|
|
1407
|
+
* Obtiene todos los materiales con filtros opcionales.
|
|
1408
|
+
* @param filter - Filtros opcionales para la búsqueda
|
|
1409
|
+
*/
|
|
1410
|
+
getMaterials(filter?: MaterialsFilter): Promise<ResponseModel<Material[]>>;
|
|
1411
|
+
/**
|
|
1412
|
+
* Obtiene el modelo de filtros disponibles para materiales.
|
|
1413
|
+
*/
|
|
1414
|
+
getMaterialFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
|
|
1415
|
+
/**
|
|
1416
|
+
* Obtiene un material por su ID.
|
|
1417
|
+
* @param id - ID del material
|
|
1418
|
+
*/
|
|
1419
|
+
getMaterialById(id: number): Promise<ResponseModel<Material>>;
|
|
1420
|
+
/**
|
|
1421
|
+
* Crea un nuevo material.
|
|
1422
|
+
* @param request - Datos del material a crear
|
|
1423
|
+
*/
|
|
1424
|
+
createMaterial(request: MaterialRequest): Promise<ResponseModel<Material>>;
|
|
1425
|
+
/**
|
|
1426
|
+
* Actualiza un material existente.
|
|
1427
|
+
* @param id - ID del material a actualizar
|
|
1428
|
+
* @param request - Nuevos datos del material
|
|
1429
|
+
*/
|
|
1430
|
+
updateMaterial(id: number, request: MaterialRequest): Promise<ResponseModel<Material>>;
|
|
1431
|
+
/**
|
|
1432
|
+
* Elimina un material.
|
|
1433
|
+
* @param id - ID del material a eliminar
|
|
1434
|
+
*/
|
|
1435
|
+
deleteMaterial(id: number): Promise<ResponseModel<void>>;
|
|
1436
|
+
/**
|
|
1437
|
+
* Obtiene todos los proveedores con filtros opcionales.
|
|
1438
|
+
* @param filter - Filtros opcionales para la búsqueda
|
|
1439
|
+
*/
|
|
1440
|
+
getProviders(filter?: ProvidersFilter): Promise<ResponseModel<Provider[]>>;
|
|
1441
|
+
/**
|
|
1442
|
+
* Obtiene el modelo de filtros disponibles para proveedores.
|
|
1443
|
+
*/
|
|
1444
|
+
getProviderFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
|
|
1445
|
+
/**
|
|
1446
|
+
* Obtiene un proveedor por su ID.
|
|
1447
|
+
* @param id - ID del proveedor
|
|
1448
|
+
*/
|
|
1449
|
+
getProviderById(id: number): Promise<ResponseModel<Provider>>;
|
|
1450
|
+
/**
|
|
1451
|
+
* Crea un nuevo proveedor.
|
|
1452
|
+
* @param request - Datos del proveedor a crear
|
|
1453
|
+
*/
|
|
1454
|
+
createProvider(request: ProviderRequest): Promise<ResponseModel<Provider>>;
|
|
1455
|
+
/**
|
|
1456
|
+
* Actualiza un proveedor existente.
|
|
1457
|
+
* @param id - ID del proveedor a actualizar
|
|
1458
|
+
* @param request - Nuevos datos del proveedor
|
|
1459
|
+
*/
|
|
1460
|
+
updateProvider(id: number, request: ProviderRequest): Promise<ResponseModel<Provider>>;
|
|
1461
|
+
/**
|
|
1462
|
+
* Activa o desactiva un proveedor.
|
|
1463
|
+
* @param id - ID del proveedor
|
|
1464
|
+
*/
|
|
1465
|
+
toggleProviderStatus(id: number): Promise<ResponseModel<Provider>>;
|
|
1466
|
+
/**
|
|
1467
|
+
* Elimina un proveedor.
|
|
1468
|
+
* @param id - ID del proveedor a eliminar
|
|
1469
|
+
*/
|
|
1470
|
+
deleteProvider(id: number): Promise<ResponseModel<void>>;
|
|
1107
1471
|
}
|
|
1108
|
-
/**
|
|
1109
|
-
* Mapeo de encabezados en español (plantilla Excel) a propiedades de BlanksBulkItem.
|
|
1110
|
-
*/
|
|
1111
|
-
declare const BLANKS_BULK_COLUMN_MAP: Record<string, keyof BlanksBulkItem>;
|
|
1112
|
-
/**
|
|
1113
|
-
* Encabezados en español tal como aparecen en la plantilla Excel.
|
|
1114
|
-
*/
|
|
1115
|
-
declare const BLANKS_BULK_SPANISH_HEADERS: string[];
|
|
1116
1472
|
|
|
1117
1473
|
/**
|
|
1118
1474
|
* Servicio para gestionar entidades relacionadas a Productos (Blanks, Colors, Sizes, SizeGroups, etc.)
|
|
@@ -1203,164 +1559,32 @@ declare class ProductService {
|
|
|
1203
1559
|
getBlanksFilters(): Promise<ResponseModel<FilterGroupsModel>>;
|
|
1204
1560
|
/**
|
|
1205
1561
|
* Obtiene un blank por su ID.
|
|
1206
|
-
*/
|
|
1207
|
-
getBlankById(id: number): Promise<ResponseModel<Blank>>;
|
|
1208
|
-
/**
|
|
1209
|
-
* Crea un nuevo blank.
|
|
1210
|
-
*/
|
|
1211
|
-
createBlank(request: BlankRequest): Promise<ResponseModel<Blank>>;
|
|
1212
|
-
/**
|
|
1213
|
-
* Actualiza un blank existente.
|
|
1214
|
-
*/
|
|
1215
|
-
updateBlank(id: number, request: BlankRequest): Promise<ResponseModel<Blank>>;
|
|
1216
|
-
/**
|
|
1217
|
-
* Alterna el estado activo de un blank.
|
|
1218
|
-
*/
|
|
1219
|
-
toggleBlankStatus(id: number): Promise<ResponseModel<Blank>>;
|
|
1220
|
-
/**
|
|
1221
|
-
* Elimina un blank.
|
|
1222
|
-
*/
|
|
1223
|
-
deleteBlank(id: number): Promise<ResponseModel<void>>;
|
|
1224
|
-
/**
|
|
1225
|
-
* Obtiene la plantilla para la carga masiva de blanks.
|
|
1226
|
-
*/
|
|
1227
|
-
getBlanksBulkTemplate(): Promise<ResponseModel<string>>;
|
|
1228
|
-
/**
|
|
1229
|
-
* Realiza una carga masiva de blanks.
|
|
1230
|
-
*/
|
|
1231
|
-
bulkCreateBlanks(request: BulkUploadRequest): Promise<ResponseModel<any>>;
|
|
1232
|
-
}
|
|
1233
|
-
|
|
1234
|
-
/**
|
|
1235
|
-
* Interfaz que representa un módulo del sistema.
|
|
1236
|
-
*/
|
|
1237
|
-
interface Module {
|
|
1238
|
-
moduleId: number;
|
|
1239
|
-
module: string;
|
|
1240
|
-
description: string;
|
|
1241
|
-
isActive: boolean;
|
|
1242
|
-
}
|
|
1243
|
-
/**
|
|
1244
|
-
* Request para crear o actualizar un módulo.
|
|
1245
|
-
*/
|
|
1246
|
-
interface ModuleRequest {
|
|
1247
|
-
module: string;
|
|
1248
|
-
description: string;
|
|
1249
|
-
isActive?: boolean;
|
|
1250
|
-
}
|
|
1251
|
-
/**
|
|
1252
|
-
* Filtros disponibles para buscar módulos.
|
|
1253
|
-
* Todos los campos son opcionales.
|
|
1254
|
-
*/
|
|
1255
|
-
interface ModulesFilter {
|
|
1256
|
-
/** Búsqueda general (busca en Module y Description) */
|
|
1257
|
-
Search?: string;
|
|
1258
|
-
/** Filtro por nombre del módulo (búsqueda parcial) */
|
|
1259
|
-
Module?: string;
|
|
1260
|
-
/** Filtro por descripción (búsqueda parcial) */
|
|
1261
|
-
Description?: string;
|
|
1262
|
-
/** Filtro por estado activo/inactivo */
|
|
1263
|
-
IsActive?: boolean;
|
|
1264
|
-
}
|
|
1265
|
-
|
|
1266
|
-
/**
|
|
1267
|
-
* Interfaz que representa un endpoint del sistema.
|
|
1268
|
-
*/
|
|
1269
|
-
interface Endpoint {
|
|
1270
|
-
endpointId: number;
|
|
1271
|
-
endpoint: string;
|
|
1272
|
-
httpMethod: string;
|
|
1273
|
-
path: string;
|
|
1274
|
-
description: string;
|
|
1275
|
-
requiresAuth: boolean;
|
|
1276
|
-
requiresPermission: boolean | null;
|
|
1277
|
-
requiresSignature: boolean;
|
|
1278
|
-
requiresHeader: boolean;
|
|
1279
|
-
allowedOrigins: string;
|
|
1280
|
-
isActive: boolean;
|
|
1281
|
-
}
|
|
1282
|
-
/**
|
|
1283
|
-
* Request para crear o actualizar un endpoint.
|
|
1284
|
-
*/
|
|
1285
|
-
interface EndpointRequest {
|
|
1286
|
-
endpoint: string;
|
|
1287
|
-
httpMethod: string;
|
|
1288
|
-
path: string;
|
|
1289
|
-
description: string;
|
|
1290
|
-
requiresAuth?: boolean;
|
|
1291
|
-
requiresPermission?: boolean;
|
|
1292
|
-
requiresSignature?: boolean;
|
|
1293
|
-
requiresHeader?: boolean;
|
|
1294
|
-
allowedOrigins?: string[];
|
|
1295
|
-
isActive?: boolean;
|
|
1296
|
-
}
|
|
1297
|
-
/**
|
|
1298
|
-
* Métodos HTTP disponibles para endpoints.
|
|
1299
|
-
*/
|
|
1300
|
-
type HttpMethodType = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
|
|
1301
|
-
/**
|
|
1302
|
-
* Filtros disponibles para buscar endpoints.
|
|
1303
|
-
* Todos los campos son opcionales.
|
|
1304
|
-
*/
|
|
1305
|
-
interface EndpointsFilter {
|
|
1306
|
-
/** Búsqueda general (busca en Endpoint, Path y Description) */
|
|
1307
|
-
Search?: string;
|
|
1308
|
-
/** Filtro por nombre del endpoint (búsqueda parcial) */
|
|
1309
|
-
Endpoint?: string;
|
|
1310
|
-
/** Filtro por método HTTP (GET, POST, PUT, DELETE, PATCH) */
|
|
1311
|
-
HttpMethod?: HttpMethodType;
|
|
1312
|
-
/** Filtro por módulo (primer segmento del path, búsqueda parcial) */
|
|
1313
|
-
Module?: string;
|
|
1314
|
-
/** Filtro por path (búsqueda parcial) */
|
|
1315
|
-
Path?: string;
|
|
1316
|
-
/** Filtro por descripción (búsqueda parcial) */
|
|
1317
|
-
Description?: string;
|
|
1318
|
-
/** Filtro por endpoints que requieren autenticación */
|
|
1319
|
-
RequiresAuth?: boolean;
|
|
1320
|
-
/** Filtro por endpoints que requieren validación de permisos */
|
|
1321
|
-
RequiresPermission?: boolean;
|
|
1322
|
-
/** Filtro por endpoints que requieren firma */
|
|
1323
|
-
RequiresSignature?: boolean;
|
|
1324
|
-
/** Filtro por endpoints que requieren header específico */
|
|
1325
|
-
RequiresHeader?: boolean;
|
|
1326
|
-
/** Filtro por estado activo/inactivo */
|
|
1327
|
-
IsActive?: boolean;
|
|
1328
|
-
}
|
|
1329
|
-
|
|
1330
|
-
/**
|
|
1331
|
-
* Interfaz que representa una ruta de UI del sistema.
|
|
1332
|
-
*/
|
|
1333
|
-
interface UIRoute {
|
|
1334
|
-
uiRouteId: number;
|
|
1335
|
-
uiRoute: string;
|
|
1336
|
-
path: string;
|
|
1337
|
-
description: string;
|
|
1338
|
-
isActive: boolean;
|
|
1339
|
-
}
|
|
1340
|
-
/**
|
|
1341
|
-
* Request para crear o actualizar una ruta de UI.
|
|
1342
|
-
*/
|
|
1343
|
-
interface UIRouteRequest {
|
|
1344
|
-
uiRoute: string;
|
|
1345
|
-
path: string;
|
|
1346
|
-
description: string;
|
|
1347
|
-
isActive?: boolean;
|
|
1348
|
-
}
|
|
1349
|
-
/**
|
|
1350
|
-
* Filtros disponibles para buscar rutas de UI.
|
|
1351
|
-
* Todos los campos son opcionales.
|
|
1352
|
-
*/
|
|
1353
|
-
interface UIRoutesFilter {
|
|
1354
|
-
/** Búsqueda general (busca en UIRoute, Path y Description) */
|
|
1355
|
-
Search?: string;
|
|
1356
|
-
/** Filtro por nombre de la ruta (búsqueda parcial) */
|
|
1357
|
-
UIRoute?: string;
|
|
1358
|
-
/** Filtro por path (búsqueda parcial) */
|
|
1359
|
-
Path?: string;
|
|
1360
|
-
/** Filtro por descripción (búsqueda parcial) */
|
|
1361
|
-
Description?: string;
|
|
1362
|
-
/** Filtro por estado activo/inactivo */
|
|
1363
|
-
IsActive?: boolean;
|
|
1562
|
+
*/
|
|
1563
|
+
getBlankById(id: number): Promise<ResponseModel<Blank>>;
|
|
1564
|
+
/**
|
|
1565
|
+
* Crea un nuevo blank.
|
|
1566
|
+
*/
|
|
1567
|
+
createBlank(request: BlankRequest): Promise<ResponseModel<Blank>>;
|
|
1568
|
+
/**
|
|
1569
|
+
* Actualiza un blank existente.
|
|
1570
|
+
*/
|
|
1571
|
+
updateBlank(id: number, request: BlankRequest): Promise<ResponseModel<Blank>>;
|
|
1572
|
+
/**
|
|
1573
|
+
* Alterna el estado activo de un blank.
|
|
1574
|
+
*/
|
|
1575
|
+
toggleBlankStatus(id: number): Promise<ResponseModel<Blank>>;
|
|
1576
|
+
/**
|
|
1577
|
+
* Elimina un blank.
|
|
1578
|
+
*/
|
|
1579
|
+
deleteBlank(id: number): Promise<ResponseModel<void>>;
|
|
1580
|
+
/**
|
|
1581
|
+
* Obtiene la plantilla para la carga masiva de blanks.
|
|
1582
|
+
*/
|
|
1583
|
+
getBlanksBulkTemplate(): Promise<ResponseModel<string>>;
|
|
1584
|
+
/**
|
|
1585
|
+
* Realiza una carga masiva de blanks.
|
|
1586
|
+
*/
|
|
1587
|
+
bulkCreateBlanks(request: BulkUploadRequest): Promise<ResponseModel<any>>;
|
|
1364
1588
|
}
|
|
1365
1589
|
|
|
1366
1590
|
/**
|
|
@@ -1481,240 +1705,6 @@ declare class SystemService {
|
|
|
1481
1705
|
deleteUIRoute(id: number): Promise<ResponseModel<void>>;
|
|
1482
1706
|
}
|
|
1483
1707
|
|
|
1484
|
-
interface AdminUser {
|
|
1485
|
-
userId: number;
|
|
1486
|
-
username: string;
|
|
1487
|
-
firstName: string;
|
|
1488
|
-
lastName: string;
|
|
1489
|
-
email: string;
|
|
1490
|
-
phone: string;
|
|
1491
|
-
areaCodeId: number | null;
|
|
1492
|
-
birthday: string | null;
|
|
1493
|
-
referrerUserId: number | null;
|
|
1494
|
-
userReferralCode: string;
|
|
1495
|
-
genderId: number | null;
|
|
1496
|
-
roleId: number | null;
|
|
1497
|
-
userTypeId: number | null;
|
|
1498
|
-
isActive: boolean;
|
|
1499
|
-
createdAt: string;
|
|
1500
|
-
updatedAt: string | null;
|
|
1501
|
-
}
|
|
1502
|
-
interface AdminAuthentication {
|
|
1503
|
-
userAuthenticationId: number;
|
|
1504
|
-
userId: number;
|
|
1505
|
-
securityLevel: number;
|
|
1506
|
-
clientId: string;
|
|
1507
|
-
isTwoFactorEnabled: boolean;
|
|
1508
|
-
failedLoginAttempts: number;
|
|
1509
|
-
lastLogin: string | null;
|
|
1510
|
-
isActive: boolean;
|
|
1511
|
-
isLocked: boolean;
|
|
1512
|
-
emailVerified: boolean;
|
|
1513
|
-
phoneVerified: boolean;
|
|
1514
|
-
mustChangePassword: boolean;
|
|
1515
|
-
passwordLastChanged: string | null;
|
|
1516
|
-
passwordExpiresAt: string | null;
|
|
1517
|
-
lastLoginIP: string | null;
|
|
1518
|
-
lastLoginDevice: string | null;
|
|
1519
|
-
lastActivityAt: string | null;
|
|
1520
|
-
createdAt: string;
|
|
1521
|
-
updatedAt: string | null;
|
|
1522
|
-
}
|
|
1523
|
-
|
|
1524
|
-
interface UserAdminRequest {
|
|
1525
|
-
username: string;
|
|
1526
|
-
firstName: string;
|
|
1527
|
-
lastName: string;
|
|
1528
|
-
email: string;
|
|
1529
|
-
phone: string;
|
|
1530
|
-
areaCodeId: number;
|
|
1531
|
-
birthday: string;
|
|
1532
|
-
genderId: number;
|
|
1533
|
-
roleId: number;
|
|
1534
|
-
userTypeId: number;
|
|
1535
|
-
}
|
|
1536
|
-
|
|
1537
|
-
interface UserAuthAdminRequest {
|
|
1538
|
-
userId: number;
|
|
1539
|
-
securityLevel: number;
|
|
1540
|
-
clientId: string;
|
|
1541
|
-
requireEmailConfirmation?: boolean;
|
|
1542
|
-
}
|
|
1543
|
-
|
|
1544
|
-
interface ChangePasswordAdminRequest {
|
|
1545
|
-
newPassword: string;
|
|
1546
|
-
}
|
|
1547
|
-
|
|
1548
|
-
interface UserAdminFilter {
|
|
1549
|
-
Search?: string;
|
|
1550
|
-
Username?: string;
|
|
1551
|
-
FirstName?: string;
|
|
1552
|
-
LastName?: string;
|
|
1553
|
-
Email?: string;
|
|
1554
|
-
Phone?: string;
|
|
1555
|
-
RoleId?: number;
|
|
1556
|
-
UserTypeId?: number;
|
|
1557
|
-
IsActive?: boolean;
|
|
1558
|
-
}
|
|
1559
|
-
|
|
1560
|
-
interface UserAdminUpdateRequest {
|
|
1561
|
-
username: string;
|
|
1562
|
-
firstName: string;
|
|
1563
|
-
lastName: string;
|
|
1564
|
-
email: string;
|
|
1565
|
-
phone: string;
|
|
1566
|
-
areaCodeId: number;
|
|
1567
|
-
birthday?: string;
|
|
1568
|
-
genderId: number;
|
|
1569
|
-
roleId: number;
|
|
1570
|
-
userTypeId: number;
|
|
1571
|
-
}
|
|
1572
|
-
|
|
1573
|
-
interface UserAuthUpdateRequest {
|
|
1574
|
-
securityLevel: number;
|
|
1575
|
-
clientId: string;
|
|
1576
|
-
isTwoFactorEnabled?: boolean;
|
|
1577
|
-
emailVerified?: boolean;
|
|
1578
|
-
phoneVerified?: boolean;
|
|
1579
|
-
}
|
|
1580
|
-
|
|
1581
|
-
interface ChangePasswordUserRequest {
|
|
1582
|
-
currentPassword: string;
|
|
1583
|
-
newPassword: string;
|
|
1584
|
-
}
|
|
1585
|
-
|
|
1586
|
-
/**
|
|
1587
|
-
* Interfaz que representa un rol del sistema.
|
|
1588
|
-
*/
|
|
1589
|
-
interface Role {
|
|
1590
|
-
roleId: number;
|
|
1591
|
-
role: string;
|
|
1592
|
-
key?: string;
|
|
1593
|
-
description?: string;
|
|
1594
|
-
userTypeId: number;
|
|
1595
|
-
isActive: boolean;
|
|
1596
|
-
}
|
|
1597
|
-
/**
|
|
1598
|
-
* Request para crear o actualizar un rol.
|
|
1599
|
-
*/
|
|
1600
|
-
interface RoleRequest {
|
|
1601
|
-
role: string;
|
|
1602
|
-
userTypeId: number;
|
|
1603
|
-
key?: string;
|
|
1604
|
-
description?: string;
|
|
1605
|
-
isActive?: boolean;
|
|
1606
|
-
}
|
|
1607
|
-
/**
|
|
1608
|
-
* Filtros disponibles para buscar roles.
|
|
1609
|
-
*/
|
|
1610
|
-
interface RolesFilter {
|
|
1611
|
-
/** Búsqueda general */
|
|
1612
|
-
Search?: string;
|
|
1613
|
-
/** Filtro por nombre del rol (búsqueda parcial) */
|
|
1614
|
-
Role?: string;
|
|
1615
|
-
/** Filtro por descripción (búsqueda parcial) */
|
|
1616
|
-
Description?: string;
|
|
1617
|
-
/** Filtro por estado activo/inactivo */
|
|
1618
|
-
IsActive?: boolean;
|
|
1619
|
-
}
|
|
1620
|
-
interface RoleUserProfile {
|
|
1621
|
-
roleId: number;
|
|
1622
|
-
role: string;
|
|
1623
|
-
}
|
|
1624
|
-
|
|
1625
|
-
interface UserBasicResponse {
|
|
1626
|
-
username: string;
|
|
1627
|
-
firstName: string;
|
|
1628
|
-
lastName: string;
|
|
1629
|
-
fullName: string;
|
|
1630
|
-
email: string;
|
|
1631
|
-
phone: string;
|
|
1632
|
-
role: UserRole;
|
|
1633
|
-
userType: UserType$1;
|
|
1634
|
-
isActive: boolean;
|
|
1635
|
-
securityLevel: number;
|
|
1636
|
-
}
|
|
1637
|
-
interface UserRole {
|
|
1638
|
-
roleId: number;
|
|
1639
|
-
key: string;
|
|
1640
|
-
role: string;
|
|
1641
|
-
}
|
|
1642
|
-
interface UserType$1 {
|
|
1643
|
-
userTypeId: number;
|
|
1644
|
-
key: string;
|
|
1645
|
-
userType: string;
|
|
1646
|
-
}
|
|
1647
|
-
|
|
1648
|
-
interface UserDataUpdateRequest {
|
|
1649
|
-
username: string;
|
|
1650
|
-
firstName: string;
|
|
1651
|
-
lastName: string;
|
|
1652
|
-
areaCodeId: number;
|
|
1653
|
-
phone: string;
|
|
1654
|
-
birthday: Date;
|
|
1655
|
-
profilePhoto: string;
|
|
1656
|
-
}
|
|
1657
|
-
|
|
1658
|
-
/**
|
|
1659
|
-
* Interfaz que representa un tipo de usuario.
|
|
1660
|
-
*/
|
|
1661
|
-
interface UserType {
|
|
1662
|
-
userTypeId: number;
|
|
1663
|
-
userType: string;
|
|
1664
|
-
key?: string;
|
|
1665
|
-
description?: string;
|
|
1666
|
-
}
|
|
1667
|
-
/**
|
|
1668
|
-
* Request para crear o actualizar un tipo de usuario.
|
|
1669
|
-
*/
|
|
1670
|
-
interface UserTypeRequest {
|
|
1671
|
-
userType: string;
|
|
1672
|
-
key?: string;
|
|
1673
|
-
description?: string;
|
|
1674
|
-
}
|
|
1675
|
-
/**
|
|
1676
|
-
* Filtros disponibles para buscar tipos de usuario.
|
|
1677
|
-
*/
|
|
1678
|
-
interface UserTypesFilter {
|
|
1679
|
-
/** Búsqueda general */
|
|
1680
|
-
Search?: string;
|
|
1681
|
-
/** Filtro por tipo de usuario (búsqueda parcial) */
|
|
1682
|
-
UserType?: string;
|
|
1683
|
-
/** Filtro por key (búsqueda parcial) */
|
|
1684
|
-
Key?: string;
|
|
1685
|
-
/** Filtro por descripción (búsqueda parcial) */
|
|
1686
|
-
Description?: string;
|
|
1687
|
-
}
|
|
1688
|
-
interface UserTypeUserProfile {
|
|
1689
|
-
userTypeId: number;
|
|
1690
|
-
userType: string;
|
|
1691
|
-
}
|
|
1692
|
-
|
|
1693
|
-
interface UserProfileResponse {
|
|
1694
|
-
username: string;
|
|
1695
|
-
firstName: string;
|
|
1696
|
-
lastName: string;
|
|
1697
|
-
fullName: string;
|
|
1698
|
-
email: string;
|
|
1699
|
-
phone: string;
|
|
1700
|
-
profilePhoto: string;
|
|
1701
|
-
areaCode: AreaCodeUserProfile;
|
|
1702
|
-
birthday: Date;
|
|
1703
|
-
gender: GenderUserProfile;
|
|
1704
|
-
role: RoleUserProfile;
|
|
1705
|
-
userType: UserTypeUserProfile;
|
|
1706
|
-
userReferralCode: string;
|
|
1707
|
-
securityLevel: number;
|
|
1708
|
-
emailVerified: boolean;
|
|
1709
|
-
phoneVerified: boolean;
|
|
1710
|
-
lastLogin: Date;
|
|
1711
|
-
mustChangePassword: boolean;
|
|
1712
|
-
passwordExpiresAt: Date;
|
|
1713
|
-
isActive: boolean;
|
|
1714
|
-
createdAt: Date;
|
|
1715
|
-
updatedAt: Date;
|
|
1716
|
-
}
|
|
1717
|
-
|
|
1718
1708
|
declare class UserService {
|
|
1719
1709
|
private api;
|
|
1720
1710
|
private readonly BASE_PATH;
|
|
@@ -1907,4 +1897,4 @@ declare class FalconHUBSDK {
|
|
|
1907
1897
|
|
|
1908
1898
|
declare function decrypt(encryptedBase64: string, secret: string, timestamp: string): string;
|
|
1909
1899
|
|
|
1910
|
-
export { API, type AdminAuthentication, type AdminUser, type AreaCode, type AreaCodeRequest, type AreaCodeUserProfile, type AreaCodesFilter, AuthInterceptor, type AuthInterceptorConfig, AuthService, BLANKS_BULK_COLUMN_MAP, BLANKS_BULK_SPANISH_HEADERS, type Blank, type BlankRequest, type BlanksBulkItem, type BlanksFilter, type BulkUploadRequest, CatalogService, type ChangePasswordAdminRequest, type ChangePasswordRequest, type ChangePasswordUserRequest, type Color, type ColorRequest, type ColorsFilter, type ConfirmEmailRequest, CryptoService, type Endpoint, type EndpointRequest, type EndpointsFilter, ErrorResponse, FalconHUBSDK, FilterBuilder, type FilterFieldMetadata, type FilterGroup, type FilterGroupOption, type FilterGroupsModel, type FilterMetadataModel, type FilterModel, type Gender, type GenderRequest, type GenderUserProfile, type GendersFilter, type GetSecretKeyRequest, type GetSecretKeyResponse, type HttpMethodType, type InterceptorContext, InventoryService, type InventoryStatus, type InventoryStatusRequest, type InventoryStatusesFilter, type Location, type LocationsFilter, type LocationsRequest, type LoginRequest, type LoginResponse, type Material, type MaterialRequest, type MaterialsFilter, type MethodTypes, type Module, type ModuleRequest, type ModulesFilter, type Packing, type PackingRequest, type PackingsFilter, ProductService, type Provider, type ProviderRequest, type ProvidersFilter, type RefreshTokenRequest, type RefreshTokenResponse, type RequestConfig, type RequestInterceptor, type RequestOptions, type ResponseModel, type Role, type RoleRequest, type RoleUserProfile, type RolesFilter, type SendOtpRequest, type ServiceProperties, type Size, type SizeGroup, type SizeGroupRequest, type SizeGroupsFilter, type SizeRequest, type SizesFilter, SystemService, type TokenData, TokenManager, type UIRoute, type UIRouteRequest, type UIRoutesFilter, type UserAdminFilter, type UserAdminRequest, type UserAdminUpdateRequest, type UserAuthAdminRequest, type UserAuthUpdateRequest, type UserBasicResponse, type UserDataUpdateRequest, type UserProfileResponse, UserService, type UserType, type UserTypeRequest, type UserTypeUserProfile, type UserTypesFilter, type ValidateOtpRequest, type ValidateSessionRenewedResponse, type ValidateSessionResponse, decrypt };
|
|
1900
|
+
export { API, type AdminAuthentication, type AdminUser, type AreaCode, type AreaCodeRequest, type AreaCodeUserProfile, type AreaCodesFilter, AuthInterceptor, type AuthInterceptorConfig, AuthService, BLANKS_BULK_COLUMN_MAP, BLANKS_BULK_SPANISH_HEADERS, type Blank, type BlankRequest, type BlanksBulkItem, type BlanksFilter, type BulkUploadRequest, CatalogService, type ChangePasswordAdminRequest, type ChangePasswordRequest, type ChangePasswordUserRequest, type Color, type ColorRequest, type ColorsFilter, type ConfirmEmailRequest, CryptoService, type Endpoint, type EndpointRequest, type EndpointsFilter, ErrorResponse, FalconHUBSDK, FilterBuilder, type FilterFieldMetadata, type FilterGroup, type FilterGroupOption, type FilterGroupsModel, type FilterMetadataModel, type FilterModel, type Gender, type GenderRequest, type GenderUserProfile, type GendersFilter, type GetSecretKeyRequest, type GetSecretKeyResponse, type HttpMethodType, type InterceptorContext, InventoryService, type InventoryStatus, type InventoryStatusRequest, type InventoryStatusesFilter, type Location, type LocationsFilter, type LocationsRequest, type LoginRequest, type LoginResponse, type Material, type MaterialRequest, type MaterialsFilter, type MethodTypes, type Module, type ModuleRequest, type ModulesFilter, type Packing, type PackingRequest, type PackingsFilter, ProductService, type Provider, type ProviderRequest, type ProvidersFilter, type RefreshTokenRequest, type RefreshTokenResponse, type RequestConfig, type RequestInterceptor, type RequestOptions, type ResponseModel, type Role, type RoleRequest, type RoleUserProfile, type RolesFilter, type SendOtpRequest, type ServiceProperties, type Size, type SizeGroup, type SizeGroupRequest, type SizeGroupsFilter, type SizeRequest, type SizesFilter, SystemService, type TokenData, TokenManager, type UIRoute, type UIRouteRequest, type UIRoutesFilter, type UserAdminFilter, type UserAdminRequest, type UserAdminUpdateRequest, type UserAuthAdminRequest, type UserAuthUpdateRequest, type UserBasicResponse, type UserDataUpdateRequest, type UserProfileResponse, type Role as UserRole, UserService, type UserType, type UserTypeRequest, type UserTypeUserProfile, type UserTypesFilter, type ValidateOtpRequest, type ValidateSessionRenewedResponse, type ValidateSessionResponse, decrypt };
|