falconhub-apilibrary 1.3.1-dev.97 → 1.3.1-dev.99
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 +823 -1706
- package/dist/index.mjs +408 -1055
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -217,6 +217,25 @@ declare class TokenManager {
|
|
|
217
217
|
private stopAutoRefreshTimer;
|
|
218
218
|
}
|
|
219
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
|
+
|
|
220
239
|
interface LoginRequest {
|
|
221
240
|
email: string;
|
|
222
241
|
password: string;
|
|
@@ -244,6 +263,15 @@ interface RefreshTokenResponse {
|
|
|
244
263
|
type: string;
|
|
245
264
|
}
|
|
246
265
|
|
|
266
|
+
interface SendOtpRequest {
|
|
267
|
+
email: string;
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
interface ValidateOtpRequest {
|
|
271
|
+
email: string;
|
|
272
|
+
otp: string;
|
|
273
|
+
}
|
|
274
|
+
|
|
247
275
|
interface ValidateSessionRenewedResponse {
|
|
248
276
|
accessToken: string;
|
|
249
277
|
refreshToken: string;
|
|
@@ -257,26 +285,6 @@ interface ValidateSessionResponse {
|
|
|
257
285
|
isRemembered: boolean;
|
|
258
286
|
}
|
|
259
287
|
|
|
260
|
-
interface ConfirmEmailRequest {
|
|
261
|
-
email: string;
|
|
262
|
-
expiresAt: number;
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
interface SendOtpRequest {
|
|
266
|
-
email: string;
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
interface ValidateOtpRequest {
|
|
270
|
-
email: string;
|
|
271
|
-
otp: string;
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
interface ChangePasswordRequest {
|
|
275
|
-
email: string;
|
|
276
|
-
oldPassword: string;
|
|
277
|
-
newPassword: string;
|
|
278
|
-
}
|
|
279
|
-
|
|
280
288
|
declare class AuthService {
|
|
281
289
|
private api;
|
|
282
290
|
private crytpoService;
|
|
@@ -305,6 +313,12 @@ declare class AuthService {
|
|
|
305
313
|
* Cierra sesión: notifica al servidor y limpia tokens
|
|
306
314
|
*/
|
|
307
315
|
logout(): Promise<ResponseModel>;
|
|
316
|
+
/**
|
|
317
|
+
* Obtiene la SecretKey del usuario autenticado.
|
|
318
|
+
* Requiere sesión activa. Si el usuario tiene 2FA habilitado, se debe proveer el OTP.
|
|
319
|
+
* @param request - Objeto opcional con otpCode (requerido si IsTwoFactorEnabled)
|
|
320
|
+
*/
|
|
321
|
+
getSecretKey(request?: GetSecretKeyRequest): Promise<ResponseModel<GetSecretKeyResponse>>;
|
|
308
322
|
/**
|
|
309
323
|
* Confirma el correo electrónico de un usuario.
|
|
310
324
|
* @param request - Email y expiresAt
|
|
@@ -335,229 +349,68 @@ declare class AuthService {
|
|
|
335
349
|
getTokens(): TokenData | null;
|
|
336
350
|
}
|
|
337
351
|
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
}
|
|
343
|
-
|
|
344
|
-
interface GenderUserProfile {
|
|
352
|
+
/**
|
|
353
|
+
* Interfaz que representa un género del catálogo.
|
|
354
|
+
*/
|
|
355
|
+
interface Gender {
|
|
345
356
|
genderId: number;
|
|
346
357
|
gender: string;
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
interface RoleUserProfile {
|
|
350
|
-
roleId: number;
|
|
351
|
-
role: string;
|
|
352
|
-
}
|
|
353
|
-
|
|
354
|
-
interface UserTypeUserProfile {
|
|
355
|
-
userTypeId: number;
|
|
356
|
-
userType: string;
|
|
357
|
-
}
|
|
358
|
-
|
|
359
|
-
interface UserProfileResponse {
|
|
360
|
-
userId: number;
|
|
361
|
-
username: string;
|
|
362
|
-
firstName: string;
|
|
363
|
-
lastName: string;
|
|
364
|
-
fullName: string;
|
|
365
|
-
email: string;
|
|
366
|
-
phone: string;
|
|
367
|
-
profilePhoto: string;
|
|
368
|
-
areaCode: AreaCodeUserProfile;
|
|
369
|
-
birthday: Date;
|
|
370
|
-
gender: GenderUserProfile;
|
|
371
|
-
role: RoleUserProfile;
|
|
372
|
-
userType: UserTypeUserProfile;
|
|
373
|
-
userReferralCode: string;
|
|
374
|
-
securityLevel: number;
|
|
375
|
-
emailVerified: boolean;
|
|
376
|
-
phoneVerified: boolean;
|
|
377
|
-
lastLogin: Date;
|
|
378
|
-
mustChangePassword: boolean;
|
|
379
|
-
passwordExpiresAt: Date;
|
|
380
|
-
isActive: boolean;
|
|
381
|
-
createdAt: Date;
|
|
382
|
-
updatedAt: Date;
|
|
383
|
-
}
|
|
384
|
-
|
|
385
|
-
interface UserBasicResponse {
|
|
386
|
-
userId: number;
|
|
387
|
-
username: string;
|
|
388
|
-
firstName: string;
|
|
389
|
-
lastName: string;
|
|
390
|
-
fullName: string;
|
|
391
|
-
email: string;
|
|
392
|
-
phone: string;
|
|
393
|
-
role: string;
|
|
394
|
-
roleId: number;
|
|
395
|
-
userType: number;
|
|
396
|
-
userTypeId: number;
|
|
397
|
-
isActive: boolean;
|
|
398
|
-
securityLevel: number;
|
|
399
|
-
}
|
|
400
|
-
|
|
401
|
-
interface AdminUser {
|
|
402
|
-
userId: number;
|
|
403
|
-
username: string;
|
|
404
|
-
firstName: string;
|
|
405
|
-
lastName: string;
|
|
406
|
-
email: string;
|
|
407
|
-
phone: string;
|
|
408
|
-
areaCodeId: number | null;
|
|
409
|
-
birthday: string | null;
|
|
410
|
-
referrerUserId: number | null;
|
|
411
|
-
userReferralCode: string;
|
|
412
|
-
genderId: number | null;
|
|
413
|
-
roleId: number | null;
|
|
414
|
-
userTypeId: number | null;
|
|
415
|
-
isActive: boolean;
|
|
358
|
+
key: string;
|
|
416
359
|
createdAt: string;
|
|
417
360
|
updatedAt: string | null;
|
|
418
361
|
deleted: boolean;
|
|
419
362
|
}
|
|
420
|
-
interface AdminAuthentication {
|
|
421
|
-
userAuthenticationId: number;
|
|
422
|
-
userId: number;
|
|
423
|
-
securityLevel: number;
|
|
424
|
-
clientId: string;
|
|
425
|
-
isTwoFactorEnabled: boolean;
|
|
426
|
-
failedLoginAttempts: number;
|
|
427
|
-
lastLogin: string | null;
|
|
428
|
-
isActive: boolean;
|
|
429
|
-
isLocked: boolean;
|
|
430
|
-
emailVerified: boolean;
|
|
431
|
-
phoneVerified: boolean;
|
|
432
|
-
mustChangePassword: boolean;
|
|
433
|
-
passwordLastChanged: string | null;
|
|
434
|
-
passwordExpiresAt: string | null;
|
|
435
|
-
lastLoginIP: string | null;
|
|
436
|
-
lastLoginDevice: string | null;
|
|
437
|
-
lastActivityAt: string | null;
|
|
438
|
-
createdAt: string;
|
|
439
|
-
updatedAt: string | null;
|
|
440
|
-
}
|
|
441
|
-
|
|
442
|
-
interface UserAdminRequest {
|
|
443
|
-
username: string;
|
|
444
|
-
firstName: string;
|
|
445
|
-
lastName: string;
|
|
446
|
-
email: string;
|
|
447
|
-
phone: string;
|
|
448
|
-
areaCodeId: number;
|
|
449
|
-
birthday: string;
|
|
450
|
-
genderId: number;
|
|
451
|
-
roleId: number;
|
|
452
|
-
userTypeId: number;
|
|
453
|
-
}
|
|
454
|
-
|
|
455
|
-
interface UserAuthAdminRequest {
|
|
456
|
-
userId: number;
|
|
457
|
-
securityLevel: number;
|
|
458
|
-
clientId: string;
|
|
459
|
-
requireEmailConfirmation?: boolean;
|
|
460
|
-
}
|
|
461
|
-
|
|
462
|
-
interface ChangePasswordAdminRequest {
|
|
463
|
-
newPassword: string;
|
|
464
|
-
}
|
|
465
|
-
|
|
466
|
-
interface UserAdminFilter {
|
|
467
|
-
Search?: string;
|
|
468
|
-
Username?: string;
|
|
469
|
-
FirstName?: string;
|
|
470
|
-
LastName?: string;
|
|
471
|
-
Email?: string;
|
|
472
|
-
Phone?: string;
|
|
473
|
-
RoleId?: number;
|
|
474
|
-
UserTypeId?: number;
|
|
475
|
-
IsActive?: boolean;
|
|
476
|
-
}
|
|
477
|
-
|
|
478
|
-
interface UserAdminUpdateRequest {
|
|
479
|
-
username: string;
|
|
480
|
-
firstName: string;
|
|
481
|
-
lastName: string;
|
|
482
|
-
email: string;
|
|
483
|
-
phone: string;
|
|
484
|
-
areaCodeId: number;
|
|
485
|
-
birthday?: string;
|
|
486
|
-
genderId: number;
|
|
487
|
-
roleId: number;
|
|
488
|
-
userTypeId: number;
|
|
489
|
-
}
|
|
490
|
-
|
|
491
|
-
interface UserAuthUpdateRequest {
|
|
492
|
-
securityLevel: number;
|
|
493
|
-
clientId: string;
|
|
494
|
-
isTwoFactorEnabled?: boolean;
|
|
495
|
-
emailVerified?: boolean;
|
|
496
|
-
phoneVerified?: boolean;
|
|
497
|
-
}
|
|
498
|
-
|
|
499
|
-
/**
|
|
500
|
-
* Interfaz que representa un tipo de usuario.
|
|
501
|
-
*/
|
|
502
|
-
interface UserType {
|
|
503
|
-
userTypeId: number;
|
|
504
|
-
userType: string;
|
|
505
|
-
key?: string;
|
|
506
|
-
description?: string;
|
|
507
|
-
}
|
|
508
363
|
/**
|
|
509
|
-
* Request para crear o actualizar un
|
|
364
|
+
* Request para crear o actualizar un género.
|
|
510
365
|
*/
|
|
511
|
-
interface
|
|
512
|
-
|
|
366
|
+
interface GenderRequest {
|
|
367
|
+
gender: string;
|
|
513
368
|
key?: string;
|
|
514
|
-
description?: string;
|
|
515
369
|
}
|
|
516
370
|
/**
|
|
517
|
-
* Filtros disponibles para buscar
|
|
371
|
+
* Filtros disponibles para buscar géneros.
|
|
518
372
|
*/
|
|
519
|
-
interface
|
|
373
|
+
interface GendersFilter {
|
|
520
374
|
/** Búsqueda general */
|
|
521
375
|
Search?: string;
|
|
522
|
-
/** Filtro por
|
|
523
|
-
|
|
524
|
-
/** Filtro por key (búsqueda parcial) */
|
|
525
|
-
Key?: string;
|
|
526
|
-
/** Filtro por descripción (búsqueda parcial) */
|
|
527
|
-
Description?: string;
|
|
376
|
+
/** Filtro por nombre del género (búsqueda parcial) */
|
|
377
|
+
Gender?: string;
|
|
528
378
|
}
|
|
529
379
|
|
|
530
380
|
/**
|
|
531
|
-
* Interfaz que representa un
|
|
381
|
+
* Interfaz que representa un código de área del catálogo.
|
|
532
382
|
*/
|
|
533
|
-
interface
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
userTypeId: number;
|
|
383
|
+
interface AreaCode {
|
|
384
|
+
areaCodeId: number;
|
|
385
|
+
countryCode: string;
|
|
386
|
+
iso: string;
|
|
387
|
+
countryName: string;
|
|
539
388
|
isActive: boolean;
|
|
389
|
+
createdAt: string;
|
|
390
|
+
updatedAt: string | null;
|
|
391
|
+
deleted: boolean;
|
|
540
392
|
}
|
|
541
393
|
/**
|
|
542
|
-
* Request para crear o actualizar un
|
|
394
|
+
* Request para crear o actualizar un código de área.
|
|
543
395
|
*/
|
|
544
|
-
interface
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
isActive?: boolean;
|
|
396
|
+
interface AreaCodeRequest {
|
|
397
|
+
countryCode: string;
|
|
398
|
+
iso: string;
|
|
399
|
+
countryName: string;
|
|
400
|
+
isActive: boolean;
|
|
550
401
|
}
|
|
551
402
|
/**
|
|
552
|
-
* Filtros disponibles para buscar
|
|
403
|
+
* Filtros disponibles para buscar códigos de área.
|
|
553
404
|
*/
|
|
554
|
-
interface
|
|
405
|
+
interface AreaCodesFilter {
|
|
555
406
|
/** Búsqueda general */
|
|
556
407
|
Search?: string;
|
|
557
|
-
/** Filtro por
|
|
558
|
-
|
|
559
|
-
/** Filtro por
|
|
560
|
-
|
|
408
|
+
/** Filtro por código de país (búsqueda parcial) */
|
|
409
|
+
CountryCode?: string;
|
|
410
|
+
/** Filtro por ISO (búsqueda parcial) */
|
|
411
|
+
ISO?: string;
|
|
412
|
+
/** Filtro por nombre de país (búsqueda parcial) */
|
|
413
|
+
CountryName?: string;
|
|
561
414
|
/** Filtro por estado activo/inactivo */
|
|
562
415
|
IsActive?: boolean;
|
|
563
416
|
}
|
|
@@ -676,1810 +529,1075 @@ interface FilterGroup {
|
|
|
676
529
|
*/
|
|
677
530
|
type FilterGroupsModel = FilterGroup[];
|
|
678
531
|
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
interface UserDataUpdateRequest {
|
|
685
|
-
username: string;
|
|
686
|
-
firstName: string;
|
|
687
|
-
lastName: string;
|
|
688
|
-
phone: string;
|
|
689
|
-
birthday: string;
|
|
690
|
-
profilePhoto: string;
|
|
691
|
-
}
|
|
692
|
-
|
|
693
|
-
declare class UserService {
|
|
532
|
+
/**
|
|
533
|
+
* Servicio para gestionar catálogos públicos.
|
|
534
|
+
* No requiere autenticación.
|
|
535
|
+
*/
|
|
536
|
+
declare class CatalogService {
|
|
694
537
|
private api;
|
|
695
538
|
private readonly BASE_PATH;
|
|
696
539
|
constructor(api: API);
|
|
697
|
-
me(): Promise<ResponseModel<UserBasicResponse>>;
|
|
698
|
-
profile(): Promise<ResponseModel<UserProfileResponse>>;
|
|
699
|
-
changePasswordUser(request: ChangePasswordUserRequest): Promise<ResponseModel>;
|
|
700
|
-
updateUserData(request: UserDataUpdateRequest): Promise<ResponseModel>;
|
|
701
|
-
/**
|
|
702
|
-
* Crea un nuevo usuario administrador.
|
|
703
|
-
* @param request - Datos del nuevo administrador
|
|
704
|
-
*/
|
|
705
|
-
newAdminUser(request: UserAdminRequest): Promise<ResponseModel<AdminUser>>;
|
|
706
|
-
/**
|
|
707
|
-
* Crea la autenticación para un usuario.
|
|
708
|
-
* @param request - Datos de autenticación del usuario
|
|
709
|
-
*/
|
|
710
|
-
createUserAuthentication(request: UserAuthAdminRequest): Promise<ResponseModel<AdminAuthentication>>;
|
|
711
|
-
/**
|
|
712
|
-
* Cambia la contraseña de un administrador.
|
|
713
|
-
* @param id - ID del usuario
|
|
714
|
-
* @param request - Nueva contraseña
|
|
715
|
-
*/
|
|
716
|
-
changePasswordAdmin(id: number, request: ChangePasswordAdminRequest): Promise<ResponseModel>;
|
|
717
|
-
/**
|
|
718
|
-
* Obtiene todos los administradores con filtros opcionales.
|
|
719
|
-
* @param filter - Filtros opcionales para la búsqueda
|
|
720
|
-
*/
|
|
721
|
-
getAllAdmins(filter?: UserAdminFilter): Promise<ResponseModel<AdminUser[]>>;
|
|
722
|
-
/**
|
|
723
|
-
* Obtiene el modelo de filtros disponibles para administradores.
|
|
724
|
-
*/
|
|
725
|
-
getAdminFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
|
|
726
|
-
/**
|
|
727
|
-
* Obtiene un administrador por su ID.
|
|
728
|
-
* @param id - ID del administrador
|
|
729
|
-
*/
|
|
730
|
-
getAdminById(id: number): Promise<ResponseModel<AdminUser>>;
|
|
731
|
-
/**
|
|
732
|
-
* Obtiene la autenticación de un administrador.
|
|
733
|
-
* @param id - ID del usuario
|
|
734
|
-
*/
|
|
735
|
-
getAdminAuthentication(id: number): Promise<ResponseModel<AdminAuthentication>>;
|
|
736
|
-
/**
|
|
737
|
-
* Actualiza un administrador existente.
|
|
738
|
-
* @param id - ID del administrador
|
|
739
|
-
* @param request - Nuevos datos del administrador
|
|
740
|
-
*/
|
|
741
|
-
updateAdmin(id: number, request: UserAdminUpdateRequest): Promise<ResponseModel<AdminUser>>;
|
|
742
|
-
/**
|
|
743
|
-
* Activa o desactiva un administrador.
|
|
744
|
-
* @param id - ID del administrador
|
|
745
|
-
*/
|
|
746
|
-
toggleAdminStatus(id: number): Promise<ResponseModel<AdminUser>>;
|
|
747
|
-
/**
|
|
748
|
-
* Actualiza la autenticación de un administrador.
|
|
749
|
-
* @param id - ID del usuario
|
|
750
|
-
* @param request - Nuevos datos de autenticación
|
|
751
|
-
*/
|
|
752
|
-
updateAdminAuthentication(id: number, request: UserAuthUpdateRequest): Promise<ResponseModel<AdminAuthentication>>;
|
|
753
540
|
/**
|
|
754
|
-
* Obtiene todos los
|
|
541
|
+
* Obtiene todos los géneros con filtros opcionales.
|
|
755
542
|
* @param filter - Filtros opcionales para la búsqueda
|
|
756
543
|
*/
|
|
757
|
-
|
|
544
|
+
getGenders(filter?: GendersFilter): Promise<ResponseModel<Gender[]>>;
|
|
758
545
|
/**
|
|
759
|
-
* Obtiene el modelo de filtros disponibles para
|
|
546
|
+
* Obtiene el modelo de filtros disponibles para géneros.
|
|
760
547
|
*/
|
|
761
|
-
|
|
548
|
+
getGendersFilters(): Promise<ResponseModel<FilterGroupsModel>>;
|
|
762
549
|
/**
|
|
763
|
-
* Obtiene un
|
|
764
|
-
* @param id - ID del
|
|
550
|
+
* Obtiene un género por su ID.
|
|
551
|
+
* @param id - ID del género
|
|
765
552
|
*/
|
|
766
|
-
|
|
553
|
+
getGenderById(id: number): Promise<ResponseModel<Gender>>;
|
|
767
554
|
/**
|
|
768
|
-
* Crea un nuevo
|
|
769
|
-
* @param request - Datos del
|
|
555
|
+
* Crea un nuevo género.
|
|
556
|
+
* @param request - Datos del género a crear
|
|
770
557
|
*/
|
|
771
|
-
|
|
558
|
+
createGender(request: GenderRequest): Promise<ResponseModel<Gender>>;
|
|
772
559
|
/**
|
|
773
|
-
* Actualiza un
|
|
774
|
-
* @param id - ID del
|
|
775
|
-
* @param request - Nuevos datos del
|
|
560
|
+
* Actualiza un género existente.
|
|
561
|
+
* @param id - ID del género a actualizar
|
|
562
|
+
* @param request - Nuevos datos del género
|
|
776
563
|
*/
|
|
777
|
-
|
|
564
|
+
updateGender(id: number, request: GenderRequest): Promise<ResponseModel<Gender>>;
|
|
778
565
|
/**
|
|
779
|
-
* Elimina un
|
|
780
|
-
* @param id - ID del
|
|
566
|
+
* Elimina un género.
|
|
567
|
+
* @param id - ID del género a eliminar
|
|
781
568
|
*/
|
|
782
|
-
|
|
569
|
+
deleteGender(id: number): Promise<ResponseModel<void>>;
|
|
783
570
|
/**
|
|
784
|
-
* Obtiene todos los
|
|
571
|
+
* Obtiene todos los códigos de área con filtros opcionales.
|
|
785
572
|
* @param filter - Filtros opcionales para la búsqueda
|
|
786
573
|
*/
|
|
787
|
-
|
|
788
|
-
/**
|
|
789
|
-
* Obtiene el modelo de filtros disponibles para roles.
|
|
790
|
-
*/
|
|
791
|
-
getRolesFilters(): Promise<ResponseModel<FilterGroupsModel>>;
|
|
574
|
+
getAreaCodes(filter?: AreaCodesFilter): Promise<ResponseModel<AreaCode[]>>;
|
|
792
575
|
/**
|
|
793
|
-
* Obtiene
|
|
794
|
-
* @param id - ID del rol
|
|
576
|
+
* Obtiene el modelo de filtros disponibles para códigos de área.
|
|
795
577
|
*/
|
|
796
|
-
|
|
578
|
+
getAreaCodesFilters(): Promise<ResponseModel<FilterGroupsModel>>;
|
|
797
579
|
/**
|
|
798
|
-
* Obtiene
|
|
799
|
-
* @param
|
|
580
|
+
* Obtiene un código de área por su ID.
|
|
581
|
+
* @param id - ID del código de área
|
|
800
582
|
*/
|
|
801
|
-
|
|
583
|
+
getAreaCodeById(id: number): Promise<ResponseModel<AreaCode>>;
|
|
802
584
|
/**
|
|
803
|
-
* Crea un nuevo
|
|
804
|
-
* @param request - Datos del
|
|
585
|
+
* Crea un nuevo código de área.
|
|
586
|
+
* @param request - Datos del código de área a crear
|
|
805
587
|
*/
|
|
806
|
-
|
|
588
|
+
createAreaCode(request: AreaCodeRequest): Promise<ResponseModel<AreaCode>>;
|
|
807
589
|
/**
|
|
808
|
-
* Actualiza un
|
|
809
|
-
* @param id - ID del
|
|
810
|
-
* @param request - Nuevos datos del
|
|
590
|
+
* Actualiza un código de área existente.
|
|
591
|
+
* @param id - ID del código de área a actualizar
|
|
592
|
+
* @param request - Nuevos datos del código de área
|
|
811
593
|
*/
|
|
812
|
-
|
|
594
|
+
updateAreaCode(id: number, request: AreaCodeRequest): Promise<ResponseModel<AreaCode>>;
|
|
813
595
|
/**
|
|
814
|
-
* Activa o desactiva un
|
|
815
|
-
* @param id - ID del
|
|
596
|
+
* Activa o desactiva un código de área.
|
|
597
|
+
* @param id - ID del código de área
|
|
816
598
|
*/
|
|
817
|
-
|
|
599
|
+
toggleAreaCodeStatus(id: number): Promise<ResponseModel<AreaCode>>;
|
|
818
600
|
/**
|
|
819
|
-
* Elimina un
|
|
820
|
-
* @param id - ID del
|
|
601
|
+
* Elimina un código de área.
|
|
602
|
+
* @param id - ID del código de área a eliminar
|
|
821
603
|
*/
|
|
822
|
-
|
|
604
|
+
deleteAreaCode(id: number): Promise<ResponseModel<void>>;
|
|
823
605
|
}
|
|
824
606
|
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
607
|
+
interface Location {
|
|
608
|
+
locationId: number;
|
|
609
|
+
locationName: string;
|
|
610
|
+
address1: string;
|
|
611
|
+
address2: string;
|
|
612
|
+
city: string;
|
|
613
|
+
state: string;
|
|
614
|
+
country: string;
|
|
615
|
+
postalCode: string;
|
|
616
|
+
contactName: string;
|
|
617
|
+
areaCodeId: number;
|
|
618
|
+
contactPhone: string;
|
|
619
|
+
contactEmail: string;
|
|
620
|
+
url: string;
|
|
621
|
+
apiKey: string;
|
|
622
|
+
parentLocationId: number | null;
|
|
623
|
+
isPhysical: boolean;
|
|
832
624
|
isActive: boolean;
|
|
833
625
|
createdAt: string;
|
|
834
626
|
updatedAt: string | null;
|
|
835
|
-
deleted: boolean;
|
|
836
627
|
}
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
628
|
+
interface LocationsRequest {
|
|
629
|
+
locationName: string;
|
|
630
|
+
address1: string;
|
|
631
|
+
address2?: string;
|
|
632
|
+
city: string;
|
|
633
|
+
state: string;
|
|
634
|
+
country: string;
|
|
635
|
+
postalCode: string;
|
|
636
|
+
contactName: string;
|
|
637
|
+
areaCodeId: number;
|
|
638
|
+
contactPhone: string;
|
|
639
|
+
contactEmail: string;
|
|
843
640
|
isActive?: boolean;
|
|
641
|
+
isPhysical: boolean;
|
|
642
|
+
parentLocationId?: number;
|
|
643
|
+
/** URL requerida cuando isPhysical = true */
|
|
644
|
+
url?: string;
|
|
645
|
+
/** ApiKey requerida cuando isPhysical = true. Se almacena cifrada (AES-256) en el servidor. */
|
|
646
|
+
apiKey?: string;
|
|
844
647
|
}
|
|
845
|
-
|
|
846
|
-
* Filtros disponibles para buscar módulos.
|
|
847
|
-
* Todos los campos son opcionales.
|
|
848
|
-
*/
|
|
849
|
-
interface ModulesFilter {
|
|
850
|
-
/** Búsqueda general (busca en Module y Description) */
|
|
648
|
+
interface LocationsFilter {
|
|
851
649
|
Search?: string;
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
/** Filtro por estado activo/inactivo */
|
|
650
|
+
LocationName?: string;
|
|
651
|
+
City?: string;
|
|
652
|
+
State?: string;
|
|
653
|
+
Country?: string;
|
|
857
654
|
IsActive?: boolean;
|
|
858
655
|
}
|
|
859
656
|
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
endpointId: number;
|
|
865
|
-
endpoint: string;
|
|
866
|
-
httpMethod: string;
|
|
867
|
-
path: string;
|
|
657
|
+
interface InventoryStatus {
|
|
658
|
+
inventoryStatusId: number;
|
|
659
|
+
inventoryStatus: string;
|
|
660
|
+
key: string;
|
|
868
661
|
description: string;
|
|
869
|
-
requiresAuth: boolean;
|
|
870
|
-
requiresPermission: boolean | null;
|
|
871
|
-
requiresSignature: boolean;
|
|
872
|
-
requiresHeader: boolean;
|
|
873
|
-
allowedOrigins: string;
|
|
874
|
-
isActive: boolean;
|
|
875
|
-
createdAt: string;
|
|
876
|
-
updatedAt: string | null;
|
|
877
|
-
deleted: boolean;
|
|
878
662
|
}
|
|
663
|
+
interface InventoryStatusRequest {
|
|
664
|
+
key?: string;
|
|
665
|
+
inventoryStatus: string;
|
|
666
|
+
description: string;
|
|
667
|
+
}
|
|
668
|
+
interface InventoryStatusesFilter {
|
|
669
|
+
Search?: string;
|
|
670
|
+
InventoryStatus?: string;
|
|
671
|
+
Description?: string;
|
|
672
|
+
}
|
|
673
|
+
|
|
879
674
|
/**
|
|
880
|
-
*
|
|
675
|
+
* Interfaz que representa un empaque del inventario.
|
|
881
676
|
*/
|
|
882
|
-
interface
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
677
|
+
interface Packing {
|
|
678
|
+
packingId: number;
|
|
679
|
+
packing: string;
|
|
680
|
+
key: string;
|
|
681
|
+
length: number;
|
|
682
|
+
width: number;
|
|
683
|
+
height: number;
|
|
684
|
+
weightLimit: number | null;
|
|
685
|
+
cost: number;
|
|
686
|
+
isActive: boolean;
|
|
687
|
+
materialId: number;
|
|
688
|
+
providerId: number;
|
|
893
689
|
}
|
|
894
690
|
/**
|
|
895
|
-
*
|
|
691
|
+
* Request para crear o actualizar un empaque.
|
|
896
692
|
*/
|
|
897
|
-
|
|
693
|
+
interface PackingRequest {
|
|
694
|
+
packing: string;
|
|
695
|
+
key?: string;
|
|
696
|
+
materialId: number;
|
|
697
|
+
length: number;
|
|
698
|
+
width: number;
|
|
699
|
+
height: number;
|
|
700
|
+
weightLimit?: number;
|
|
701
|
+
cost: number;
|
|
702
|
+
providerId: number;
|
|
703
|
+
isActive: boolean;
|
|
704
|
+
}
|
|
898
705
|
/**
|
|
899
|
-
* Filtros disponibles para buscar
|
|
900
|
-
* Todos los campos son opcionales.
|
|
706
|
+
* Filtros disponibles para buscar empaques.
|
|
901
707
|
*/
|
|
902
|
-
interface
|
|
903
|
-
/** Búsqueda general (busca en Endpoint, Path y Description) */
|
|
708
|
+
interface PackingsFilter {
|
|
904
709
|
Search?: string;
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
HttpMethod?: HttpMethodType;
|
|
909
|
-
/** Filtro por módulo (primer segmento del path, búsqueda parcial) */
|
|
910
|
-
Module?: string;
|
|
911
|
-
/** Filtro por path (búsqueda parcial) */
|
|
912
|
-
Path?: string;
|
|
913
|
-
/** Filtro por descripción (búsqueda parcial) */
|
|
914
|
-
Description?: string;
|
|
915
|
-
/** Filtro por endpoints que requieren autenticación */
|
|
916
|
-
RequiresAuth?: boolean;
|
|
917
|
-
/** Filtro por endpoints que requieren validación de permisos */
|
|
918
|
-
RequiresPermission?: boolean;
|
|
919
|
-
/** Filtro por endpoints que requieren firma */
|
|
920
|
-
RequiresSignature?: boolean;
|
|
921
|
-
/** Filtro por endpoints que requieren header específico */
|
|
922
|
-
RequiresHeader?: boolean;
|
|
923
|
-
/** Filtro por estado activo/inactivo */
|
|
710
|
+
Packing?: string;
|
|
711
|
+
MaterialId?: number;
|
|
712
|
+
ProviderId?: number;
|
|
924
713
|
IsActive?: boolean;
|
|
925
714
|
}
|
|
926
715
|
|
|
927
716
|
/**
|
|
928
|
-
* Interfaz que representa
|
|
717
|
+
* Interfaz que representa un material del inventario.
|
|
929
718
|
*/
|
|
930
|
-
interface
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
719
|
+
interface Material {
|
|
720
|
+
materialId: number;
|
|
721
|
+
material: string;
|
|
722
|
+
key: string;
|
|
934
723
|
description: string;
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
updatedAt: string | null;
|
|
938
|
-
deleted: boolean;
|
|
724
|
+
isRecyclable: boolean;
|
|
725
|
+
isFragile: boolean;
|
|
939
726
|
}
|
|
940
727
|
/**
|
|
941
|
-
* Request para crear o actualizar
|
|
728
|
+
* Request para crear o actualizar un material.
|
|
942
729
|
*/
|
|
943
|
-
interface
|
|
944
|
-
|
|
945
|
-
path: string;
|
|
730
|
+
interface MaterialRequest {
|
|
731
|
+
material: string;
|
|
946
732
|
description: string;
|
|
947
|
-
|
|
733
|
+
key?: string;
|
|
734
|
+
isRecyclable: boolean;
|
|
735
|
+
isFragile: boolean;
|
|
948
736
|
}
|
|
949
737
|
/**
|
|
950
|
-
* Filtros disponibles para buscar
|
|
951
|
-
* Todos los campos son opcionales.
|
|
738
|
+
* Filtros disponibles para buscar materiales.
|
|
952
739
|
*/
|
|
953
|
-
interface
|
|
954
|
-
/** Búsqueda general (busca en UIRoute, Path y Description) */
|
|
740
|
+
interface MaterialsFilter {
|
|
955
741
|
Search?: string;
|
|
956
|
-
|
|
957
|
-
UIRoute?: string;
|
|
958
|
-
/** Filtro por path (búsqueda parcial) */
|
|
959
|
-
Path?: string;
|
|
960
|
-
/** Filtro por descripción (búsqueda parcial) */
|
|
742
|
+
Material?: string;
|
|
961
743
|
Description?: string;
|
|
962
|
-
|
|
744
|
+
IsRecyclable?: boolean;
|
|
745
|
+
IsFragile?: boolean;
|
|
746
|
+
}
|
|
747
|
+
|
|
748
|
+
/**
|
|
749
|
+
* Interfaz que representa un proveedor del inventario.
|
|
750
|
+
*/
|
|
751
|
+
interface InventoryProvider {
|
|
752
|
+
providerId: number;
|
|
753
|
+
provider: string;
|
|
754
|
+
contactName: string;
|
|
755
|
+
areaCodeId: number;
|
|
756
|
+
contactNumber: string;
|
|
757
|
+
contactEmail: string;
|
|
758
|
+
isActive: boolean;
|
|
759
|
+
}
|
|
760
|
+
/**
|
|
761
|
+
* Request para crear o actualizar un proveedor.
|
|
762
|
+
*/
|
|
763
|
+
interface InventoryProviderRequest {
|
|
764
|
+
provider: string;
|
|
765
|
+
contactName: string;
|
|
766
|
+
areaCodeId: number;
|
|
767
|
+
contactNumber: string;
|
|
768
|
+
contactEmail: string;
|
|
769
|
+
isActive: boolean;
|
|
770
|
+
}
|
|
771
|
+
/**
|
|
772
|
+
* Filtros disponibles para buscar proveedores.
|
|
773
|
+
*/
|
|
774
|
+
interface InventoryProvidersFilter {
|
|
775
|
+
Search?: string;
|
|
776
|
+
Provider?: string;
|
|
963
777
|
IsActive?: boolean;
|
|
964
778
|
}
|
|
965
779
|
|
|
966
780
|
/**
|
|
967
|
-
* Servicio para gestionar
|
|
781
|
+
* Servicio para gestionar inventario: ubicaciones, estatus, empaques y materiales.
|
|
968
782
|
*/
|
|
969
|
-
declare class
|
|
783
|
+
declare class InventoryService {
|
|
970
784
|
private api;
|
|
971
785
|
private readonly BASE_PATH;
|
|
972
786
|
constructor(api: API);
|
|
973
787
|
/**
|
|
974
|
-
* Obtiene
|
|
788
|
+
* Obtiene todas las ubicaciones con filtros opcionales.
|
|
975
789
|
* @param filter - Filtros opcionales para la búsqueda
|
|
976
790
|
*/
|
|
977
|
-
|
|
791
|
+
getLocations(filter?: LocationsFilter): Promise<ResponseModel<Location[]>>;
|
|
978
792
|
/**
|
|
979
|
-
* Obtiene el modelo de filtros disponibles para
|
|
793
|
+
* Obtiene el modelo de filtros disponibles para ubicaciones.
|
|
980
794
|
*/
|
|
981
|
-
|
|
795
|
+
getLocationFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
|
|
982
796
|
/**
|
|
983
|
-
* Obtiene
|
|
984
|
-
* @param id - ID
|
|
797
|
+
* Obtiene una ubicación por su ID.
|
|
798
|
+
* @param id - ID de la ubicación
|
|
985
799
|
*/
|
|
986
|
-
|
|
800
|
+
getLocationById(id: number): Promise<ResponseModel<Location>>;
|
|
987
801
|
/**
|
|
988
|
-
* Crea
|
|
989
|
-
* @param request - Datos
|
|
802
|
+
* Crea una nueva ubicación.
|
|
803
|
+
* @param request - Datos de la ubicación a crear
|
|
990
804
|
*/
|
|
991
|
-
|
|
805
|
+
createLocation(request: LocationsRequest): Promise<ResponseModel<Location>>;
|
|
992
806
|
/**
|
|
993
|
-
* Actualiza
|
|
994
|
-
* @param id - ID
|
|
995
|
-
* @param request - Nuevos datos
|
|
807
|
+
* Actualiza una ubicación existente.
|
|
808
|
+
* @param id - ID de la ubicación a actualizar
|
|
809
|
+
* @param request - Nuevos datos de la ubicación
|
|
996
810
|
*/
|
|
997
|
-
|
|
811
|
+
updateLocation(id: number, request: LocationsRequest): Promise<ResponseModel<Location>>;
|
|
998
812
|
/**
|
|
999
|
-
* Activa o desactiva
|
|
1000
|
-
* @param id - ID
|
|
813
|
+
* Activa o desactiva una ubicación.
|
|
814
|
+
* @param id - ID de la ubicación
|
|
1001
815
|
*/
|
|
1002
|
-
|
|
816
|
+
toggleLocationStatus(id: number): Promise<ResponseModel<Location>>;
|
|
1003
817
|
/**
|
|
1004
|
-
* Elimina
|
|
1005
|
-
* @param id - ID
|
|
818
|
+
* Elimina una ubicación.
|
|
819
|
+
* @param id - ID de la ubicación a eliminar
|
|
1006
820
|
*/
|
|
1007
|
-
|
|
821
|
+
deleteLocation(id: number): Promise<ResponseModel<void>>;
|
|
1008
822
|
/**
|
|
1009
|
-
* Obtiene todos los
|
|
823
|
+
* Obtiene todos los estatus de inventario con filtros opcionales.
|
|
1010
824
|
* @param filter - Filtros opcionales para la búsqueda
|
|
1011
825
|
*/
|
|
1012
|
-
|
|
826
|
+
getStatuses(filter?: InventoryStatusesFilter): Promise<ResponseModel<InventoryStatus[]>>;
|
|
1013
827
|
/**
|
|
1014
|
-
* Obtiene el modelo de filtros disponibles para
|
|
828
|
+
* Obtiene el modelo de filtros disponibles para estatus de inventario.
|
|
1015
829
|
*/
|
|
1016
|
-
|
|
830
|
+
getStatusFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
|
|
1017
831
|
/**
|
|
1018
|
-
* Obtiene
|
|
832
|
+
* Obtiene un estatus de inventario por su ID.
|
|
833
|
+
* @param id - ID del estatus
|
|
1019
834
|
*/
|
|
1020
|
-
|
|
835
|
+
getStatusById(id: number): Promise<ResponseModel<InventoryStatus>>;
|
|
1021
836
|
/**
|
|
1022
|
-
*
|
|
1023
|
-
* @param
|
|
837
|
+
* Crea un nuevo estatus de inventario.
|
|
838
|
+
* @param request - Datos del estatus a crear
|
|
1024
839
|
*/
|
|
1025
|
-
|
|
840
|
+
createStatus(request: InventoryStatusRequest): Promise<ResponseModel<InventoryStatus>>;
|
|
1026
841
|
/**
|
|
1027
|
-
*
|
|
1028
|
-
* @param
|
|
842
|
+
* Actualiza un estatus de inventario existente.
|
|
843
|
+
* @param id - ID del estatus a actualizar
|
|
844
|
+
* @param request - Nuevos datos del estatus
|
|
1029
845
|
*/
|
|
1030
|
-
|
|
846
|
+
updateStatus(id: number, request: InventoryStatusRequest): Promise<ResponseModel<InventoryStatus>>;
|
|
1031
847
|
/**
|
|
1032
|
-
*
|
|
1033
|
-
* @param id - ID del
|
|
1034
|
-
* @param request - Nuevos datos del endpoint
|
|
848
|
+
* Elimina un estatus de inventario.
|
|
849
|
+
* @param id - ID del estatus a eliminar
|
|
1035
850
|
*/
|
|
1036
|
-
|
|
851
|
+
deleteStatus(id: number): Promise<ResponseModel<void>>;
|
|
1037
852
|
/**
|
|
1038
|
-
*
|
|
1039
|
-
* @param
|
|
853
|
+
* Obtiene todos los empaques con filtros opcionales.
|
|
854
|
+
* @param filter - Filtros opcionales para la búsqueda
|
|
1040
855
|
*/
|
|
1041
|
-
|
|
856
|
+
getPackings(filter?: PackingsFilter): Promise<ResponseModel<Packing[]>>;
|
|
1042
857
|
/**
|
|
1043
|
-
*
|
|
1044
|
-
* @param id - ID del endpoint a eliminar
|
|
858
|
+
* Obtiene el modelo de filtros disponibles para empaques.
|
|
1045
859
|
*/
|
|
1046
|
-
|
|
860
|
+
getPackingFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
|
|
1047
861
|
/**
|
|
1048
|
-
* Obtiene
|
|
1049
|
-
* @param
|
|
862
|
+
* Obtiene un empaque por su ID.
|
|
863
|
+
* @param id - ID del empaque
|
|
1050
864
|
*/
|
|
1051
|
-
|
|
865
|
+
getPackingById(id: number): Promise<ResponseModel<Packing>>;
|
|
1052
866
|
/**
|
|
1053
|
-
*
|
|
867
|
+
* Crea un nuevo empaque.
|
|
868
|
+
* @param request - Datos del empaque a crear
|
|
1054
869
|
*/
|
|
1055
|
-
|
|
870
|
+
createPacking(request: PackingRequest): Promise<ResponseModel<Packing>>;
|
|
1056
871
|
/**
|
|
1057
|
-
*
|
|
1058
|
-
* @param id - ID
|
|
872
|
+
* Actualiza un empaque existente.
|
|
873
|
+
* @param id - ID del empaque a actualizar
|
|
874
|
+
* @param request - Nuevos datos del empaque
|
|
1059
875
|
*/
|
|
1060
|
-
|
|
876
|
+
updatePacking(id: number, request: PackingRequest): Promise<ResponseModel<Packing>>;
|
|
1061
877
|
/**
|
|
1062
|
-
*
|
|
1063
|
-
* @param
|
|
878
|
+
* Activa o desactiva un empaque.
|
|
879
|
+
* @param id - ID del empaque
|
|
1064
880
|
*/
|
|
1065
|
-
|
|
881
|
+
togglePackingStatus(id: number): Promise<ResponseModel<Packing>>;
|
|
1066
882
|
/**
|
|
1067
|
-
*
|
|
1068
|
-
* @param id - ID
|
|
1069
|
-
* @param request - Nuevos datos de la ruta
|
|
883
|
+
* Elimina un empaque.
|
|
884
|
+
* @param id - ID del empaque a eliminar
|
|
1070
885
|
*/
|
|
1071
|
-
|
|
886
|
+
deletePacking(id: number): Promise<ResponseModel<void>>;
|
|
1072
887
|
/**
|
|
1073
|
-
*
|
|
1074
|
-
* @param
|
|
888
|
+
* Obtiene todos los materiales con filtros opcionales.
|
|
889
|
+
* @param filter - Filtros opcionales para la búsqueda
|
|
1075
890
|
*/
|
|
1076
|
-
|
|
891
|
+
getMaterials(filter?: MaterialsFilter): Promise<ResponseModel<Material[]>>;
|
|
1077
892
|
/**
|
|
1078
|
-
*
|
|
1079
|
-
* @param id - ID de la ruta a eliminar
|
|
893
|
+
* Obtiene el modelo de filtros disponibles para materiales.
|
|
1080
894
|
*/
|
|
1081
|
-
|
|
895
|
+
getMaterialFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
|
|
896
|
+
/**
|
|
897
|
+
* Obtiene un material por su ID.
|
|
898
|
+
* @param id - ID del material
|
|
899
|
+
*/
|
|
900
|
+
getMaterialById(id: number): Promise<ResponseModel<Material>>;
|
|
901
|
+
/**
|
|
902
|
+
* Crea un nuevo material.
|
|
903
|
+
* @param request - Datos del material a crear
|
|
904
|
+
*/
|
|
905
|
+
createMaterial(request: MaterialRequest): Promise<ResponseModel<Material>>;
|
|
906
|
+
/**
|
|
907
|
+
* Actualiza un material existente.
|
|
908
|
+
* @param id - ID del material a actualizar
|
|
909
|
+
* @param request - Nuevos datos del material
|
|
910
|
+
*/
|
|
911
|
+
updateMaterial(id: number, request: MaterialRequest): Promise<ResponseModel<Material>>;
|
|
912
|
+
/**
|
|
913
|
+
* Elimina un material.
|
|
914
|
+
* @param id - ID del material a eliminar
|
|
915
|
+
*/
|
|
916
|
+
deleteMaterial(id: number): Promise<ResponseModel<void>>;
|
|
917
|
+
/**
|
|
918
|
+
* Obtiene todos los proveedores con filtros opcionales.
|
|
919
|
+
* @param filter - Filtros opcionales para la búsqueda
|
|
920
|
+
*/
|
|
921
|
+
getProviders(filter?: InventoryProvidersFilter): Promise<ResponseModel<InventoryProvider[]>>;
|
|
922
|
+
/**
|
|
923
|
+
* Obtiene el modelo de filtros disponibles para proveedores.
|
|
924
|
+
*/
|
|
925
|
+
getProviderFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
|
|
926
|
+
/**
|
|
927
|
+
* Obtiene un proveedor por su ID.
|
|
928
|
+
* @param id - ID del proveedor
|
|
929
|
+
*/
|
|
930
|
+
getProviderById(id: number): Promise<ResponseModel<InventoryProvider>>;
|
|
931
|
+
/**
|
|
932
|
+
* Crea un nuevo proveedor.
|
|
933
|
+
* @param request - Datos del proveedor a crear
|
|
934
|
+
*/
|
|
935
|
+
createProvider(request: InventoryProviderRequest): Promise<ResponseModel<InventoryProvider>>;
|
|
936
|
+
/**
|
|
937
|
+
* Actualiza un proveedor existente.
|
|
938
|
+
* @param id - ID del proveedor a actualizar
|
|
939
|
+
* @param request - Nuevos datos del proveedor
|
|
940
|
+
*/
|
|
941
|
+
updateProvider(id: number, request: InventoryProviderRequest): Promise<ResponseModel<InventoryProvider>>;
|
|
942
|
+
/**
|
|
943
|
+
* Activa o desactiva un proveedor.
|
|
944
|
+
* @param id - ID del proveedor
|
|
945
|
+
*/
|
|
946
|
+
toggleProviderStatus(id: number): Promise<ResponseModel<InventoryProvider>>;
|
|
947
|
+
/**
|
|
948
|
+
* Elimina un proveedor.
|
|
949
|
+
* @param id - ID del proveedor a eliminar
|
|
950
|
+
*/
|
|
951
|
+
deleteProvider(id: number): Promise<ResponseModel<void>>;
|
|
1082
952
|
}
|
|
1083
953
|
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
country: string;
|
|
1092
|
-
postalCode: string;
|
|
1093
|
-
contactName: string;
|
|
1094
|
-
areaCodeId: number;
|
|
1095
|
-
contactPhone: string;
|
|
1096
|
-
contactEmail: string;
|
|
1097
|
-
url: string;
|
|
1098
|
-
apiKey: string;
|
|
1099
|
-
parentLocationId: number | null;
|
|
1100
|
-
isPhysical: boolean;
|
|
954
|
+
/**
|
|
955
|
+
* Interfaz que representa un módulo del sistema.
|
|
956
|
+
*/
|
|
957
|
+
interface Module {
|
|
958
|
+
moduleId: number;
|
|
959
|
+
module: string;
|
|
960
|
+
description: string;
|
|
1101
961
|
isActive: boolean;
|
|
1102
962
|
createdAt: string;
|
|
1103
963
|
updatedAt: string | null;
|
|
964
|
+
deleted: boolean;
|
|
1104
965
|
}
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
state: string;
|
|
1111
|
-
country: string;
|
|
1112
|
-
postalCode: string;
|
|
1113
|
-
contactName: string;
|
|
1114
|
-
areaCodeId: number;
|
|
1115
|
-
contactPhone: string;
|
|
1116
|
-
contactEmail: string;
|
|
1117
|
-
isActive?: boolean;
|
|
1118
|
-
isPhysical: boolean;
|
|
1119
|
-
parentLocationId?: number;
|
|
1120
|
-
/** URL requerida cuando isPhysical = true */
|
|
1121
|
-
url?: string;
|
|
1122
|
-
/** ApiKey requerida cuando isPhysical = true. Se almacena cifrada (AES-256) en el servidor. */
|
|
1123
|
-
apiKey?: string;
|
|
1124
|
-
}
|
|
1125
|
-
interface LocationsFilter {
|
|
1126
|
-
Search?: string;
|
|
1127
|
-
LocationName?: string;
|
|
1128
|
-
City?: string;
|
|
1129
|
-
State?: string;
|
|
1130
|
-
Country?: string;
|
|
1131
|
-
IsActive?: boolean;
|
|
1132
|
-
}
|
|
1133
|
-
|
|
1134
|
-
interface InventoryStatus {
|
|
1135
|
-
inventoryStatusId: number;
|
|
1136
|
-
inventoryStatus: string;
|
|
1137
|
-
key: string;
|
|
1138
|
-
description: string;
|
|
1139
|
-
}
|
|
1140
|
-
interface InventoryStatusRequest {
|
|
1141
|
-
key?: string;
|
|
1142
|
-
inventoryStatus: string;
|
|
966
|
+
/**
|
|
967
|
+
* Request para crear o actualizar un módulo.
|
|
968
|
+
*/
|
|
969
|
+
interface ModuleRequest {
|
|
970
|
+
module: string;
|
|
1143
971
|
description: string;
|
|
972
|
+
isActive?: boolean;
|
|
1144
973
|
}
|
|
1145
|
-
|
|
974
|
+
/**
|
|
975
|
+
* Filtros disponibles para buscar módulos.
|
|
976
|
+
* Todos los campos son opcionales.
|
|
977
|
+
*/
|
|
978
|
+
interface ModulesFilter {
|
|
979
|
+
/** Búsqueda general (busca en Module y Description) */
|
|
1146
980
|
Search?: string;
|
|
1147
|
-
|
|
981
|
+
/** Filtro por nombre del módulo (búsqueda parcial) */
|
|
982
|
+
Module?: string;
|
|
983
|
+
/** Filtro por descripción (búsqueda parcial) */
|
|
1148
984
|
Description?: string;
|
|
985
|
+
/** Filtro por estado activo/inactivo */
|
|
986
|
+
IsActive?: boolean;
|
|
1149
987
|
}
|
|
1150
988
|
|
|
1151
989
|
/**
|
|
1152
|
-
* Interfaz que representa un
|
|
990
|
+
* Interfaz que representa un endpoint del sistema.
|
|
1153
991
|
*/
|
|
1154
|
-
interface
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
992
|
+
interface Endpoint {
|
|
993
|
+
endpointId: number;
|
|
994
|
+
endpoint: string;
|
|
995
|
+
httpMethod: string;
|
|
996
|
+
path: string;
|
|
997
|
+
description: string;
|
|
998
|
+
requiresAuth: boolean;
|
|
999
|
+
requiresPermission: boolean | null;
|
|
1000
|
+
requiresSignature: boolean;
|
|
1001
|
+
requiresHeader: boolean;
|
|
1002
|
+
allowedOrigins: string;
|
|
1165
1003
|
isActive: boolean;
|
|
1004
|
+
createdAt: string;
|
|
1005
|
+
updatedAt: string | null;
|
|
1006
|
+
deleted: boolean;
|
|
1166
1007
|
}
|
|
1167
1008
|
/**
|
|
1168
|
-
* Request para crear o actualizar un
|
|
1009
|
+
* Request para crear o actualizar un endpoint.
|
|
1169
1010
|
*/
|
|
1170
|
-
interface
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
isActive
|
|
1011
|
+
interface EndpointRequest {
|
|
1012
|
+
endpoint: string;
|
|
1013
|
+
httpMethod: string;
|
|
1014
|
+
path: string;
|
|
1015
|
+
description: string;
|
|
1016
|
+
requiresAuth?: boolean;
|
|
1017
|
+
requiresPermission?: boolean;
|
|
1018
|
+
requiresSignature?: boolean;
|
|
1019
|
+
requiresHeader?: boolean;
|
|
1020
|
+
allowedOrigins?: string[];
|
|
1021
|
+
isActive?: boolean;
|
|
1181
1022
|
}
|
|
1182
1023
|
/**
|
|
1183
|
-
*
|
|
1024
|
+
* Métodos HTTP disponibles para endpoints.
|
|
1184
1025
|
*/
|
|
1185
|
-
|
|
1026
|
+
type HttpMethodType = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
|
|
1027
|
+
/**
|
|
1028
|
+
* Filtros disponibles para buscar endpoints.
|
|
1029
|
+
* Todos los campos son opcionales.
|
|
1030
|
+
*/
|
|
1031
|
+
interface EndpointsFilter {
|
|
1032
|
+
/** Búsqueda general (busca en Endpoint, Path y Description) */
|
|
1186
1033
|
Search?: string;
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1034
|
+
/** Filtro por nombre del endpoint (búsqueda parcial) */
|
|
1035
|
+
Endpoint?: string;
|
|
1036
|
+
/** Filtro por método HTTP (GET, POST, PUT, DELETE, PATCH) */
|
|
1037
|
+
HttpMethod?: HttpMethodType;
|
|
1038
|
+
/** Filtro por módulo (primer segmento del path, búsqueda parcial) */
|
|
1039
|
+
Module?: string;
|
|
1040
|
+
/** Filtro por path (búsqueda parcial) */
|
|
1041
|
+
Path?: string;
|
|
1042
|
+
/** Filtro por descripción (búsqueda parcial) */
|
|
1043
|
+
Description?: string;
|
|
1044
|
+
/** Filtro por endpoints que requieren autenticación */
|
|
1045
|
+
RequiresAuth?: boolean;
|
|
1046
|
+
/** Filtro por endpoints que requieren validación de permisos */
|
|
1047
|
+
RequiresPermission?: boolean;
|
|
1048
|
+
/** Filtro por endpoints que requieren firma */
|
|
1049
|
+
RequiresSignature?: boolean;
|
|
1050
|
+
/** Filtro por endpoints que requieren header específico */
|
|
1051
|
+
RequiresHeader?: boolean;
|
|
1052
|
+
/** Filtro por estado activo/inactivo */
|
|
1190
1053
|
IsActive?: boolean;
|
|
1191
1054
|
}
|
|
1192
1055
|
|
|
1193
1056
|
/**
|
|
1194
|
-
* Interfaz que representa
|
|
1057
|
+
* Interfaz que representa una ruta de UI del sistema.
|
|
1195
1058
|
*/
|
|
1196
|
-
interface
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
description: string;
|
|
1201
|
-
isRecyclable: boolean;
|
|
1202
|
-
isFragile: boolean;
|
|
1203
|
-
}
|
|
1204
|
-
/**
|
|
1205
|
-
* Request para crear o actualizar un material.
|
|
1206
|
-
*/
|
|
1207
|
-
interface MaterialRequest {
|
|
1208
|
-
material: string;
|
|
1059
|
+
interface UIRoute {
|
|
1060
|
+
uiRouteId: number;
|
|
1061
|
+
uiRoute: string;
|
|
1062
|
+
path: string;
|
|
1209
1063
|
description: string;
|
|
1210
|
-
key?: string;
|
|
1211
|
-
isRecyclable: boolean;
|
|
1212
|
-
isFragile: boolean;
|
|
1213
|
-
}
|
|
1214
|
-
/**
|
|
1215
|
-
* Filtros disponibles para buscar materiales.
|
|
1216
|
-
*/
|
|
1217
|
-
interface MaterialsFilter {
|
|
1218
|
-
Search?: string;
|
|
1219
|
-
Material?: string;
|
|
1220
|
-
Description?: string;
|
|
1221
|
-
IsRecyclable?: boolean;
|
|
1222
|
-
IsFragile?: boolean;
|
|
1223
|
-
}
|
|
1224
|
-
|
|
1225
|
-
/**
|
|
1226
|
-
* Interfaz que representa un proveedor del inventario.
|
|
1227
|
-
*/
|
|
1228
|
-
interface InventoryProvider {
|
|
1229
|
-
providerId: number;
|
|
1230
|
-
provider: string;
|
|
1231
|
-
contactName: string;
|
|
1232
|
-
areaCodeId: number;
|
|
1233
|
-
contactNumber: string;
|
|
1234
|
-
contactEmail: string;
|
|
1235
1064
|
isActive: boolean;
|
|
1236
|
-
createdAt: string
|
|
1065
|
+
createdAt: string;
|
|
1237
1066
|
updatedAt: string | null;
|
|
1067
|
+
deleted: boolean;
|
|
1238
1068
|
}
|
|
1239
1069
|
/**
|
|
1240
|
-
* Request para crear o actualizar
|
|
1070
|
+
* Request para crear o actualizar una ruta de UI.
|
|
1241
1071
|
*/
|
|
1242
|
-
interface
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
contactEmail: string;
|
|
1248
|
-
isActive: boolean;
|
|
1072
|
+
interface UIRouteRequest {
|
|
1073
|
+
uiRoute: string;
|
|
1074
|
+
path: string;
|
|
1075
|
+
description: string;
|
|
1076
|
+
isActive?: boolean;
|
|
1249
1077
|
}
|
|
1250
1078
|
/**
|
|
1251
|
-
* Filtros disponibles para buscar
|
|
1079
|
+
* Filtros disponibles para buscar rutas de UI.
|
|
1080
|
+
* Todos los campos son opcionales.
|
|
1252
1081
|
*/
|
|
1253
|
-
interface
|
|
1082
|
+
interface UIRoutesFilter {
|
|
1083
|
+
/** Búsqueda general (busca en UIRoute, Path y Description) */
|
|
1254
1084
|
Search?: string;
|
|
1255
|
-
|
|
1085
|
+
/** Filtro por nombre de la ruta (búsqueda parcial) */
|
|
1086
|
+
UIRoute?: string;
|
|
1087
|
+
/** Filtro por path (búsqueda parcial) */
|
|
1088
|
+
Path?: string;
|
|
1089
|
+
/** Filtro por descripción (búsqueda parcial) */
|
|
1090
|
+
Description?: string;
|
|
1091
|
+
/** Filtro por estado activo/inactivo */
|
|
1256
1092
|
IsActive?: boolean;
|
|
1257
1093
|
}
|
|
1258
1094
|
|
|
1259
1095
|
/**
|
|
1260
|
-
* Servicio para gestionar
|
|
1096
|
+
* Servicio para gestionar las configuraciones del sistema.
|
|
1261
1097
|
*/
|
|
1262
|
-
declare class
|
|
1098
|
+
declare class SystemService {
|
|
1263
1099
|
private api;
|
|
1264
1100
|
private readonly BASE_PATH;
|
|
1265
1101
|
constructor(api: API);
|
|
1266
1102
|
/**
|
|
1267
|
-
* Obtiene
|
|
1103
|
+
* Obtiene todos los módulos con filtros opcionales.
|
|
1268
1104
|
* @param filter - Filtros opcionales para la búsqueda
|
|
1269
1105
|
*/
|
|
1270
|
-
|
|
1271
|
-
/**
|
|
1272
|
-
* Obtiene el modelo de filtros disponibles para ubicaciones.
|
|
1273
|
-
*/
|
|
1274
|
-
getLocationFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
|
|
1275
|
-
/**
|
|
1276
|
-
* Obtiene una ubicación por su ID.
|
|
1277
|
-
* @param id - ID de la ubicación
|
|
1278
|
-
*/
|
|
1279
|
-
getLocationById(id: number): Promise<ResponseModel<Location>>;
|
|
1280
|
-
/**
|
|
1281
|
-
* Crea una nueva ubicación.
|
|
1282
|
-
* @param request - Datos de la ubicación a crear
|
|
1283
|
-
*/
|
|
1284
|
-
createLocation(request: LocationsRequest): Promise<ResponseModel<Location>>;
|
|
1285
|
-
/**
|
|
1286
|
-
* Actualiza una ubicación existente.
|
|
1287
|
-
* @param id - ID de la ubicación a actualizar
|
|
1288
|
-
* @param request - Nuevos datos de la ubicación
|
|
1289
|
-
*/
|
|
1290
|
-
updateLocation(id: number, request: LocationsRequest): Promise<ResponseModel<Location>>;
|
|
1291
|
-
/**
|
|
1292
|
-
* Activa o desactiva una ubicación.
|
|
1293
|
-
* @param id - ID de la ubicación
|
|
1294
|
-
*/
|
|
1295
|
-
toggleLocationStatus(id: number): Promise<ResponseModel<Location>>;
|
|
1296
|
-
/**
|
|
1297
|
-
* Elimina una ubicación.
|
|
1298
|
-
* @param id - ID de la ubicación a eliminar
|
|
1299
|
-
*/
|
|
1300
|
-
deleteLocation(id: number): Promise<ResponseModel<void>>;
|
|
1106
|
+
getModules(filter?: ModulesFilter): Promise<ResponseModel<Module[]>>;
|
|
1301
1107
|
/**
|
|
1302
|
-
* Obtiene
|
|
1303
|
-
* @param filter - Filtros opcionales para la búsqueda
|
|
1108
|
+
* Obtiene el modelo de filtros disponibles para módulos.
|
|
1304
1109
|
*/
|
|
1305
|
-
|
|
1110
|
+
getModulesFilters(): Promise<ResponseModel<FilterGroupsModel>>;
|
|
1306
1111
|
/**
|
|
1307
|
-
* Obtiene
|
|
1112
|
+
* Obtiene un módulo por su ID.
|
|
1113
|
+
* @param id - ID del módulo
|
|
1308
1114
|
*/
|
|
1309
|
-
|
|
1115
|
+
getModuleById(id: number): Promise<ResponseModel<Module>>;
|
|
1310
1116
|
/**
|
|
1311
|
-
*
|
|
1312
|
-
* @param
|
|
1117
|
+
* Crea un nuevo módulo.
|
|
1118
|
+
* @param request - Datos del módulo a crear
|
|
1313
1119
|
*/
|
|
1314
|
-
|
|
1120
|
+
createModule(request: ModuleRequest): Promise<ResponseModel<Module>>;
|
|
1315
1121
|
/**
|
|
1316
|
-
*
|
|
1317
|
-
* @param
|
|
1122
|
+
* Actualiza un módulo existente.
|
|
1123
|
+
* @param id - ID del módulo a actualizar
|
|
1124
|
+
* @param request - Nuevos datos del módulo
|
|
1318
1125
|
*/
|
|
1319
|
-
|
|
1126
|
+
updateModule(id: number, request: ModuleRequest): Promise<ResponseModel<Module>>;
|
|
1320
1127
|
/**
|
|
1321
|
-
*
|
|
1322
|
-
* @param id - ID del
|
|
1323
|
-
* @param request - Nuevos datos del estatus
|
|
1128
|
+
* Activa o desactiva un módulo.
|
|
1129
|
+
* @param id - ID del módulo
|
|
1324
1130
|
*/
|
|
1325
|
-
|
|
1131
|
+
toggleModuleStatus(id: number): Promise<ResponseModel<Module>>;
|
|
1326
1132
|
/**
|
|
1327
|
-
* Elimina un
|
|
1328
|
-
* @param id - ID del
|
|
1133
|
+
* Elimina un módulo.
|
|
1134
|
+
* @param id - ID del módulo a eliminar
|
|
1329
1135
|
*/
|
|
1330
|
-
|
|
1136
|
+
deleteModule(id: number): Promise<ResponseModel<void>>;
|
|
1331
1137
|
/**
|
|
1332
|
-
* Obtiene todos los
|
|
1138
|
+
* Obtiene todos los endpoints con filtros opcionales.
|
|
1333
1139
|
* @param filter - Filtros opcionales para la búsqueda
|
|
1334
1140
|
*/
|
|
1335
|
-
|
|
1336
|
-
/**
|
|
1337
|
-
* Obtiene el modelo de filtros disponibles para empaques.
|
|
1338
|
-
*/
|
|
1339
|
-
getPackingFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
|
|
1340
|
-
/**
|
|
1341
|
-
* Obtiene un empaque por su ID.
|
|
1342
|
-
* @param id - ID del empaque
|
|
1343
|
-
*/
|
|
1344
|
-
getPackingById(id: number): Promise<ResponseModel<Packing>>;
|
|
1345
|
-
/**
|
|
1346
|
-
* Crea un nuevo empaque.
|
|
1347
|
-
* @param request - Datos del empaque a crear
|
|
1348
|
-
*/
|
|
1349
|
-
createPacking(request: PackingRequest): Promise<ResponseModel<Packing>>;
|
|
1350
|
-
/**
|
|
1351
|
-
* Actualiza un empaque existente.
|
|
1352
|
-
* @param id - ID del empaque a actualizar
|
|
1353
|
-
* @param request - Nuevos datos del empaque
|
|
1354
|
-
*/
|
|
1355
|
-
updatePacking(id: number, request: PackingRequest): Promise<ResponseModel<Packing>>;
|
|
1356
|
-
/**
|
|
1357
|
-
* Activa o desactiva un empaque.
|
|
1358
|
-
* @param id - ID del empaque
|
|
1359
|
-
*/
|
|
1360
|
-
togglePackingStatus(id: number): Promise<ResponseModel<Packing>>;
|
|
1141
|
+
getEndpoints(filter?: EndpointsFilter): Promise<ResponseModel<Endpoint[]>>;
|
|
1361
1142
|
/**
|
|
1362
|
-
*
|
|
1363
|
-
* @param id - ID del empaque a eliminar
|
|
1143
|
+
* Obtiene el modelo de filtros disponibles para endpoints.
|
|
1364
1144
|
*/
|
|
1365
|
-
|
|
1145
|
+
getEndpointsFilters(): Promise<ResponseModel<FilterGroupsModel>>;
|
|
1366
1146
|
/**
|
|
1367
|
-
* Obtiene
|
|
1368
|
-
* @param filter - Filtros opcionales para la búsqueda
|
|
1147
|
+
* Obtiene los módulos disponibles (valores únicos del primer segmento del path).
|
|
1369
1148
|
*/
|
|
1370
|
-
|
|
1149
|
+
getEndpointModules(): Promise<ResponseModel<string[]>>;
|
|
1371
1150
|
/**
|
|
1372
|
-
* Obtiene
|
|
1151
|
+
* Obtiene un endpoint por su ID.
|
|
1152
|
+
* @param id - ID del endpoint
|
|
1373
1153
|
*/
|
|
1374
|
-
|
|
1154
|
+
getEndpointById(id: number): Promise<ResponseModel<Endpoint>>;
|
|
1375
1155
|
/**
|
|
1376
|
-
*
|
|
1377
|
-
* @param
|
|
1156
|
+
* Crea un nuevo endpoint.
|
|
1157
|
+
* @param request - Datos del endpoint a crear
|
|
1378
1158
|
*/
|
|
1379
|
-
|
|
1159
|
+
createEndpoint(request: EndpointRequest): Promise<ResponseModel<Endpoint>>;
|
|
1380
1160
|
/**
|
|
1381
|
-
*
|
|
1382
|
-
* @param
|
|
1161
|
+
* Actualiza un endpoint existente.
|
|
1162
|
+
* @param id - ID del endpoint a actualizar
|
|
1163
|
+
* @param request - Nuevos datos del endpoint
|
|
1383
1164
|
*/
|
|
1384
|
-
|
|
1165
|
+
updateEndpoint(id: number, request: EndpointRequest): Promise<ResponseModel<Endpoint>>;
|
|
1385
1166
|
/**
|
|
1386
|
-
*
|
|
1387
|
-
* @param id - ID del
|
|
1388
|
-
* @param request - Nuevos datos del material
|
|
1167
|
+
* Activa o desactiva un endpoint.
|
|
1168
|
+
* @param id - ID del endpoint
|
|
1389
1169
|
*/
|
|
1390
|
-
|
|
1170
|
+
toggleEndpointStatus(id: number): Promise<ResponseModel<Endpoint>>;
|
|
1391
1171
|
/**
|
|
1392
|
-
* Elimina un
|
|
1393
|
-
* @param id - ID del
|
|
1172
|
+
* Elimina un endpoint.
|
|
1173
|
+
* @param id - ID del endpoint a eliminar
|
|
1394
1174
|
*/
|
|
1395
|
-
|
|
1175
|
+
deleteEndpoint(id: number): Promise<ResponseModel<void>>;
|
|
1396
1176
|
/**
|
|
1397
|
-
* Obtiene
|
|
1177
|
+
* Obtiene todas las rutas de UI con filtros opcionales.
|
|
1398
1178
|
* @param filter - Filtros opcionales para la búsqueda
|
|
1399
1179
|
*/
|
|
1400
|
-
|
|
1180
|
+
getUIRoutes(filter?: UIRoutesFilter): Promise<ResponseModel<UIRoute[]>>;
|
|
1401
1181
|
/**
|
|
1402
|
-
* Obtiene el modelo de filtros disponibles para
|
|
1182
|
+
* Obtiene el modelo de filtros disponibles para rutas de UI.
|
|
1403
1183
|
*/
|
|
1404
|
-
|
|
1184
|
+
getUIRoutesFilters(): Promise<ResponseModel<FilterGroupsModel>>;
|
|
1405
1185
|
/**
|
|
1406
|
-
* Obtiene
|
|
1407
|
-
* @param id - ID
|
|
1186
|
+
* Obtiene una ruta de UI por su ID.
|
|
1187
|
+
* @param id - ID de la ruta
|
|
1408
1188
|
*/
|
|
1409
|
-
|
|
1189
|
+
getUIRouteById(id: number): Promise<ResponseModel<UIRoute>>;
|
|
1410
1190
|
/**
|
|
1411
|
-
* Crea
|
|
1412
|
-
* @param request - Datos
|
|
1191
|
+
* Crea una nueva ruta de UI.
|
|
1192
|
+
* @param request - Datos de la ruta a crear
|
|
1413
1193
|
*/
|
|
1414
|
-
|
|
1194
|
+
createUIRoute(request: UIRouteRequest): Promise<ResponseModel<UIRoute>>;
|
|
1415
1195
|
/**
|
|
1416
|
-
* Actualiza
|
|
1417
|
-
* @param id - ID
|
|
1418
|
-
* @param request - Nuevos datos
|
|
1196
|
+
* Actualiza una ruta de UI existente.
|
|
1197
|
+
* @param id - ID de la ruta a actualizar
|
|
1198
|
+
* @param request - Nuevos datos de la ruta
|
|
1419
1199
|
*/
|
|
1420
|
-
|
|
1200
|
+
updateUIRoute(id: number, request: UIRouteRequest): Promise<ResponseModel<UIRoute>>;
|
|
1421
1201
|
/**
|
|
1422
|
-
* Activa o desactiva
|
|
1423
|
-
* @param id - ID
|
|
1202
|
+
* Activa o desactiva una ruta de UI.
|
|
1203
|
+
* @param id - ID de la ruta
|
|
1424
1204
|
*/
|
|
1425
|
-
|
|
1205
|
+
toggleUIRouteStatus(id: number): Promise<ResponseModel<UIRoute>>;
|
|
1426
1206
|
/**
|
|
1427
|
-
* Elimina
|
|
1428
|
-
* @param id - ID
|
|
1207
|
+
* Elimina una ruta de UI.
|
|
1208
|
+
* @param id - ID de la ruta a eliminar
|
|
1429
1209
|
*/
|
|
1430
|
-
|
|
1210
|
+
deleteUIRoute(id: number): Promise<ResponseModel<void>>;
|
|
1431
1211
|
}
|
|
1432
1212
|
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1213
|
+
interface AdminUser {
|
|
1214
|
+
userId: number;
|
|
1215
|
+
username: string;
|
|
1216
|
+
firstName: string;
|
|
1217
|
+
lastName: string;
|
|
1218
|
+
email: string;
|
|
1219
|
+
phone: string;
|
|
1220
|
+
areaCodeId: number | null;
|
|
1221
|
+
birthday: string | null;
|
|
1222
|
+
referrerUserId: number | null;
|
|
1223
|
+
userReferralCode: string;
|
|
1224
|
+
genderId: number | null;
|
|
1225
|
+
roleId: number | null;
|
|
1226
|
+
userTypeId: number | null;
|
|
1227
|
+
isActive: boolean;
|
|
1228
|
+
createdAt: string;
|
|
1444
1229
|
updatedAt: string | null;
|
|
1445
|
-
deleted: boolean
|
|
1446
|
-
}
|
|
1447
|
-
/**
|
|
1448
|
-
* Request para crear o actualizar una imagen de producto.
|
|
1449
|
-
*/
|
|
1450
|
-
interface ProductImageRequest {
|
|
1451
|
-
productImage: string;
|
|
1452
|
-
mediaTypeId: number;
|
|
1453
|
-
productId?: number;
|
|
1454
|
-
mediaRoleId?: number;
|
|
1455
|
-
imageURL: string;
|
|
1456
|
-
}
|
|
1457
|
-
/**
|
|
1458
|
-
* Filtros disponibles para buscar imágenes de producto.
|
|
1459
|
-
*/
|
|
1460
|
-
interface ProductImagesFilter {
|
|
1461
|
-
Search?: string;
|
|
1462
|
-
ProductImage?: string;
|
|
1463
|
-
MediaTypeId?: number;
|
|
1464
|
-
ProductId?: number;
|
|
1465
|
-
MediaRoleId?: number;
|
|
1230
|
+
deleted: boolean;
|
|
1466
1231
|
}
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1232
|
+
interface AdminAuthentication {
|
|
1233
|
+
userAuthenticationId: number;
|
|
1234
|
+
userId: number;
|
|
1235
|
+
securityLevel: number;
|
|
1236
|
+
clientId: string;
|
|
1237
|
+
isTwoFactorEnabled: boolean;
|
|
1238
|
+
failedLoginAttempts: number;
|
|
1239
|
+
lastLogin: string | null;
|
|
1240
|
+
isActive: boolean;
|
|
1241
|
+
isLocked: boolean;
|
|
1242
|
+
emailVerified: boolean;
|
|
1243
|
+
phoneVerified: boolean;
|
|
1244
|
+
mustChangePassword: boolean;
|
|
1245
|
+
passwordLastChanged: string | null;
|
|
1246
|
+
passwordExpiresAt: string | null;
|
|
1247
|
+
lastLoginIP: string | null;
|
|
1248
|
+
lastLoginDevice: string | null;
|
|
1249
|
+
lastActivityAt: string | null;
|
|
1250
|
+
createdAt: string;
|
|
1478
1251
|
updatedAt: string | null;
|
|
1479
|
-
deleted: boolean | null;
|
|
1480
|
-
}
|
|
1481
|
-
/**
|
|
1482
|
-
* Request para crear o actualizar un bullet de producto.
|
|
1483
|
-
*/
|
|
1484
|
-
interface ProductBulletRequest {
|
|
1485
|
-
productId: number;
|
|
1486
|
-
bulletOrder: number;
|
|
1487
|
-
title: string;
|
|
1488
|
-
text: string;
|
|
1489
|
-
}
|
|
1490
|
-
/**
|
|
1491
|
-
* Filtros disponibles para buscar bullets de producto.
|
|
1492
|
-
*/
|
|
1493
|
-
interface ProductBulletsFilter {
|
|
1494
|
-
Search?: string;
|
|
1495
|
-
ProductId?: number;
|
|
1496
|
-
Title?: string;
|
|
1497
|
-
Text?: string;
|
|
1498
1252
|
}
|
|
1499
1253
|
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
|
|
1509
|
-
|
|
1510
|
-
|
|
1511
|
-
/**
|
|
1512
|
-
* Request para crear o actualizar un keyword de producto.
|
|
1513
|
-
*/
|
|
1514
|
-
interface ProductKeywordRequest {
|
|
1515
|
-
productId: number;
|
|
1516
|
-
keyword: string;
|
|
1517
|
-
}
|
|
1518
|
-
/**
|
|
1519
|
-
* Filtros disponibles para buscar keywords de producto.
|
|
1520
|
-
*/
|
|
1521
|
-
interface ProductKeywordsFilter {
|
|
1522
|
-
Search?: string;
|
|
1523
|
-
ProductId?: number;
|
|
1524
|
-
Keyword?: string;
|
|
1254
|
+
interface UserAdminRequest {
|
|
1255
|
+
username: string;
|
|
1256
|
+
firstName: string;
|
|
1257
|
+
lastName: string;
|
|
1258
|
+
email: string;
|
|
1259
|
+
phone: string;
|
|
1260
|
+
areaCodeId: number;
|
|
1261
|
+
birthday: string;
|
|
1262
|
+
genderId: number;
|
|
1263
|
+
roleId: number;
|
|
1264
|
+
userTypeId: number;
|
|
1525
1265
|
}
|
|
1526
1266
|
|
|
1527
|
-
|
|
1528
|
-
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
|
|
1532
|
-
productId: number;
|
|
1533
|
-
priceTypeId: number;
|
|
1534
|
-
value: number;
|
|
1535
|
-
currency: string;
|
|
1536
|
-
eventId: number | null;
|
|
1537
|
-
validFrom: string | null;
|
|
1538
|
-
validTo: string | null;
|
|
1539
|
-
createdAt: string | null;
|
|
1540
|
-
updatedAt: string | null;
|
|
1541
|
-
deleted: boolean | null;
|
|
1542
|
-
}
|
|
1543
|
-
/**
|
|
1544
|
-
* Request para crear o actualizar un precio de producto.
|
|
1545
|
-
*/
|
|
1546
|
-
interface ProductPriceRequest {
|
|
1547
|
-
productId: number;
|
|
1548
|
-
priceTypeId: number;
|
|
1549
|
-
value: number;
|
|
1550
|
-
currency: string;
|
|
1551
|
-
eventId?: number;
|
|
1552
|
-
validFrom?: string;
|
|
1553
|
-
validTo?: string;
|
|
1554
|
-
}
|
|
1555
|
-
/**
|
|
1556
|
-
* Filtros disponibles para buscar precios de producto.
|
|
1557
|
-
*/
|
|
1558
|
-
interface ProductPricesFilter {
|
|
1559
|
-
Search?: string;
|
|
1560
|
-
ProductId?: number;
|
|
1561
|
-
PriceTypeId?: number;
|
|
1562
|
-
Currency?: string;
|
|
1563
|
-
EventId?: number;
|
|
1267
|
+
interface UserAuthAdminRequest {
|
|
1268
|
+
userId: number;
|
|
1269
|
+
securityLevel: number;
|
|
1270
|
+
clientId: string;
|
|
1271
|
+
requireEmailConfirmation?: boolean;
|
|
1564
1272
|
}
|
|
1565
1273
|
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
*/
|
|
1569
|
-
interface BlankProduct {
|
|
1570
|
-
blankProductId: number;
|
|
1571
|
-
sku: string;
|
|
1572
|
-
providerId: number | null;
|
|
1573
|
-
materialId: number | null;
|
|
1574
|
-
color: string;
|
|
1575
|
-
sizeId: number | null;
|
|
1576
|
-
price: number | null;
|
|
1577
|
-
createdAt: string | null;
|
|
1578
|
-
updatedAt: string | null;
|
|
1579
|
-
deleted: boolean | null;
|
|
1580
|
-
}
|
|
1581
|
-
/**
|
|
1582
|
-
* Request para crear o actualizar un producto en blanco.
|
|
1583
|
-
*/
|
|
1584
|
-
interface BlankProductRequest {
|
|
1585
|
-
sku: string;
|
|
1586
|
-
providerId?: number;
|
|
1587
|
-
materialId?: number;
|
|
1588
|
-
color: string;
|
|
1589
|
-
sizeId?: number;
|
|
1590
|
-
price?: number;
|
|
1591
|
-
}
|
|
1592
|
-
/**
|
|
1593
|
-
* Filtros disponibles para buscar productos en blanco.
|
|
1594
|
-
*/
|
|
1595
|
-
interface BlankProductsFilter {
|
|
1596
|
-
Search?: string;
|
|
1597
|
-
SKU?: string;
|
|
1598
|
-
ProviderId?: number;
|
|
1599
|
-
MaterialId?: number;
|
|
1600
|
-
Color?: string;
|
|
1601
|
-
SizeId?: number;
|
|
1274
|
+
interface ChangePasswordAdminRequest {
|
|
1275
|
+
newPassword: string;
|
|
1602
1276
|
}
|
|
1603
1277
|
|
|
1604
|
-
|
|
1605
|
-
* Interfaz que representa un detalle de producto POD (Print on Demand).
|
|
1606
|
-
*/
|
|
1607
|
-
interface DetailProductPOD {
|
|
1608
|
-
detailProductPODId: number;
|
|
1609
|
-
productId: number | null;
|
|
1610
|
-
blankProductId: number | null;
|
|
1611
|
-
mokup: string;
|
|
1612
|
-
frontPrint: string;
|
|
1613
|
-
backPrint: string;
|
|
1614
|
-
sidePrint: string;
|
|
1615
|
-
detailPrint: string;
|
|
1616
|
-
neckLabel: string;
|
|
1617
|
-
handTag: string;
|
|
1618
|
-
royalty: number | null;
|
|
1619
|
-
colorVariant: string;
|
|
1620
|
-
createdAt: string | null;
|
|
1621
|
-
updatedAt: string | null;
|
|
1622
|
-
deleted: boolean | null;
|
|
1623
|
-
}
|
|
1624
|
-
/**
|
|
1625
|
-
* Request para crear o actualizar un detalle de producto POD.
|
|
1626
|
-
*/
|
|
1627
|
-
interface DetailProductPODRequest {
|
|
1628
|
-
productId?: number;
|
|
1629
|
-
blankProductId?: number;
|
|
1630
|
-
mokup: string;
|
|
1631
|
-
frontPrint: string;
|
|
1632
|
-
backPrint: string;
|
|
1633
|
-
sidePrint: string;
|
|
1634
|
-
detailPrint: string;
|
|
1635
|
-
neckLabel: string;
|
|
1636
|
-
handTag: string;
|
|
1637
|
-
royalty?: number;
|
|
1638
|
-
colorVariant: string;
|
|
1639
|
-
}
|
|
1640
|
-
/**
|
|
1641
|
-
* Filtros disponibles para buscar detalles de producto POD.
|
|
1642
|
-
*/
|
|
1643
|
-
interface DetailProductPODFilter {
|
|
1278
|
+
interface UserAdminFilter {
|
|
1644
1279
|
Search?: string;
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
|
|
1280
|
+
Username?: string;
|
|
1281
|
+
FirstName?: string;
|
|
1282
|
+
LastName?: string;
|
|
1283
|
+
Email?: string;
|
|
1284
|
+
Phone?: string;
|
|
1285
|
+
RoleId?: number;
|
|
1286
|
+
UserTypeId?: number;
|
|
1287
|
+
IsActive?: boolean;
|
|
1648
1288
|
}
|
|
1649
1289
|
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
|
|
1659
|
-
|
|
1660
|
-
|
|
1661
|
-
updatedAt: string | null;
|
|
1662
|
-
deleted: boolean | null;
|
|
1663
|
-
}
|
|
1664
|
-
/**
|
|
1665
|
-
* Request para crear o actualizar una talla.
|
|
1666
|
-
*/
|
|
1667
|
-
interface SizeRequest {
|
|
1668
|
-
size: string;
|
|
1669
|
-
description: string;
|
|
1670
|
-
sizeGroupId?: number;
|
|
1671
|
-
width: string;
|
|
1672
|
-
length: string;
|
|
1673
|
-
}
|
|
1674
|
-
/**
|
|
1675
|
-
* Filtros disponibles para buscar tallas.
|
|
1676
|
-
*/
|
|
1677
|
-
interface SizesFilter {
|
|
1678
|
-
Search?: string;
|
|
1679
|
-
Size?: string;
|
|
1680
|
-
Description?: string;
|
|
1681
|
-
SizeGroupId?: number;
|
|
1290
|
+
interface UserAdminUpdateRequest {
|
|
1291
|
+
username: string;
|
|
1292
|
+
firstName: string;
|
|
1293
|
+
lastName: string;
|
|
1294
|
+
email: string;
|
|
1295
|
+
phone: string;
|
|
1296
|
+
areaCodeId: number;
|
|
1297
|
+
birthday?: string;
|
|
1298
|
+
genderId: number;
|
|
1299
|
+
roleId: number;
|
|
1300
|
+
userTypeId: number;
|
|
1682
1301
|
}
|
|
1683
1302
|
|
|
1684
|
-
|
|
1685
|
-
|
|
1686
|
-
|
|
1687
|
-
|
|
1688
|
-
|
|
1689
|
-
|
|
1690
|
-
description: string;
|
|
1691
|
-
createdAt: string | null;
|
|
1692
|
-
updatedAt: string | null;
|
|
1693
|
-
deleted: boolean | null;
|
|
1694
|
-
}
|
|
1695
|
-
/**
|
|
1696
|
-
* Request para crear o actualizar un grupo de tallas.
|
|
1697
|
-
*/
|
|
1698
|
-
interface SizeGroupRequest {
|
|
1699
|
-
sizeGroup: string;
|
|
1700
|
-
description: string;
|
|
1701
|
-
}
|
|
1702
|
-
/**
|
|
1703
|
-
* Filtros disponibles para buscar grupos de tallas.
|
|
1704
|
-
*/
|
|
1705
|
-
interface SizeGroupsFilter {
|
|
1706
|
-
Search?: string;
|
|
1707
|
-
SizeGroup?: string;
|
|
1708
|
-
Description?: string;
|
|
1303
|
+
interface UserAuthUpdateRequest {
|
|
1304
|
+
securityLevel: number;
|
|
1305
|
+
clientId: string;
|
|
1306
|
+
isTwoFactorEnabled?: boolean;
|
|
1307
|
+
emailVerified?: boolean;
|
|
1308
|
+
phoneVerified?: boolean;
|
|
1709
1309
|
}
|
|
1710
1310
|
|
|
1711
|
-
|
|
1712
|
-
|
|
1713
|
-
|
|
1714
|
-
interface ProductType {
|
|
1715
|
-
productTypeId: number;
|
|
1716
|
-
productType: string;
|
|
1717
|
-
description: string;
|
|
1718
|
-
createdAt: string | null;
|
|
1719
|
-
updatedAt: string | null;
|
|
1720
|
-
deleted: boolean | null;
|
|
1721
|
-
}
|
|
1722
|
-
/**
|
|
1723
|
-
* Request para crear o actualizar un tipo de producto.
|
|
1724
|
-
*/
|
|
1725
|
-
interface ProductTypeRequest {
|
|
1726
|
-
productType: string;
|
|
1727
|
-
description: string;
|
|
1728
|
-
}
|
|
1729
|
-
/**
|
|
1730
|
-
* Filtros disponibles para buscar tipos de producto.
|
|
1731
|
-
*/
|
|
1732
|
-
interface ProductTypesFilter {
|
|
1733
|
-
Search?: string;
|
|
1734
|
-
ProductType?: string;
|
|
1735
|
-
Description?: string;
|
|
1311
|
+
interface ChangePasswordUserRequest {
|
|
1312
|
+
currentPassword: string;
|
|
1313
|
+
newPassword: string;
|
|
1736
1314
|
}
|
|
1737
1315
|
|
|
1738
1316
|
/**
|
|
1739
|
-
* Interfaz que representa
|
|
1317
|
+
* Interfaz que representa un rol del sistema.
|
|
1740
1318
|
*/
|
|
1741
|
-
interface
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
deleted: boolean | null;
|
|
1319
|
+
interface Role {
|
|
1320
|
+
roleId: number;
|
|
1321
|
+
role: string;
|
|
1322
|
+
key?: string;
|
|
1323
|
+
description?: string;
|
|
1324
|
+
userTypeId: number;
|
|
1325
|
+
isActive: boolean;
|
|
1749
1326
|
}
|
|
1750
1327
|
/**
|
|
1751
|
-
* Request para crear o actualizar
|
|
1328
|
+
* Request para crear o actualizar un rol.
|
|
1752
1329
|
*/
|
|
1753
|
-
interface
|
|
1754
|
-
|
|
1755
|
-
|
|
1330
|
+
interface RoleRequest {
|
|
1331
|
+
role: string;
|
|
1332
|
+
userTypeId: number;
|
|
1333
|
+
key?: string;
|
|
1334
|
+
description?: string;
|
|
1756
1335
|
isActive?: boolean;
|
|
1757
1336
|
}
|
|
1758
1337
|
/**
|
|
1759
|
-
* Filtros disponibles para buscar
|
|
1338
|
+
* Filtros disponibles para buscar roles.
|
|
1760
1339
|
*/
|
|
1761
|
-
interface
|
|
1340
|
+
interface RolesFilter {
|
|
1341
|
+
/** Búsqueda general */
|
|
1762
1342
|
Search?: string;
|
|
1763
|
-
|
|
1343
|
+
/** Filtro por nombre del rol (búsqueda parcial) */
|
|
1344
|
+
Role?: string;
|
|
1345
|
+
/** Filtro por descripción (búsqueda parcial) */
|
|
1764
1346
|
Description?: string;
|
|
1347
|
+
/** Filtro por estado activo/inactivo */
|
|
1765
1348
|
IsActive?: boolean;
|
|
1766
1349
|
}
|
|
1767
1350
|
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
|
|
1351
|
+
interface UserBasicResponse {
|
|
1352
|
+
userId: number;
|
|
1353
|
+
username: string;
|
|
1354
|
+
firstName: string;
|
|
1355
|
+
lastName: string;
|
|
1356
|
+
fullName: string;
|
|
1357
|
+
email: string;
|
|
1358
|
+
phone: string;
|
|
1359
|
+
role: UserRole;
|
|
1360
|
+
userType: UserType$1;
|
|
1361
|
+
isActive: boolean;
|
|
1362
|
+
securityLevel: number;
|
|
1779
1363
|
}
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
productStatus: string;
|
|
1785
|
-
description: string;
|
|
1786
|
-
isSellable?: boolean;
|
|
1364
|
+
interface UserRole {
|
|
1365
|
+
roleId: number;
|
|
1366
|
+
key: string;
|
|
1367
|
+
role: string;
|
|
1787
1368
|
}
|
|
1788
|
-
|
|
1789
|
-
|
|
1790
|
-
|
|
1791
|
-
|
|
1792
|
-
Search?: string;
|
|
1793
|
-
ProductStatus?: string;
|
|
1794
|
-
Description?: string;
|
|
1795
|
-
IsSellable?: boolean;
|
|
1369
|
+
interface UserType$1 {
|
|
1370
|
+
userTypeId: number;
|
|
1371
|
+
key: string;
|
|
1372
|
+
userType: string;
|
|
1796
1373
|
}
|
|
1797
1374
|
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
createdAt: string | null;
|
|
1807
|
-
updatedAt: string | null;
|
|
1808
|
-
deleted: boolean | null;
|
|
1809
|
-
}
|
|
1810
|
-
/**
|
|
1811
|
-
* Request para crear o actualizar un estudio.
|
|
1812
|
-
*/
|
|
1813
|
-
interface StudioRequest {
|
|
1814
|
-
studio: string;
|
|
1815
|
-
logo: string;
|
|
1816
|
-
isActive?: boolean;
|
|
1817
|
-
}
|
|
1818
|
-
/**
|
|
1819
|
-
* Filtros disponibles para buscar estudios.
|
|
1820
|
-
*/
|
|
1821
|
-
interface StudiosFilter {
|
|
1822
|
-
Search?: string;
|
|
1823
|
-
Studio?: string;
|
|
1824
|
-
IsActive?: boolean;
|
|
1375
|
+
interface UserDataUpdateRequest {
|
|
1376
|
+
username: string;
|
|
1377
|
+
firstName: string;
|
|
1378
|
+
lastName: string;
|
|
1379
|
+
areaCodeId: number;
|
|
1380
|
+
phone: string;
|
|
1381
|
+
birthday: Date;
|
|
1382
|
+
profilePhoto: string;
|
|
1825
1383
|
}
|
|
1826
1384
|
|
|
1827
|
-
|
|
1828
|
-
|
|
1829
|
-
|
|
1830
|
-
|
|
1831
|
-
licenseId: number;
|
|
1832
|
-
license: string;
|
|
1833
|
-
studioId: number | null;
|
|
1834
|
-
region: string;
|
|
1835
|
-
isActive: boolean | null;
|
|
1836
|
-
createdAt: string | null;
|
|
1837
|
-
updatedAt: string | null;
|
|
1838
|
-
deleted: boolean | null;
|
|
1839
|
-
}
|
|
1840
|
-
/**
|
|
1841
|
-
* Request para crear o actualizar una licencia.
|
|
1842
|
-
*/
|
|
1843
|
-
interface LicenseRequest {
|
|
1844
|
-
license: string;
|
|
1845
|
-
studioId?: number;
|
|
1846
|
-
region: string;
|
|
1847
|
-
isActive?: boolean;
|
|
1848
|
-
}
|
|
1849
|
-
/**
|
|
1850
|
-
* Filtros disponibles para buscar licencias.
|
|
1851
|
-
*/
|
|
1852
|
-
interface LicensesFilter {
|
|
1853
|
-
Search?: string;
|
|
1854
|
-
License?: string;
|
|
1855
|
-
StudioId?: number;
|
|
1856
|
-
Region?: string;
|
|
1857
|
-
IsActive?: boolean;
|
|
1385
|
+
interface AreaCodeUserProfile {
|
|
1386
|
+
areaCodeId: number;
|
|
1387
|
+
countryCode: string;
|
|
1388
|
+
country: string;
|
|
1858
1389
|
}
|
|
1859
1390
|
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
interface Provider {
|
|
1864
|
-
providerId: number;
|
|
1865
|
-
provider: string;
|
|
1866
|
-
contactName: string;
|
|
1867
|
-
areaCodeId: number;
|
|
1868
|
-
contactNumber: string;
|
|
1869
|
-
contactEmail: string;
|
|
1870
|
-
isActive: boolean;
|
|
1871
|
-
createdAt: string;
|
|
1872
|
-
updatedAt: string;
|
|
1873
|
-
deleted: boolean;
|
|
1391
|
+
interface GenderUserProfile {
|
|
1392
|
+
genderId: number;
|
|
1393
|
+
gender: string;
|
|
1874
1394
|
}
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
provider: string;
|
|
1880
|
-
contactName: string;
|
|
1881
|
-
areaCodeId: number;
|
|
1882
|
-
contactNumber: string;
|
|
1883
|
-
contactEmail: string;
|
|
1884
|
-
isActive?: boolean;
|
|
1395
|
+
|
|
1396
|
+
interface RoleUserProfile {
|
|
1397
|
+
roleId: number;
|
|
1398
|
+
role: string;
|
|
1885
1399
|
}
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
Search?: string;
|
|
1891
|
-
Provider?: string;
|
|
1892
|
-
IsActive?: boolean;
|
|
1400
|
+
|
|
1401
|
+
interface UserTypeUserProfile {
|
|
1402
|
+
userTypeId: number;
|
|
1403
|
+
userType: string;
|
|
1893
1404
|
}
|
|
1894
1405
|
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
/**
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
|
|
1956
|
-
updateBullet(id: number, request: ProductBulletRequest): Promise<ResponseModel<ProductBullet>>;
|
|
1957
|
-
/**
|
|
1958
|
-
* Elimina un bullet de producto.
|
|
1959
|
-
* @param id - ID del bullet a eliminar
|
|
1960
|
-
*/
|
|
1961
|
-
deleteBullet(id: number): Promise<ResponseModel<void>>;
|
|
1962
|
-
/**
|
|
1963
|
-
* Obtiene todos los keywords de producto con filtros opcionales.
|
|
1964
|
-
* @param filter - Filtros opcionales para la búsqueda
|
|
1965
|
-
*/
|
|
1966
|
-
getKeywords(filter?: ProductKeywordsFilter): Promise<ResponseModel<ProductKeyword[]>>;
|
|
1967
|
-
/**
|
|
1968
|
-
* Obtiene el modelo de filtros disponibles para keywords de producto.
|
|
1969
|
-
*/
|
|
1970
|
-
getKeywordFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
|
|
1971
|
-
/**
|
|
1972
|
-
* Obtiene un keyword de producto por su ID.
|
|
1973
|
-
* @param id - ID del keyword
|
|
1974
|
-
*/
|
|
1975
|
-
getKeywordById(id: number): Promise<ResponseModel<ProductKeyword>>;
|
|
1976
|
-
/**
|
|
1977
|
-
* Crea un nuevo keyword de producto.
|
|
1978
|
-
* @param request - Datos del keyword a crear
|
|
1979
|
-
*/
|
|
1980
|
-
createKeyword(request: ProductKeywordRequest): Promise<ResponseModel<ProductKeyword>>;
|
|
1981
|
-
/**
|
|
1982
|
-
* Actualiza un keyword de producto existente.
|
|
1983
|
-
* @param id - ID del keyword a actualizar
|
|
1984
|
-
* @param request - Nuevos datos del keyword
|
|
1985
|
-
*/
|
|
1986
|
-
updateKeyword(id: number, request: ProductKeywordRequest): Promise<ResponseModel<ProductKeyword>>;
|
|
1987
|
-
/**
|
|
1988
|
-
* Elimina un keyword de producto.
|
|
1989
|
-
* @param id - ID del keyword a eliminar
|
|
1990
|
-
*/
|
|
1991
|
-
deleteKeyword(id: number): Promise<ResponseModel<void>>;
|
|
1992
|
-
/**
|
|
1993
|
-
* Obtiene todos los precios de producto con filtros opcionales.
|
|
1994
|
-
* @param filter - Filtros opcionales para la búsqueda
|
|
1995
|
-
*/
|
|
1996
|
-
getPrices(filter?: ProductPricesFilter): Promise<ResponseModel<ProductPrice[]>>;
|
|
1997
|
-
/**
|
|
1998
|
-
* Obtiene el modelo de filtros disponibles para precios de producto.
|
|
1999
|
-
*/
|
|
2000
|
-
getPriceFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
|
|
2001
|
-
/**
|
|
2002
|
-
* Obtiene un precio de producto por su ID.
|
|
2003
|
-
* @param id - ID del precio
|
|
2004
|
-
*/
|
|
2005
|
-
getPriceById(id: number): Promise<ResponseModel<ProductPrice>>;
|
|
2006
|
-
/**
|
|
2007
|
-
* Crea un nuevo precio de producto.
|
|
2008
|
-
* @param request - Datos del precio a crear
|
|
2009
|
-
*/
|
|
2010
|
-
createPrice(request: ProductPriceRequest): Promise<ResponseModel<ProductPrice>>;
|
|
2011
|
-
/**
|
|
2012
|
-
* Actualiza un precio de producto existente.
|
|
2013
|
-
* @param id - ID del precio a actualizar
|
|
2014
|
-
* @param request - Nuevos datos del precio
|
|
2015
|
-
*/
|
|
2016
|
-
updatePrice(id: number, request: ProductPriceRequest): Promise<ResponseModel<ProductPrice>>;
|
|
2017
|
-
/**
|
|
2018
|
-
* Elimina un precio de producto.
|
|
2019
|
-
* @param id - ID del precio a eliminar
|
|
2020
|
-
*/
|
|
2021
|
-
deletePrice(id: number): Promise<ResponseModel<void>>;
|
|
2022
|
-
/**
|
|
2023
|
-
* Obtiene todos los productos en blanco con filtros opcionales.
|
|
2024
|
-
* @param filter - Filtros opcionales para la búsqueda
|
|
2025
|
-
*/
|
|
2026
|
-
getBlankProducts(filter?: BlankProductsFilter): Promise<ResponseModel<BlankProduct[]>>;
|
|
2027
|
-
/**
|
|
2028
|
-
* Obtiene el modelo de filtros disponibles para productos en blanco.
|
|
2029
|
-
*/
|
|
2030
|
-
getBlankProductFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
|
|
2031
|
-
/**
|
|
2032
|
-
* Obtiene un producto en blanco por su ID.
|
|
2033
|
-
* @param id - ID del producto en blanco
|
|
2034
|
-
*/
|
|
2035
|
-
getBlankProductById(id: number): Promise<ResponseModel<BlankProduct>>;
|
|
2036
|
-
/**
|
|
2037
|
-
* Crea un nuevo producto en blanco.
|
|
2038
|
-
* @param request - Datos del producto en blanco a crear
|
|
2039
|
-
*/
|
|
2040
|
-
createBlankProduct(request: BlankProductRequest): Promise<ResponseModel<BlankProduct>>;
|
|
2041
|
-
/**
|
|
2042
|
-
* Actualiza un producto en blanco existente.
|
|
2043
|
-
* @param id - ID del producto en blanco a actualizar
|
|
2044
|
-
* @param request - Nuevos datos del producto en blanco
|
|
2045
|
-
*/
|
|
2046
|
-
updateBlankProduct(id: number, request: BlankProductRequest): Promise<ResponseModel<BlankProduct>>;
|
|
2047
|
-
/**
|
|
2048
|
-
* Elimina un producto en blanco.
|
|
2049
|
-
* @param id - ID del producto en blanco a eliminar
|
|
2050
|
-
*/
|
|
2051
|
-
deleteBlankProduct(id: number): Promise<ResponseModel<void>>;
|
|
2052
|
-
/**
|
|
2053
|
-
* Obtiene todos los detalles de producto POD con filtros opcionales.
|
|
2054
|
-
* @param filter - Filtros opcionales para la búsqueda
|
|
2055
|
-
*/
|
|
2056
|
-
getPODDetails(filter?: DetailProductPODFilter): Promise<ResponseModel<DetailProductPOD[]>>;
|
|
2057
|
-
/**
|
|
2058
|
-
* Obtiene el modelo de filtros disponibles para detalles de producto POD.
|
|
2059
|
-
*/
|
|
2060
|
-
getPODDetailFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
|
|
2061
|
-
/**
|
|
2062
|
-
* Obtiene un detalle de producto POD por su ID.
|
|
2063
|
-
* @param id - ID del detalle POD
|
|
2064
|
-
*/
|
|
2065
|
-
getPODDetailById(id: number): Promise<ResponseModel<DetailProductPOD>>;
|
|
2066
|
-
/**
|
|
2067
|
-
* Crea un nuevo detalle de producto POD.
|
|
2068
|
-
* @param request - Datos del detalle POD a crear
|
|
2069
|
-
*/
|
|
2070
|
-
createPODDetail(request: DetailProductPODRequest): Promise<ResponseModel<DetailProductPOD>>;
|
|
2071
|
-
/**
|
|
2072
|
-
* Actualiza un detalle de producto POD existente.
|
|
2073
|
-
* @param id - ID del detalle POD a actualizar
|
|
2074
|
-
* @param request - Nuevos datos del detalle POD
|
|
2075
|
-
*/
|
|
2076
|
-
updatePODDetail(id: number, request: DetailProductPODRequest): Promise<ResponseModel<DetailProductPOD>>;
|
|
2077
|
-
/**
|
|
2078
|
-
* Elimina un detalle de producto POD.
|
|
2079
|
-
* @param id - ID del detalle POD a eliminar
|
|
2080
|
-
*/
|
|
2081
|
-
deletePODDetail(id: number): Promise<ResponseModel<void>>;
|
|
2082
|
-
/**
|
|
2083
|
-
* Obtiene todas las tallas con filtros opcionales.
|
|
2084
|
-
* @param filter - Filtros opcionales para la búsqueda
|
|
2085
|
-
*/
|
|
2086
|
-
getSizes(filter?: SizesFilter): Promise<ResponseModel<Size[]>>;
|
|
2087
|
-
/**
|
|
2088
|
-
* Obtiene el modelo de filtros disponibles para tallas.
|
|
2089
|
-
*/
|
|
2090
|
-
getSizeFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
|
|
2091
|
-
/**
|
|
2092
|
-
* Obtiene una talla por su ID.
|
|
2093
|
-
* @param id - ID de la talla
|
|
2094
|
-
*/
|
|
2095
|
-
getSizeById(id: number): Promise<ResponseModel<Size>>;
|
|
2096
|
-
/**
|
|
2097
|
-
* Crea una nueva talla.
|
|
2098
|
-
* @param request - Datos de la talla a crear
|
|
2099
|
-
*/
|
|
2100
|
-
createSize(request: SizeRequest): Promise<ResponseModel<Size>>;
|
|
2101
|
-
/**
|
|
2102
|
-
* Actualiza una talla existente.
|
|
2103
|
-
* @param id - ID de la talla a actualizar
|
|
2104
|
-
* @param request - Nuevos datos de la talla
|
|
2105
|
-
*/
|
|
2106
|
-
updateSize(id: number, request: SizeRequest): Promise<ResponseModel<Size>>;
|
|
2107
|
-
/**
|
|
2108
|
-
* Elimina una talla.
|
|
2109
|
-
* @param id - ID de la talla a eliminar
|
|
2110
|
-
*/
|
|
2111
|
-
deleteSize(id: number): Promise<ResponseModel<void>>;
|
|
2112
|
-
/**
|
|
2113
|
-
* Obtiene todos los grupos de tallas con filtros opcionales.
|
|
2114
|
-
* @param filter - Filtros opcionales para la búsqueda
|
|
2115
|
-
*/
|
|
2116
|
-
getSizeGroups(filter?: SizeGroupsFilter): Promise<ResponseModel<SizeGroup[]>>;
|
|
2117
|
-
/**
|
|
2118
|
-
* Obtiene el modelo de filtros disponibles para grupos de tallas.
|
|
2119
|
-
*/
|
|
2120
|
-
getSizeGroupFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
|
|
2121
|
-
/**
|
|
2122
|
-
* Obtiene un grupo de tallas por su ID.
|
|
2123
|
-
* @param id - ID del grupo de tallas
|
|
2124
|
-
*/
|
|
2125
|
-
getSizeGroupById(id: number): Promise<ResponseModel<SizeGroup>>;
|
|
2126
|
-
/**
|
|
2127
|
-
* Crea un nuevo grupo de tallas.
|
|
2128
|
-
* @param request - Datos del grupo de tallas a crear
|
|
2129
|
-
*/
|
|
2130
|
-
createSizeGroup(request: SizeGroupRequest): Promise<ResponseModel<SizeGroup>>;
|
|
2131
|
-
/**
|
|
2132
|
-
* Actualiza un grupo de tallas existente.
|
|
2133
|
-
* @param id - ID del grupo de tallas a actualizar
|
|
2134
|
-
* @param request - Nuevos datos del grupo de tallas
|
|
2135
|
-
*/
|
|
2136
|
-
updateSizeGroup(id: number, request: SizeGroupRequest): Promise<ResponseModel<SizeGroup>>;
|
|
2137
|
-
/**
|
|
2138
|
-
* Elimina un grupo de tallas.
|
|
2139
|
-
* @param id - ID del grupo de tallas a eliminar
|
|
2140
|
-
*/
|
|
2141
|
-
deleteSizeGroup(id: number): Promise<ResponseModel<void>>;
|
|
2142
|
-
/**
|
|
2143
|
-
* Obtiene todos los tipos de producto con filtros opcionales.
|
|
2144
|
-
* @param filter - Filtros opcionales para la búsqueda
|
|
2145
|
-
*/
|
|
2146
|
-
getProductTypes(filter?: ProductTypesFilter): Promise<ResponseModel<ProductType[]>>;
|
|
2147
|
-
/**
|
|
2148
|
-
* Obtiene el modelo de filtros disponibles para tipos de producto.
|
|
2149
|
-
*/
|
|
2150
|
-
getProductTypeFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
|
|
2151
|
-
/**
|
|
2152
|
-
* Obtiene un tipo de producto por su ID.
|
|
2153
|
-
* @param id - ID del tipo de producto
|
|
2154
|
-
*/
|
|
2155
|
-
getProductTypeById(id: number): Promise<ResponseModel<ProductType>>;
|
|
2156
|
-
/**
|
|
2157
|
-
* Crea un nuevo tipo de producto.
|
|
2158
|
-
* @param request - Datos del tipo de producto a crear
|
|
2159
|
-
*/
|
|
2160
|
-
createProductType(request: ProductTypeRequest): Promise<ResponseModel<ProductType>>;
|
|
2161
|
-
/**
|
|
2162
|
-
* Actualiza un tipo de producto existente.
|
|
2163
|
-
* @param id - ID del tipo de producto a actualizar
|
|
2164
|
-
* @param request - Nuevos datos del tipo de producto
|
|
2165
|
-
*/
|
|
2166
|
-
updateProductType(id: number, request: ProductTypeRequest): Promise<ResponseModel<ProductType>>;
|
|
2167
|
-
/**
|
|
2168
|
-
* Elimina un tipo de producto.
|
|
2169
|
-
* @param id - ID del tipo de producto a eliminar
|
|
2170
|
-
*/
|
|
2171
|
-
deleteProductType(id: number): Promise<ResponseModel<void>>;
|
|
2172
|
-
/**
|
|
2173
|
-
* Obtiene todas las categorías de producto con filtros opcionales.
|
|
2174
|
-
* @param filter - Filtros opcionales para la búsqueda
|
|
2175
|
-
*/
|
|
2176
|
-
getProductCategories(filter?: ProductCategoriesFilter): Promise<ResponseModel<ProductCategory[]>>;
|
|
2177
|
-
/**
|
|
2178
|
-
* Obtiene el modelo de filtros disponibles para categorías de producto.
|
|
2179
|
-
*/
|
|
2180
|
-
getProductCategoryFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
|
|
2181
|
-
/**
|
|
2182
|
-
* Obtiene una categoría de producto por su ID.
|
|
2183
|
-
* @param id - ID de la categoría
|
|
2184
|
-
*/
|
|
2185
|
-
getProductCategoryById(id: number): Promise<ResponseModel<ProductCategory>>;
|
|
2186
|
-
/**
|
|
2187
|
-
* Crea una nueva categoría de producto.
|
|
2188
|
-
* @param request - Datos de la categoría a crear
|
|
2189
|
-
*/
|
|
2190
|
-
createProductCategory(request: ProductCategoryRequest): Promise<ResponseModel<ProductCategory>>;
|
|
2191
|
-
/**
|
|
2192
|
-
* Actualiza una categoría de producto existente.
|
|
2193
|
-
* @param id - ID de la categoría a actualizar
|
|
2194
|
-
* @param request - Nuevos datos de la categoría
|
|
2195
|
-
*/
|
|
2196
|
-
updateProductCategory(id: number, request: ProductCategoryRequest): Promise<ResponseModel<ProductCategory>>;
|
|
2197
|
-
/**
|
|
2198
|
-
* Activa o desactiva una categoría de producto.
|
|
2199
|
-
* @param id - ID de la categoría
|
|
2200
|
-
*/
|
|
2201
|
-
toggleProductCategoryStatus(id: number): Promise<ResponseModel<ProductCategory>>;
|
|
2202
|
-
/**
|
|
2203
|
-
* Elimina una categoría de producto.
|
|
2204
|
-
* @param id - ID de la categoría a eliminar
|
|
2205
|
-
*/
|
|
2206
|
-
deleteProductCategory(id: number): Promise<ResponseModel<void>>;
|
|
2207
|
-
/**
|
|
2208
|
-
* Obtiene todos los estatus de producto con filtros opcionales.
|
|
2209
|
-
* @param filter - Filtros opcionales para la búsqueda
|
|
2210
|
-
*/
|
|
2211
|
-
getProductStatuses(filter?: ProductStatusesFilter): Promise<ResponseModel<ProductStatus[]>>;
|
|
2212
|
-
/**
|
|
2213
|
-
* Obtiene el modelo de filtros disponibles para estatus de producto.
|
|
2214
|
-
*/
|
|
2215
|
-
getProductStatusFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
|
|
2216
|
-
/**
|
|
2217
|
-
* Obtiene un estatus de producto por su ID.
|
|
2218
|
-
* @param id - ID del estatus
|
|
2219
|
-
*/
|
|
2220
|
-
getProductStatusById(id: number): Promise<ResponseModel<ProductStatus>>;
|
|
2221
|
-
/**
|
|
2222
|
-
* Crea un nuevo estatus de producto.
|
|
2223
|
-
* @param request - Datos del estatus a crear
|
|
2224
|
-
*/
|
|
2225
|
-
createProductStatus(request: ProductStatusRequest): Promise<ResponseModel<ProductStatus>>;
|
|
2226
|
-
/**
|
|
2227
|
-
* Actualiza un estatus de producto existente.
|
|
2228
|
-
* @param id - ID del estatus a actualizar
|
|
2229
|
-
* @param request - Nuevos datos del estatus
|
|
2230
|
-
*/
|
|
2231
|
-
updateProductStatus(id: number, request: ProductStatusRequest): Promise<ResponseModel<ProductStatus>>;
|
|
2232
|
-
/**
|
|
2233
|
-
* Elimina un estatus de producto.
|
|
2234
|
-
* @param id - ID del estatus a eliminar
|
|
2235
|
-
*/
|
|
2236
|
-
deleteProductStatus(id: number): Promise<ResponseModel<void>>;
|
|
2237
|
-
/**
|
|
2238
|
-
* Obtiene todos los estudios con filtros opcionales.
|
|
2239
|
-
* @param filter - Filtros opcionales para la búsqueda
|
|
2240
|
-
*/
|
|
2241
|
-
getStudios(filter?: StudiosFilter): Promise<ResponseModel<Studio[]>>;
|
|
2242
|
-
/**
|
|
2243
|
-
* Obtiene el modelo de filtros disponibles para estudios.
|
|
2244
|
-
*/
|
|
2245
|
-
getStudioFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
|
|
1406
|
+
interface UserProfileResponse {
|
|
1407
|
+
userId: number;
|
|
1408
|
+
username: string;
|
|
1409
|
+
firstName: string;
|
|
1410
|
+
lastName: string;
|
|
1411
|
+
fullName: string;
|
|
1412
|
+
email: string;
|
|
1413
|
+
phone: string;
|
|
1414
|
+
profilePhoto: string;
|
|
1415
|
+
areaCode: AreaCodeUserProfile;
|
|
1416
|
+
birthday: Date;
|
|
1417
|
+
gender: GenderUserProfile;
|
|
1418
|
+
role: RoleUserProfile;
|
|
1419
|
+
userType: UserTypeUserProfile;
|
|
1420
|
+
userReferralCode: string;
|
|
1421
|
+
securityLevel: number;
|
|
1422
|
+
emailVerified: boolean;
|
|
1423
|
+
phoneVerified: boolean;
|
|
1424
|
+
lastLogin: Date;
|
|
1425
|
+
mustChangePassword: boolean;
|
|
1426
|
+
passwordExpiresAt: Date;
|
|
1427
|
+
isActive: boolean;
|
|
1428
|
+
createdAt: Date;
|
|
1429
|
+
updatedAt: Date;
|
|
1430
|
+
}
|
|
1431
|
+
|
|
1432
|
+
/**
|
|
1433
|
+
* Interfaz que representa un tipo de usuario.
|
|
1434
|
+
*/
|
|
1435
|
+
interface UserType {
|
|
1436
|
+
userTypeId: number;
|
|
1437
|
+
userType: string;
|
|
1438
|
+
key?: string;
|
|
1439
|
+
description?: string;
|
|
1440
|
+
}
|
|
1441
|
+
/**
|
|
1442
|
+
* Request para crear o actualizar un tipo de usuario.
|
|
1443
|
+
*/
|
|
1444
|
+
interface UserTypeRequest {
|
|
1445
|
+
userType: string;
|
|
1446
|
+
key?: string;
|
|
1447
|
+
description?: string;
|
|
1448
|
+
}
|
|
1449
|
+
/**
|
|
1450
|
+
* Filtros disponibles para buscar tipos de usuario.
|
|
1451
|
+
*/
|
|
1452
|
+
interface UserTypesFilter {
|
|
1453
|
+
/** Búsqueda general */
|
|
1454
|
+
Search?: string;
|
|
1455
|
+
/** Filtro por tipo de usuario (búsqueda parcial) */
|
|
1456
|
+
UserType?: string;
|
|
1457
|
+
/** Filtro por key (búsqueda parcial) */
|
|
1458
|
+
Key?: string;
|
|
1459
|
+
/** Filtro por descripción (búsqueda parcial) */
|
|
1460
|
+
Description?: string;
|
|
1461
|
+
}
|
|
1462
|
+
|
|
1463
|
+
declare class UserService {
|
|
1464
|
+
private api;
|
|
1465
|
+
private readonly BASE_PATH;
|
|
1466
|
+
constructor(api: API);
|
|
2246
1467
|
/**
|
|
2247
|
-
* Obtiene
|
|
2248
|
-
* @
|
|
2249
|
-
|
|
2250
|
-
|
|
1468
|
+
* Obtiene la información básica del usuario.
|
|
1469
|
+
* @returns retorna un objeto con la información básica del usuario
|
|
1470
|
+
*/
|
|
1471
|
+
me(): Promise<ResponseModel<UserBasicResponse>>;
|
|
2251
1472
|
/**
|
|
2252
|
-
*
|
|
2253
|
-
* @
|
|
1473
|
+
* Obtiene la información general del usuario para la vista de perfil.
|
|
1474
|
+
* @returns
|
|
2254
1475
|
*/
|
|
2255
|
-
|
|
1476
|
+
profile(): Promise<ResponseModel<UserProfileResponse>>;
|
|
1477
|
+
changePasswordUser(request: ChangePasswordUserRequest): Promise<ResponseModel>;
|
|
1478
|
+
updateUserData(request: UserDataUpdateRequest): Promise<ResponseModel>;
|
|
2256
1479
|
/**
|
|
2257
|
-
*
|
|
2258
|
-
* @param
|
|
2259
|
-
* @param request - Nuevos datos del estudio
|
|
1480
|
+
* Crea un nuevo usuario administrador.
|
|
1481
|
+
* @param request - Datos del nuevo administrador
|
|
2260
1482
|
*/
|
|
2261
|
-
|
|
1483
|
+
newAdminUser(request: UserAdminRequest): Promise<ResponseModel<AdminUser>>;
|
|
2262
1484
|
/**
|
|
2263
|
-
*
|
|
2264
|
-
* @param
|
|
1485
|
+
* Crea la autenticación para un usuario.
|
|
1486
|
+
* @param request - Datos de autenticación del usuario
|
|
2265
1487
|
*/
|
|
2266
|
-
|
|
1488
|
+
createUserAuthentication(request: UserAuthAdminRequest): Promise<ResponseModel<AdminAuthentication>>;
|
|
2267
1489
|
/**
|
|
2268
|
-
*
|
|
2269
|
-
* @param id - ID del
|
|
1490
|
+
* Cambia la contraseña de un administrador.
|
|
1491
|
+
* @param id - ID del usuario
|
|
1492
|
+
* @param request - Nueva contraseña
|
|
2270
1493
|
*/
|
|
2271
|
-
|
|
1494
|
+
changePasswordAdmin(id: number, request: ChangePasswordAdminRequest): Promise<ResponseModel>;
|
|
2272
1495
|
/**
|
|
2273
|
-
* Obtiene
|
|
1496
|
+
* Obtiene todos los administradores con filtros opcionales.
|
|
2274
1497
|
* @param filter - Filtros opcionales para la búsqueda
|
|
2275
1498
|
*/
|
|
2276
|
-
|
|
1499
|
+
getAllAdmins(filter?: UserAdminFilter): Promise<ResponseModel<AdminUser[]>>;
|
|
2277
1500
|
/**
|
|
2278
|
-
* Obtiene el modelo de filtros disponibles para
|
|
1501
|
+
* Obtiene el modelo de filtros disponibles para administradores.
|
|
2279
1502
|
*/
|
|
2280
|
-
|
|
1503
|
+
getAdminFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
|
|
2281
1504
|
/**
|
|
2282
|
-
* Obtiene
|
|
2283
|
-
* @param id - ID
|
|
1505
|
+
* Obtiene un administrador por su ID.
|
|
1506
|
+
* @param id - ID del administrador
|
|
2284
1507
|
*/
|
|
2285
|
-
|
|
1508
|
+
getAdminById(id: number): Promise<ResponseModel<AdminUser>>;
|
|
2286
1509
|
/**
|
|
2287
|
-
*
|
|
2288
|
-
* @param
|
|
1510
|
+
* Obtiene la autenticación de un administrador.
|
|
1511
|
+
* @param id - ID del usuario
|
|
2289
1512
|
*/
|
|
2290
|
-
|
|
1513
|
+
getAdminAuthentication(id: number): Promise<ResponseModel<AdminAuthentication>>;
|
|
2291
1514
|
/**
|
|
2292
|
-
* Actualiza
|
|
2293
|
-
* @param id - ID
|
|
2294
|
-
* @param request - Nuevos datos
|
|
1515
|
+
* Actualiza un administrador existente.
|
|
1516
|
+
* @param id - ID del administrador
|
|
1517
|
+
* @param request - Nuevos datos del administrador
|
|
2295
1518
|
*/
|
|
2296
|
-
|
|
1519
|
+
updateAdmin(id: number, request: UserAdminUpdateRequest): Promise<ResponseModel<AdminUser>>;
|
|
2297
1520
|
/**
|
|
2298
|
-
* Activa o desactiva
|
|
2299
|
-
* @param id - ID
|
|
1521
|
+
* Activa o desactiva un administrador.
|
|
1522
|
+
* @param id - ID del administrador
|
|
2300
1523
|
*/
|
|
2301
|
-
|
|
1524
|
+
toggleAdminStatus(id: number): Promise<ResponseModel<AdminUser>>;
|
|
2302
1525
|
/**
|
|
2303
|
-
*
|
|
2304
|
-
* @param id - ID
|
|
1526
|
+
* Actualiza la autenticación de un administrador.
|
|
1527
|
+
* @param id - ID del usuario
|
|
1528
|
+
* @param request - Nuevos datos de autenticación
|
|
2305
1529
|
*/
|
|
2306
|
-
|
|
1530
|
+
updateAdminAuthentication(id: number, request: UserAuthUpdateRequest): Promise<ResponseModel<AdminAuthentication>>;
|
|
2307
1531
|
/**
|
|
2308
|
-
* Obtiene todos los
|
|
1532
|
+
* Obtiene todos los tipos de usuario con filtros opcionales.
|
|
2309
1533
|
* @param filter - Filtros opcionales para la búsqueda
|
|
2310
1534
|
*/
|
|
2311
|
-
|
|
2312
|
-
/**
|
|
2313
|
-
* Obtiene el modelo de filtros disponibles para proveedores.
|
|
2314
|
-
*/
|
|
2315
|
-
getProviderFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
|
|
1535
|
+
getUserTypes(filter?: UserTypesFilter): Promise<ResponseModel<UserType[]>>;
|
|
2316
1536
|
/**
|
|
2317
|
-
* Obtiene
|
|
2318
|
-
* @param id - ID del proveedor
|
|
1537
|
+
* Obtiene el modelo de filtros disponibles para tipos de usuario.
|
|
2319
1538
|
*/
|
|
2320
|
-
|
|
1539
|
+
getUserTypesFilters(): Promise<ResponseModel<FilterGroupsModel>>;
|
|
2321
1540
|
/**
|
|
2322
|
-
*
|
|
2323
|
-
* @param
|
|
1541
|
+
* Obtiene un tipo de usuario por su ID.
|
|
1542
|
+
* @param id - ID del tipo de usuario
|
|
2324
1543
|
*/
|
|
2325
|
-
|
|
1544
|
+
getUserTypeById(id: number): Promise<ResponseModel<UserType>>;
|
|
2326
1545
|
/**
|
|
2327
|
-
*
|
|
2328
|
-
* @param
|
|
2329
|
-
* @param request - Nuevos datos del proveedor
|
|
1546
|
+
* Crea un nuevo tipo de usuario.
|
|
1547
|
+
* @param request - Datos del tipo de usuario a crear
|
|
2330
1548
|
*/
|
|
2331
|
-
|
|
1549
|
+
createUserType(request: UserTypeRequest): Promise<ResponseModel<UserType>>;
|
|
2332
1550
|
/**
|
|
2333
|
-
*
|
|
2334
|
-
* @param id - ID del
|
|
1551
|
+
* Actualiza un tipo de usuario existente.
|
|
1552
|
+
* @param id - ID del tipo de usuario a actualizar
|
|
1553
|
+
* @param request - Nuevos datos del tipo de usuario
|
|
2335
1554
|
*/
|
|
2336
|
-
|
|
1555
|
+
updateUserType(id: number, request: UserTypeRequest): Promise<ResponseModel<UserType>>;
|
|
2337
1556
|
/**
|
|
2338
|
-
* Elimina un
|
|
2339
|
-
* @param id - ID del
|
|
1557
|
+
* Elimina un tipo de usuario.
|
|
1558
|
+
* @param id - ID del tipo de usuario a eliminar
|
|
2340
1559
|
*/
|
|
2341
|
-
|
|
2342
|
-
}
|
|
2343
|
-
|
|
2344
|
-
/**
|
|
2345
|
-
* Interfaz que representa un género del catálogo.
|
|
2346
|
-
*/
|
|
2347
|
-
interface Gender {
|
|
2348
|
-
genderId: number;
|
|
2349
|
-
gender: string;
|
|
2350
|
-
key: string;
|
|
2351
|
-
createdAt: string;
|
|
2352
|
-
updatedAt: string | null;
|
|
2353
|
-
deleted: boolean;
|
|
2354
|
-
}
|
|
2355
|
-
/**
|
|
2356
|
-
* Request para crear o actualizar un género.
|
|
2357
|
-
*/
|
|
2358
|
-
interface GenderRequest {
|
|
2359
|
-
gender: string;
|
|
2360
|
-
key?: string;
|
|
2361
|
-
}
|
|
2362
|
-
/**
|
|
2363
|
-
* Filtros disponibles para buscar géneros.
|
|
2364
|
-
*/
|
|
2365
|
-
interface GendersFilter {
|
|
2366
|
-
/** Búsqueda general */
|
|
2367
|
-
Search?: string;
|
|
2368
|
-
/** Filtro por nombre del género (búsqueda parcial) */
|
|
2369
|
-
Gender?: string;
|
|
2370
|
-
}
|
|
2371
|
-
|
|
2372
|
-
/**
|
|
2373
|
-
* Interfaz que representa un código de área del catálogo.
|
|
2374
|
-
*/
|
|
2375
|
-
interface AreaCode {
|
|
2376
|
-
areaCodeId: number;
|
|
2377
|
-
countryCode: string;
|
|
2378
|
-
iso: string;
|
|
2379
|
-
countryName: string;
|
|
2380
|
-
isActive: boolean;
|
|
2381
|
-
createdAt: string;
|
|
2382
|
-
updatedAt: string | null;
|
|
2383
|
-
deleted: boolean;
|
|
2384
|
-
}
|
|
2385
|
-
/**
|
|
2386
|
-
* Request para crear o actualizar un código de área.
|
|
2387
|
-
*/
|
|
2388
|
-
interface AreaCodeRequest {
|
|
2389
|
-
countryCode: string;
|
|
2390
|
-
iso: string;
|
|
2391
|
-
countryName: string;
|
|
2392
|
-
isActive: boolean;
|
|
2393
|
-
}
|
|
2394
|
-
/**
|
|
2395
|
-
* Filtros disponibles para buscar códigos de área.
|
|
2396
|
-
*/
|
|
2397
|
-
interface AreaCodesFilter {
|
|
2398
|
-
/** Búsqueda general */
|
|
2399
|
-
Search?: string;
|
|
2400
|
-
/** Filtro por código de país (búsqueda parcial) */
|
|
2401
|
-
CountryCode?: string;
|
|
2402
|
-
/** Filtro por ISO (búsqueda parcial) */
|
|
2403
|
-
ISO?: string;
|
|
2404
|
-
/** Filtro por nombre de país (búsqueda parcial) */
|
|
2405
|
-
CountryName?: string;
|
|
2406
|
-
/** Filtro por estado activo/inactivo */
|
|
2407
|
-
IsActive?: boolean;
|
|
2408
|
-
}
|
|
2409
|
-
|
|
2410
|
-
/**
|
|
2411
|
-
* Servicio para gestionar catálogos públicos.
|
|
2412
|
-
* No requiere autenticación.
|
|
2413
|
-
*/
|
|
2414
|
-
declare class CatalogService {
|
|
2415
|
-
private api;
|
|
2416
|
-
private readonly BASE_PATH;
|
|
2417
|
-
constructor(api: API);
|
|
1560
|
+
deleteUserType(id: number): Promise<ResponseModel<void>>;
|
|
2418
1561
|
/**
|
|
2419
|
-
* Obtiene todos los
|
|
1562
|
+
* Obtiene todos los roles con filtros opcionales.
|
|
2420
1563
|
* @param filter - Filtros opcionales para la búsqueda
|
|
2421
1564
|
*/
|
|
2422
|
-
|
|
2423
|
-
/**
|
|
2424
|
-
* Obtiene el modelo de filtros disponibles para géneros.
|
|
2425
|
-
*/
|
|
2426
|
-
getGendersFilters(): Promise<ResponseModel<FilterGroupsModel>>;
|
|
2427
|
-
/**
|
|
2428
|
-
* Obtiene un género por su ID.
|
|
2429
|
-
* @param id - ID del género
|
|
2430
|
-
*/
|
|
2431
|
-
getGenderById(id: number): Promise<ResponseModel<Gender>>;
|
|
2432
|
-
/**
|
|
2433
|
-
* Crea un nuevo género.
|
|
2434
|
-
* @param request - Datos del género a crear
|
|
2435
|
-
*/
|
|
2436
|
-
createGender(request: GenderRequest): Promise<ResponseModel<Gender>>;
|
|
2437
|
-
/**
|
|
2438
|
-
* Actualiza un género existente.
|
|
2439
|
-
* @param id - ID del género a actualizar
|
|
2440
|
-
* @param request - Nuevos datos del género
|
|
2441
|
-
*/
|
|
2442
|
-
updateGender(id: number, request: GenderRequest): Promise<ResponseModel<Gender>>;
|
|
2443
|
-
/**
|
|
2444
|
-
* Elimina un género.
|
|
2445
|
-
* @param id - ID del género a eliminar
|
|
2446
|
-
*/
|
|
2447
|
-
deleteGender(id: number): Promise<ResponseModel<void>>;
|
|
1565
|
+
getRoles(filter?: RolesFilter): Promise<ResponseModel<Role[]>>;
|
|
2448
1566
|
/**
|
|
2449
|
-
* Obtiene
|
|
2450
|
-
* @param filter - Filtros opcionales para la búsqueda
|
|
1567
|
+
* Obtiene el modelo de filtros disponibles para roles.
|
|
2451
1568
|
*/
|
|
2452
|
-
|
|
1569
|
+
getRolesFilters(): Promise<ResponseModel<FilterGroupsModel>>;
|
|
2453
1570
|
/**
|
|
2454
|
-
* Obtiene
|
|
1571
|
+
* Obtiene un rol por su ID.
|
|
1572
|
+
* @param id - ID del rol
|
|
2455
1573
|
*/
|
|
2456
|
-
|
|
1574
|
+
getRoleById(id: number): Promise<ResponseModel<Role>>;
|
|
2457
1575
|
/**
|
|
2458
|
-
* Obtiene
|
|
2459
|
-
* @param
|
|
1576
|
+
* Obtiene los roles asociados a un tipo de usuario.
|
|
1577
|
+
* @param userTypeId - ID del tipo de usuario
|
|
2460
1578
|
*/
|
|
2461
|
-
|
|
1579
|
+
getRolesByUserType(userTypeId: number): Promise<ResponseModel<Role[]>>;
|
|
2462
1580
|
/**
|
|
2463
|
-
* Crea un nuevo
|
|
2464
|
-
* @param request - Datos del
|
|
1581
|
+
* Crea un nuevo rol.
|
|
1582
|
+
* @param request - Datos del rol a crear
|
|
2465
1583
|
*/
|
|
2466
|
-
|
|
1584
|
+
createRole(request: RoleRequest): Promise<ResponseModel<Role>>;
|
|
2467
1585
|
/**
|
|
2468
|
-
* Actualiza un
|
|
2469
|
-
* @param id - ID del
|
|
2470
|
-
* @param request - Nuevos datos del
|
|
1586
|
+
* Actualiza un rol existente.
|
|
1587
|
+
* @param id - ID del rol a actualizar
|
|
1588
|
+
* @param request - Nuevos datos del rol
|
|
2471
1589
|
*/
|
|
2472
|
-
|
|
1590
|
+
updateRole(id: number, request: RoleRequest): Promise<ResponseModel<Role>>;
|
|
2473
1591
|
/**
|
|
2474
|
-
* Activa o desactiva un
|
|
2475
|
-
* @param id - ID del
|
|
1592
|
+
* Activa o desactiva un rol.
|
|
1593
|
+
* @param id - ID del rol
|
|
2476
1594
|
*/
|
|
2477
|
-
|
|
1595
|
+
toggleRoleStatus(id: number): Promise<ResponseModel<Role>>;
|
|
2478
1596
|
/**
|
|
2479
|
-
* Elimina un
|
|
2480
|
-
* @param id - ID del
|
|
1597
|
+
* Elimina un rol.
|
|
1598
|
+
* @param id - ID del rol a eliminar
|
|
2481
1599
|
*/
|
|
2482
|
-
|
|
1600
|
+
deleteRole(id: number): Promise<ResponseModel<void>>;
|
|
2483
1601
|
}
|
|
2484
1602
|
|
|
2485
1603
|
/**
|
|
@@ -2490,7 +1608,6 @@ declare class FalconHUBSDK {
|
|
|
2490
1608
|
user: UserService;
|
|
2491
1609
|
system: SystemService;
|
|
2492
1610
|
inventory: InventoryService;
|
|
2493
|
-
product: ProductService;
|
|
2494
1611
|
catalog: CatalogService;
|
|
2495
1612
|
private serviceProperties;
|
|
2496
1613
|
private cryptoService;
|
|
@@ -2524,4 +1641,4 @@ declare class FalconHUBSDK {
|
|
|
2524
1641
|
|
|
2525
1642
|
declare function decrypt(encryptedBase64: string, secret: string, timestamp: string): string;
|
|
2526
1643
|
|
|
2527
|
-
export { API, type AdminAuthentication, type AdminUser, type AreaCode, type AreaCodeRequest, type AreaCodesFilter, AuthInterceptor, type AuthInterceptorConfig, AuthService,
|
|
1644
|
+
export { API, type AdminAuthentication, type AdminUser, type AreaCode, type AreaCodeRequest, type AreaCodesFilter, AuthInterceptor, type AuthInterceptorConfig, AuthService, CatalogService, type ChangePasswordAdminRequest, type ChangePasswordRequest, type ChangePasswordUserRequest, 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 GendersFilter, type GetSecretKeyRequest, type GetSecretKeyResponse, type HttpMethodType, type InterceptorContext, type InventoryProvider, type InventoryProviderRequest, type InventoryProvidersFilter, 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, type RefreshTokenRequest, type RefreshTokenResponse, type RequestConfig, type RequestInterceptor, type RequestOptions, type ResponseModel, type Role, type RoleRequest, type RolesFilter, type SendOtpRequest, type ServiceProperties, 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 UserTypesFilter, type ValidateOtpRequest, type ValidateSessionRenewedResponse, type ValidateSessionResponse, decrypt };
|