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