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 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
- interface AreaCodeUserProfile {
353
- areaCodeId: number;
354
- countryCode: string;
355
- country: string;
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
- interface AdminAuthentication {
435
- userAuthenticationId: number;
436
- userId: number;
437
- securityLevel: number;
438
- clientId: string;
439
- isTwoFactorEnabled: boolean;
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
- interface UserAdminFilter {
370
+ /**
371
+ * Filtros disponibles para buscar géneros.
372
+ */
373
+ interface GendersFilter {
374
+ /** Búsqueda general */
481
375
  Search?: string;
482
- Username?: string;
483
- FirstName?: string;
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 tipo de usuario.
381
+ * Interfaz que representa un código de área del catálogo.
515
382
  */
516
- interface UserType {
517
- userTypeId: number;
518
- userType: string;
519
- key?: string;
520
- description?: string;
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 tipo de usuario.
394
+ * Request para crear o actualizar un código de área.
524
395
  */
525
- interface UserTypeRequest {
526
- userType: string;
527
- key?: string;
528
- description?: string;
396
+ interface AreaCodeRequest {
397
+ countryCode: string;
398
+ iso: string;
399
+ countryName: string;
400
+ isActive: boolean;
529
401
  }
530
402
  /**
531
- * Filtros disponibles para buscar tipos de usuario.
403
+ * Filtros disponibles para buscar códigos de área.
532
404
  */
533
- interface UserTypesFilter {
405
+ interface AreaCodesFilter {
534
406
  /** Búsqueda general */
535
407
  Search?: string;
536
- /** Filtro por tipo de usuario (búsqueda parcial) */
537
- UserType?: string;
538
- /** Filtro por key (búsqueda parcial) */
539
- Key?: string;
540
- /** Filtro por descripción (búsqueda parcial) */
541
- Description?: string;
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
- interface ChangePasswordUserRequest {
694
- currentPassword: string;
695
- newPassword: string;
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 tipos de usuario con filtros opcionales.
541
+ * Obtiene todos los géneros con filtros opcionales.
769
542
  * @param filter - Filtros opcionales para la búsqueda
770
543
  */
771
- getUserTypes(filter?: UserTypesFilter): Promise<ResponseModel<UserType[]>>;
544
+ getGenders(filter?: GendersFilter): Promise<ResponseModel<Gender[]>>;
772
545
  /**
773
- * Obtiene el modelo de filtros disponibles para tipos de usuario.
546
+ * Obtiene el modelo de filtros disponibles para géneros.
774
547
  */
775
- getUserTypesFilters(): Promise<ResponseModel<FilterGroupsModel>>;
548
+ getGendersFilters(): Promise<ResponseModel<FilterGroupsModel>>;
776
549
  /**
777
- * Obtiene un tipo de usuario por su ID.
778
- * @param id - ID del tipo de usuario
550
+ * Obtiene un género por su ID.
551
+ * @param id - ID del género
779
552
  */
780
- getUserTypeById(id: number): Promise<ResponseModel<UserType>>;
553
+ getGenderById(id: number): Promise<ResponseModel<Gender>>;
781
554
  /**
782
- * Crea un nuevo tipo de usuario.
783
- * @param request - Datos del tipo de usuario a crear
555
+ * Crea un nuevo género.
556
+ * @param request - Datos del género a crear
784
557
  */
785
- createUserType(request: UserTypeRequest): Promise<ResponseModel<UserType>>;
558
+ createGender(request: GenderRequest): Promise<ResponseModel<Gender>>;
786
559
  /**
787
- * Actualiza un tipo de usuario existente.
788
- * @param id - ID del tipo de usuario a actualizar
789
- * @param request - Nuevos datos del tipo de usuario
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
- updateUserType(id: number, request: UserTypeRequest): Promise<ResponseModel<UserType>>;
564
+ updateGender(id: number, request: GenderRequest): Promise<ResponseModel<Gender>>;
792
565
  /**
793
- * Elimina un tipo de usuario.
794
- * @param id - ID del tipo de usuario a eliminar
566
+ * Elimina un género.
567
+ * @param id - ID del género a eliminar
795
568
  */
796
- deleteUserType(id: number): Promise<ResponseModel<void>>;
569
+ deleteGender(id: number): Promise<ResponseModel<void>>;
797
570
  /**
798
- * Obtiene todos los roles con filtros opcionales.
571
+ * Obtiene todos los códigos de área con filtros opcionales.
799
572
  * @param filter - Filtros opcionales para la búsqueda
800
573
  */
801
- getRoles(filter?: RolesFilter): Promise<ResponseModel<Role[]>>;
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 un rol por su ID.
808
- * @param id - ID del rol
576
+ * Obtiene el modelo de filtros disponibles para códigos de área.
809
577
  */
810
- getRoleById(id: number): Promise<ResponseModel<Role>>;
578
+ getAreaCodesFilters(): Promise<ResponseModel<FilterGroupsModel>>;
811
579
  /**
812
- * Obtiene los roles asociados a un tipo de usuario.
813
- * @param userTypeId - ID del tipo de usuario
580
+ * Obtiene un código de área por su ID.
581
+ * @param id - ID del código de área
814
582
  */
815
- getRolesByUserType(userTypeId: number): Promise<ResponseModel<Role[]>>;
583
+ getAreaCodeById(id: number): Promise<ResponseModel<AreaCode>>;
816
584
  /**
817
- * Crea un nuevo rol.
818
- * @param request - Datos del rol a crear
585
+ * Crea un nuevo código de área.
586
+ * @param request - Datos del código de área a crear
819
587
  */
820
- createRole(request: RoleRequest): Promise<ResponseModel<Role>>;
588
+ createAreaCode(request: AreaCodeRequest): Promise<ResponseModel<AreaCode>>;
821
589
  /**
822
- * Actualiza un rol existente.
823
- * @param id - ID del rol a actualizar
824
- * @param request - Nuevos datos del rol
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
- updateRole(id: number, request: RoleRequest): Promise<ResponseModel<Role>>;
594
+ updateAreaCode(id: number, request: AreaCodeRequest): Promise<ResponseModel<AreaCode>>;
827
595
  /**
828
- * Activa o desactiva un rol.
829
- * @param id - ID del rol
596
+ * Activa o desactiva un código de área.
597
+ * @param id - ID del código de área
830
598
  */
831
- toggleRoleStatus(id: number): Promise<ResponseModel<Role>>;
599
+ toggleAreaCodeStatus(id: number): Promise<ResponseModel<AreaCode>>;
832
600
  /**
833
- * Elimina un rol.
834
- * @param id - ID del rol a eliminar
601
+ * Elimina un código de área.
602
+ * @param id - ID del código de área a eliminar
835
603
  */
836
- deleteRole(id: number): Promise<ResponseModel<void>>;
604
+ deleteAreaCode(id: number): Promise<ResponseModel<void>>;
837
605
  }
838
606
 
839
- /**
840
- * Interfaz que representa un módulo del sistema.
841
- */
842
- interface Module {
843
- moduleId: number;
844
- module: string;
845
- description: string;
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
- * Request para crear o actualizar un módulo.
853
- */
854
- interface ModuleRequest {
855
- module: string;
856
- description: string;
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
- /** Filtro por nombre del módulo (búsqueda parcial) */
867
- Module?: string;
868
- /** Filtro por descripción (búsqueda parcial) */
869
- Description?: string;
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 endpoint del sistema.
675
+ * Interfaz que representa un empaque del inventario.
876
676
  */
877
- interface Endpoint {
878
- endpointId: number;
879
- endpoint: string;
880
- httpMethod: string;
881
- path: string;
882
- description: string;
883
- requiresAuth: boolean;
884
- requiresPermission: boolean | null;
885
- requiresSignature: boolean;
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
- createdAt: string;
890
- updatedAt: string | null;
891
- deleted: boolean;
687
+ materialId: number;
688
+ providerId: number;
892
689
  }
893
690
  /**
894
- * Request para crear o actualizar un endpoint.
691
+ * Request para crear o actualizar un empaque.
895
692
  */
896
- interface EndpointRequest {
897
- endpoint: string;
898
- httpMethod: string;
899
- path: string;
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
- requiresAuth?: boolean;
902
- requiresPermission?: boolean;
903
- requiresSignature?: boolean;
904
- requiresHeader?: boolean;
905
- allowedOrigins?: string[];
906
- isActive?: boolean;
724
+ isRecyclable: boolean;
725
+ isFragile: boolean;
907
726
  }
908
727
  /**
909
- * Métodos HTTP disponibles para endpoints.
728
+ * Request para crear o actualizar un material.
910
729
  */
911
- type HttpMethodType = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
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 endpoints.
914
- * Todos los campos son opcionales.
738
+ * Filtros disponibles para buscar materiales.
915
739
  */
916
- interface EndpointsFilter {
917
- /** Búsqueda general (busca en Endpoint, Path y Description) */
740
+ interface MaterialsFilter {
918
741
  Search?: string;
919
- /** Filtro por nombre del endpoint (búsqueda parcial) */
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
- /** Filtro por endpoints que requieren autenticación */
930
- RequiresAuth?: boolean;
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 una ruta de UI del sistema.
749
+ * Interfaz que representa un proveedor del inventario.
943
750
  */
944
- interface UIRoute {
945
- uiRouteId: number;
946
- uiRoute: string;
947
- path: string;
948
- description: string;
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 una ruta de UI.
761
+ * Request para crear o actualizar un proveedor.
956
762
  */
957
- interface UIRouteRequest {
958
- uiRoute: string;
959
- path: string;
960
- description: string;
961
- isActive?: boolean;
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 rutas de UI.
965
- * Todos los campos son opcionales.
772
+ * Filtros disponibles para buscar proveedores.
966
773
  */
967
- interface UIRoutesFilter {
968
- /** Búsqueda general (busca en UIRoute, Path y Description) */
774
+ interface InventoryProvidersFilter {
969
775
  Search?: string;
970
- /** Filtro por nombre de la ruta (búsqueda parcial) */
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 las configuraciones del sistema.
781
+ * Servicio para gestionar inventario: ubicaciones, estatus, empaques y materiales.
982
782
  */
983
- declare class SystemService {
783
+ declare class InventoryService {
984
784
  private api;
985
785
  private readonly BASE_PATH;
986
786
  constructor(api: API);
987
787
  /**
988
- * Obtiene todos los módulos con filtros opcionales.
788
+ * Obtiene todas las ubicaciones con filtros opcionales.
989
789
  * @param filter - Filtros opcionales para la búsqueda
990
790
  */
991
- getModules(filter?: ModulesFilter): Promise<ResponseModel<Module[]>>;
791
+ getLocations(filter?: LocationsFilter): Promise<ResponseModel<Location[]>>;
992
792
  /**
993
- * Obtiene el modelo de filtros disponibles para módulos.
793
+ * Obtiene el modelo de filtros disponibles para ubicaciones.
994
794
  */
995
- getModulesFilters(): Promise<ResponseModel<FilterGroupsModel>>;
795
+ getLocationFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
996
796
  /**
997
- * Obtiene un módulo por su ID.
998
- * @param id - ID del módulo
797
+ * Obtiene una ubicación por su ID.
798
+ * @param id - ID de la ubicación
999
799
  */
1000
- getModuleById(id: number): Promise<ResponseModel<Module>>;
800
+ getLocationById(id: number): Promise<ResponseModel<Location>>;
1001
801
  /**
1002
- * Crea un nuevo módulo.
1003
- * @param request - Datos del módulo a crear
802
+ * Crea una nueva ubicación.
803
+ * @param request - Datos de la ubicación a crear
1004
804
  */
1005
- createModule(request: ModuleRequest): Promise<ResponseModel<Module>>;
805
+ createLocation(request: LocationsRequest): Promise<ResponseModel<Location>>;
1006
806
  /**
1007
- * Actualiza un módulo existente.
1008
- * @param id - ID del módulo a actualizar
1009
- * @param request - Nuevos datos del módulo
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
- updateModule(id: number, request: ModuleRequest): Promise<ResponseModel<Module>>;
811
+ updateLocation(id: number, request: LocationsRequest): Promise<ResponseModel<Location>>;
1012
812
  /**
1013
- * Activa o desactiva un módulo.
1014
- * @param id - ID del módulo
813
+ * Activa o desactiva una ubicación.
814
+ * @param id - ID de la ubicación
1015
815
  */
1016
- toggleModuleStatus(id: number): Promise<ResponseModel<Module>>;
816
+ toggleLocationStatus(id: number): Promise<ResponseModel<Location>>;
1017
817
  /**
1018
- * Elimina un módulo.
1019
- * @param id - ID del módulo a eliminar
818
+ * Elimina una ubicación.
819
+ * @param id - ID de la ubicación a eliminar
1020
820
  */
1021
- deleteModule(id: number): Promise<ResponseModel<void>>;
821
+ deleteLocation(id: number): Promise<ResponseModel<void>>;
1022
822
  /**
1023
- * Obtiene todos los endpoints con filtros opcionales.
823
+ * Obtiene todos los estatus de inventario con filtros opcionales.
1024
824
  * @param filter - Filtros opcionales para la búsqueda
1025
825
  */
1026
- getEndpoints(filter?: EndpointsFilter): Promise<ResponseModel<Endpoint[]>>;
826
+ getStatuses(filter?: InventoryStatusesFilter): Promise<ResponseModel<InventoryStatus[]>>;
1027
827
  /**
1028
- * Obtiene el modelo de filtros disponibles para endpoints.
828
+ * Obtiene el modelo de filtros disponibles para estatus de inventario.
1029
829
  */
1030
- getEndpointsFilters(): Promise<ResponseModel<FilterGroupsModel>>;
830
+ getStatusFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
1031
831
  /**
1032
- * Obtiene los módulos disponibles (valores únicos del primer segmento del path).
832
+ * Obtiene un estatus de inventario por su ID.
833
+ * @param id - ID del estatus
1033
834
  */
1034
- getEndpointModules(): Promise<ResponseModel<string[]>>;
835
+ getStatusById(id: number): Promise<ResponseModel<InventoryStatus>>;
1035
836
  /**
1036
- * Obtiene un endpoint por su ID.
1037
- * @param id - ID del endpoint
837
+ * Crea un nuevo estatus de inventario.
838
+ * @param request - Datos del estatus a crear
1038
839
  */
1039
- getEndpointById(id: number): Promise<ResponseModel<Endpoint>>;
840
+ createStatus(request: InventoryStatusRequest): Promise<ResponseModel<InventoryStatus>>;
1040
841
  /**
1041
- * Crea un nuevo endpoint.
1042
- * @param request - Datos del endpoint a crear
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
- createEndpoint(request: EndpointRequest): Promise<ResponseModel<Endpoint>>;
846
+ updateStatus(id: number, request: InventoryStatusRequest): Promise<ResponseModel<InventoryStatus>>;
1045
847
  /**
1046
- * Actualiza un endpoint existente.
1047
- * @param id - ID del endpoint a actualizar
1048
- * @param request - Nuevos datos del endpoint
848
+ * Elimina un estatus de inventario.
849
+ * @param id - ID del estatus a eliminar
1049
850
  */
1050
- updateEndpoint(id: number, request: EndpointRequest): Promise<ResponseModel<Endpoint>>;
851
+ deleteStatus(id: number): Promise<ResponseModel<void>>;
1051
852
  /**
1052
- * Activa o desactiva un endpoint.
1053
- * @param id - ID del endpoint
853
+ * Obtiene todos los empaques con filtros opcionales.
854
+ * @param filter - Filtros opcionales para la búsqueda
1054
855
  */
1055
- toggleEndpointStatus(id: number): Promise<ResponseModel<Endpoint>>;
856
+ getPackings(filter?: PackingsFilter): Promise<ResponseModel<Packing[]>>;
1056
857
  /**
1057
- * Elimina un endpoint.
1058
- * @param id - ID del endpoint a eliminar
858
+ * Obtiene el modelo de filtros disponibles para empaques.
1059
859
  */
1060
- deleteEndpoint(id: number): Promise<ResponseModel<void>>;
860
+ getPackingFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
1061
861
  /**
1062
- * Obtiene todas las rutas de UI con filtros opcionales.
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
- getUIRoutes(filter?: UIRoutesFilter): Promise<ResponseModel<UIRoute[]>>;
891
+ getMaterials(filter?: MaterialsFilter): Promise<ResponseModel<Material[]>>;
1066
892
  /**
1067
- * Obtiene el modelo de filtros disponibles para rutas de UI.
893
+ * Obtiene el modelo de filtros disponibles para materiales.
1068
894
  */
1069
- getUIRoutesFilters(): Promise<ResponseModel<FilterGroupsModel>>;
895
+ getMaterialFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
1070
896
  /**
1071
- * Obtiene una ruta de UI por su ID.
1072
- * @param id - ID de la ruta
897
+ * Obtiene un material por su ID.
898
+ * @param id - ID del material
1073
899
  */
1074
- getUIRouteById(id: number): Promise<ResponseModel<UIRoute>>;
900
+ getMaterialById(id: number): Promise<ResponseModel<Material>>;
1075
901
  /**
1076
- * Crea una nueva ruta de UI.
1077
- * @param request - Datos de la ruta a crear
902
+ * Crea un nuevo material.
903
+ * @param request - Datos del material a crear
1078
904
  */
1079
- createUIRoute(request: UIRouteRequest): Promise<ResponseModel<UIRoute>>;
905
+ createMaterial(request: MaterialRequest): Promise<ResponseModel<Material>>;
1080
906
  /**
1081
- * Actualiza una ruta de UI existente.
1082
- * @param id - ID de la ruta a actualizar
1083
- * @param request - Nuevos datos de la ruta
907
+ * Actualiza un material existente.
908
+ * @param id - ID del material a actualizar
909
+ * @param request - Nuevos datos del material
1084
910
  */
1085
- updateUIRoute(id: number, request: UIRouteRequest): Promise<ResponseModel<UIRoute>>;
911
+ updateMaterial(id: number, request: MaterialRequest): Promise<ResponseModel<Material>>;
1086
912
  /**
1087
- * Activa o desactiva una ruta de UI.
1088
- * @param id - ID de la ruta
913
+ * Elimina un material.
914
+ * @param id - ID del material a eliminar
1089
915
  */
1090
- toggleUIRouteStatus(id: number): Promise<ResponseModel<UIRoute>>;
916
+ deleteMaterial(id: number): Promise<ResponseModel<void>>;
1091
917
  /**
1092
- * Elimina una ruta de UI.
1093
- * @param id - ID de la ruta a eliminar
918
+ * Obtiene todos los proveedores con filtros opcionales.
919
+ * @param filter - Filtros opcionales para la búsqueda
1094
920
  */
1095
- deleteUIRoute(id: number): Promise<ResponseModel<void>>;
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
- interface Location {
1099
- locationId: number;
1100
- locationName: string;
1101
- address1: string;
1102
- address2: string;
1103
- city: string;
1104
- state: string;
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
- interface LocationsRequest {
1120
- locationName: string;
1121
- address1: string;
1122
- address2?: string;
1123
- city: string;
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
- interface InventoryStatusesFilter {
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
- InventoryStatus?: string;
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 empaque del inventario.
990
+ * Interfaz que representa un endpoint del sistema.
1167
991
  */
1168
- interface Packing {
1169
- packingId: number;
1170
- packing: string;
1171
- key: string;
1172
- materialId: number;
1173
- length: number;
1174
- width: number;
1175
- height: number;
1176
- weightLimit: number | null;
1177
- cost: number;
1178
- providerId: number;
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 empaque.
1009
+ * Request para crear o actualizar un endpoint.
1183
1010
  */
1184
- interface PackingRequest {
1185
- packing: string;
1186
- key?: string;
1187
- materialId: number;
1188
- length: number;
1189
- width: number;
1190
- height: number;
1191
- weightLimit?: number;
1192
- cost: number;
1193
- providerId: number;
1194
- isActive: boolean;
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
- * Filtros disponibles para buscar empaques.
1024
+ * Métodos HTTP disponibles para endpoints.
1198
1025
  */
1199
- interface PackingsFilter {
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
- * Interfaz que representa un material del inventario.
1028
+ * Filtros disponibles para buscar endpoints.
1029
+ * Todos los campos son opcionales.
1209
1030
  */
1210
- interface Material {
1211
- materialId: number;
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
- Material?: string;
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
- IsRecyclable?: boolean;
1236
- IsFragile?: boolean;
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 un proveedor del inventario.
1057
+ * Interfaz que representa una ruta de UI del sistema.
1241
1058
  */
1242
- interface InventoryProvider {
1243
- providerId: number;
1244
- provider: string;
1245
- contactName: string;
1246
- areaCodeId: number;
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 | null;
1065
+ createdAt: string;
1251
1066
  updatedAt: string | null;
1067
+ deleted: boolean;
1252
1068
  }
1253
1069
  /**
1254
- * Request para crear o actualizar un proveedor.
1070
+ * Request para crear o actualizar una ruta de UI.
1255
1071
  */
1256
- interface InventoryProviderRequest {
1257
- provider: string;
1258
- contactName: string;
1259
- areaCodeId: number;
1260
- contactNumber: string;
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 proveedores.
1079
+ * Filtros disponibles para buscar rutas de UI.
1080
+ * Todos los campos son opcionales.
1266
1081
  */
1267
- interface InventoryProvidersFilter {
1082
+ interface UIRoutesFilter {
1083
+ /** Búsqueda general (busca en UIRoute, Path y Description) */
1268
1084
  Search?: string;
1269
- Provider?: string;
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 inventario: ubicaciones, estatus, empaques y materiales.
1096
+ * Servicio para gestionar las configuraciones del sistema.
1275
1097
  */
1276
- declare class InventoryService {
1098
+ declare class SystemService {
1277
1099
  private api;
1278
1100
  private readonly BASE_PATH;
1279
1101
  constructor(api: API);
1280
1102
  /**
1281
- * Obtiene todas las ubicaciones con filtros opcionales.
1103
+ * Obtiene todos los módulos con filtros opcionales.
1282
1104
  * @param filter - Filtros opcionales para la búsqueda
1283
1105
  */
1284
- getLocations(filter?: LocationsFilter): Promise<ResponseModel<Location[]>>;
1106
+ getModules(filter?: ModulesFilter): Promise<ResponseModel<Module[]>>;
1285
1107
  /**
1286
- * Obtiene el modelo de filtros disponibles para ubicaciones.
1108
+ * Obtiene el modelo de filtros disponibles para módulos.
1287
1109
  */
1288
- getLocationFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
1110
+ getModulesFilters(): Promise<ResponseModel<FilterGroupsModel>>;
1289
1111
  /**
1290
- * Obtiene una ubicación por su ID.
1291
- * @param id - ID de la ubicación
1112
+ * Obtiene un módulo por su ID.
1113
+ * @param id - ID del módulo
1292
1114
  */
1293
- getLocationById(id: number): Promise<ResponseModel<Location>>;
1115
+ getModuleById(id: number): Promise<ResponseModel<Module>>;
1294
1116
  /**
1295
- * Crea una nueva ubicación.
1296
- * @param request - Datos de la ubicación a crear
1117
+ * Crea un nuevo módulo.
1118
+ * @param request - Datos del módulo a crear
1297
1119
  */
1298
- createLocation(request: LocationsRequest): Promise<ResponseModel<Location>>;
1120
+ createModule(request: ModuleRequest): Promise<ResponseModel<Module>>;
1299
1121
  /**
1300
- * Actualiza una ubicación existente.
1301
- * @param id - ID de la ubicación a actualizar
1302
- * @param request - Nuevos datos de la ubicación
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
- updateLocation(id: number, request: LocationsRequest): Promise<ResponseModel<Location>>;
1126
+ updateModule(id: number, request: ModuleRequest): Promise<ResponseModel<Module>>;
1305
1127
  /**
1306
- * Activa o desactiva una ubicación.
1307
- * @param id - ID de la ubicación
1128
+ * Activa o desactiva un módulo.
1129
+ * @param id - ID del módulo
1308
1130
  */
1309
- toggleLocationStatus(id: number): Promise<ResponseModel<Location>>;
1131
+ toggleModuleStatus(id: number): Promise<ResponseModel<Module>>;
1310
1132
  /**
1311
- * Elimina una ubicación.
1312
- * @param id - ID de la ubicación a eliminar
1133
+ * Elimina un módulo.
1134
+ * @param id - ID del módulo a eliminar
1313
1135
  */
1314
- deleteLocation(id: number): Promise<ResponseModel<void>>;
1136
+ deleteModule(id: number): Promise<ResponseModel<void>>;
1315
1137
  /**
1316
- * Obtiene todos los estatus de inventario con filtros opcionales.
1138
+ * Obtiene todos los endpoints con filtros opcionales.
1317
1139
  * @param filter - Filtros opcionales para la búsqueda
1318
1140
  */
1319
- getStatuses(filter?: InventoryStatusesFilter): Promise<ResponseModel<InventoryStatus[]>>;
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 todos los empaques con filtros opcionales.
1347
- * @param filter - Filtros opcionales para la búsqueda
1143
+ * Obtiene el modelo de filtros disponibles para endpoints.
1348
1144
  */
1349
- getPackings(filter?: PackingsFilter): Promise<ResponseModel<Packing[]>>;
1145
+ getEndpointsFilters(): Promise<ResponseModel<FilterGroupsModel>>;
1350
1146
  /**
1351
- * Obtiene el modelo de filtros disponibles para empaques.
1147
+ * Obtiene los módulos disponibles (valores únicos del primer segmento del path).
1352
1148
  */
1353
- getPackingFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
1149
+ getEndpointModules(): Promise<ResponseModel<string[]>>;
1354
1150
  /**
1355
- * Obtiene un empaque por su ID.
1356
- * @param id - ID del empaque
1151
+ * Obtiene un endpoint por su ID.
1152
+ * @param id - ID del endpoint
1357
1153
  */
1358
- getPackingById(id: number): Promise<ResponseModel<Packing>>;
1154
+ getEndpointById(id: number): Promise<ResponseModel<Endpoint>>;
1359
1155
  /**
1360
- * Crea un nuevo empaque.
1361
- * @param request - Datos del empaque a crear
1156
+ * Crea un nuevo endpoint.
1157
+ * @param request - Datos del endpoint a crear
1362
1158
  */
1363
- createPacking(request: PackingRequest): Promise<ResponseModel<Packing>>;
1159
+ createEndpoint(request: EndpointRequest): Promise<ResponseModel<Endpoint>>;
1364
1160
  /**
1365
- * Actualiza un empaque existente.
1366
- * @param id - ID del empaque a actualizar
1367
- * @param request - Nuevos datos del empaque
1161
+ * Actualiza un endpoint existente.
1162
+ * @param id - ID del endpoint a actualizar
1163
+ * @param request - Nuevos datos del endpoint
1368
1164
  */
1369
- updatePacking(id: number, request: PackingRequest): Promise<ResponseModel<Packing>>;
1165
+ updateEndpoint(id: number, request: EndpointRequest): Promise<ResponseModel<Endpoint>>;
1370
1166
  /**
1371
- * Activa o desactiva un empaque.
1372
- * @param id - ID del empaque
1167
+ * Activa o desactiva un endpoint.
1168
+ * @param id - ID del endpoint
1373
1169
  */
1374
- togglePackingStatus(id: number): Promise<ResponseModel<Packing>>;
1170
+ toggleEndpointStatus(id: number): Promise<ResponseModel<Endpoint>>;
1375
1171
  /**
1376
- * Elimina un empaque.
1377
- * @param id - ID del empaque a eliminar
1172
+ * Elimina un endpoint.
1173
+ * @param id - ID del endpoint a eliminar
1378
1174
  */
1379
- deletePacking(id: number): Promise<ResponseModel<void>>;
1175
+ deleteEndpoint(id: number): Promise<ResponseModel<void>>;
1380
1176
  /**
1381
- * Obtiene todos los materiales con filtros opcionales.
1177
+ * Obtiene todas las rutas de UI con filtros opcionales.
1382
1178
  * @param filter - Filtros opcionales para la búsqueda
1383
1179
  */
1384
- getMaterials(filter?: MaterialsFilter): Promise<ResponseModel<Material[]>>;
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
- * Actualiza un material existente.
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
- updateMaterial(id: number, request: MaterialRequest): Promise<ResponseModel<Material>>;
1184
+ getUIRoutesFilters(): Promise<ResponseModel<FilterGroupsModel>>;
1405
1185
  /**
1406
- * Elimina un material.
1407
- * @param id - ID del material a eliminar
1186
+ * Obtiene una ruta de UI por su ID.
1187
+ * @param id - ID de la ruta
1408
1188
  */
1409
- deleteMaterial(id: number): Promise<ResponseModel<void>>;
1189
+ getUIRouteById(id: number): Promise<ResponseModel<UIRoute>>;
1410
1190
  /**
1411
- * Obtiene todos los proveedores con filtros opcionales.
1412
- * @param filter - Filtros opcionales para la búsqueda
1191
+ * Crea una nueva ruta de UI.
1192
+ * @param request - Datos de la ruta a crear
1413
1193
  */
1414
- getProviders(filter?: InventoryProvidersFilter): Promise<ResponseModel<InventoryProvider[]>>;
1194
+ createUIRoute(request: UIRouteRequest): Promise<ResponseModel<UIRoute>>;
1415
1195
  /**
1416
- * Obtiene el modelo de filtros disponibles para proveedores.
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
- getProviderFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
1200
+ updateUIRoute(id: number, request: UIRouteRequest): Promise<ResponseModel<UIRoute>>;
1419
1201
  /**
1420
- * Obtiene un proveedor por su ID.
1421
- * @param id - ID del proveedor
1202
+ * Activa o desactiva una ruta de UI.
1203
+ * @param id - ID de la ruta
1422
1204
  */
1423
- getProviderById(id: number): Promise<ResponseModel<InventoryProvider>>;
1205
+ toggleUIRouteStatus(id: number): Promise<ResponseModel<UIRoute>>;
1424
1206
  /**
1425
- * Crea un nuevo proveedor.
1426
- * @param request - Datos del proveedor a crear
1207
+ * Elimina una ruta de UI.
1208
+ * @param id - ID de la ruta a eliminar
1427
1209
  */
1428
- createProvider(request: InventoryProviderRequest): Promise<ResponseModel<InventoryProvider>>;
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
- * Interfaz que representa una imagen de producto.
1449
- */
1450
- interface ProductImage {
1451
- productImageId: number;
1452
- productImage: string;
1453
- mediaTypeId: number;
1454
- productId: number | null;
1455
- mediaRoleId: number | null;
1456
- imageURL: string;
1457
- createdAt: string | null;
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 | null;
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
- * Interfaz que representa un bullet de producto.
1484
- */
1485
- interface ProductBullet {
1486
- productBulletId: number;
1487
- productId: number;
1488
- bulletOrder: number;
1489
- title: string;
1490
- text: string;
1491
- createdAt: string | null;
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
- * Interfaz que representa un keyword de producto.
1516
- */
1517
- interface ProductKeyword {
1518
- productKeywordId: number;
1519
- productId: number;
1520
- keyword: string;
1521
- createdAt: string | null;
1522
- updatedAt: string | null;
1523
- deleted: boolean | null;
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
- * Interfaz que representa un precio de producto.
1543
- */
1544
- interface ProductPrice {
1545
- productPriceId: number;
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
- * Interfaz que representa un producto en blanco.
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
- ProductId?: number;
1660
- BlankProductId?: number;
1661
- ColorVariant?: string;
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
- * Interfaz que representa una talla.
1666
- */
1667
- interface Size {
1668
- sizeId: number;
1669
- size: string;
1670
- description: string;
1671
- sizeGroupId: number | null;
1672
- width: string;
1673
- length: string;
1674
- createdAt: string | null;
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
- * Interfaz que representa un grupo de tallas.
1700
- */
1701
- interface SizeGroup {
1702
- sizeGroupId: number;
1703
- sizeGroup: string;
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
- * Interfaz que representa un tipo de producto.
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 una categoría de producto.
1317
+ * Interfaz que representa un rol del sistema.
1754
1318
  */
1755
- interface ProductCategory {
1756
- productCategoryId: number;
1757
- productCategory: string;
1758
- description: string;
1759
- isActive: boolean | null;
1760
- createdAt: string | null;
1761
- updatedAt: string | null;
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 una categoría de producto.
1328
+ * Request para crear o actualizar un rol.
1766
1329
  */
1767
- interface ProductCategoryRequest {
1768
- productCategory: string;
1769
- description: string;
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 categorías de producto.
1338
+ * Filtros disponibles para buscar roles.
1774
1339
  */
1775
- interface ProductCategoriesFilter {
1340
+ interface RolesFilter {
1341
+ /** Búsqueda general */
1776
1342
  Search?: string;
1777
- ProductCategory?: string;
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
- * Interfaz que representa un estatus de producto.
1784
- */
1785
- interface ProductStatus {
1786
- productStatusId: number;
1787
- productStatus: string;
1788
- description: string;
1789
- isSellable: boolean | null;
1790
- createdAt: string | null;
1791
- updatedAt: string | null;
1792
- deleted: boolean | null;
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
- * Request para crear o actualizar un estatus de producto.
1796
- */
1797
- interface ProductStatusRequest {
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
- * Filtros disponibles para buscar estatus de producto.
1804
- */
1805
- interface ProductStatusesFilter {
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
- * Interfaz que representa un estudio.
1814
- */
1815
- interface Studio {
1816
- studioId: number;
1817
- studio: string;
1818
- logo: string;
1819
- isActive: boolean | null;
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
- * Interfaz que representa una licencia.
1843
- */
1844
- interface License {
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
- * Interfaz que representa un proveedor.
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
- * Request para crear o actualizar un proveedor.
1891
- */
1892
- interface ProviderRequest {
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
- * Filtros disponibles para buscar proveedores.
1902
- */
1903
- interface ProvidersFilter {
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
- * Servicio para gestionar productos y catálogos de productos.
1911
- */
1912
- declare class ProductService {
1913
- private api;
1914
- private readonly BASE_PATH;
1915
- constructor(api: API);
1916
- /**
1917
- * Obtiene todas las imágenes de producto con filtros opcionales.
1918
- * @param filter - Filtros opcionales para la búsqueda
1919
- */
1920
- getImages(filter?: ProductImagesFilter): Promise<ResponseModel<ProductImage[]>>;
1921
- /**
1922
- * Obtiene el modelo de filtros disponibles para imágenes de producto.
1923
- */
1924
- getImageFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
1925
- /**
1926
- * Obtiene una imagen de producto por su ID.
1927
- * @param id - ID de la imagen
1928
- */
1929
- getImageById(id: number): Promise<ResponseModel<ProductImage>>;
1930
- /**
1931
- * Crea una nueva imagen de producto.
1932
- * @param request - Datos de la imagen a crear
1933
- */
1934
- createImage(request: ProductImageRequest): Promise<ResponseModel<ProductImage>>;
1935
- /**
1936
- * Actualiza una imagen de producto existente.
1937
- * @param id - ID de la imagen a actualizar
1938
- * @param request - Nuevos datos de la imagen
1939
- */
1940
- updateImage(id: number, request: ProductImageRequest): Promise<ResponseModel<ProductImage>>;
1941
- /**
1942
- * Elimina una imagen de producto.
1943
- * @param id - ID de la imagen a eliminar
1944
- */
1945
- deleteImage(id: number): Promise<ResponseModel<void>>;
1946
- /**
1947
- * Obtiene todos los bullets de producto con filtros opcionales.
1948
- * @param filter - Filtros opcionales para la búsqueda
1949
- */
1950
- getBullets(filter?: ProductBulletsFilter): Promise<ResponseModel<ProductBullet[]>>;
1951
- /**
1952
- * Obtiene el modelo de filtros disponibles para bullets de producto.
1953
- */
1954
- getBulletFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
1955
- /**
1956
- * Obtiene un bullet de producto por su ID.
1957
- * @param id - ID del bullet
1958
- */
1959
- getBulletById(id: number): Promise<ResponseModel<ProductBullet>>;
1960
- /**
1961
- * Crea un nuevo bullet de producto.
1962
- * @param request - Datos del bullet a crear
1963
- */
1964
- createBullet(request: ProductBulletRequest): Promise<ResponseModel<ProductBullet>>;
1965
- /**
1966
- * Actualiza un bullet de producto existente.
1967
- * @param id - ID del bullet a actualizar
1968
- * @param request - Nuevos datos del bullet
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 un estudio por su ID.
2262
- * @param id - ID del estudio
2263
- */
2264
- getStudioById(id: number): Promise<ResponseModel<Studio>>;
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
- * Crea un nuevo estudio.
2267
- * @param request - Datos del estudio a crear
1473
+ * Obtiene la información general del usuario para la vista de perfil.
1474
+ * @returns
2268
1475
  */
2269
- createStudio(request: StudioRequest): Promise<ResponseModel<Studio>>;
1476
+ profile(): Promise<ResponseModel<UserProfileResponse>>;
1477
+ changePasswordUser(request: ChangePasswordUserRequest): Promise<ResponseModel>;
1478
+ updateUserData(request: UserDataUpdateRequest): Promise<ResponseModel>;
2270
1479
  /**
2271
- * Actualiza un estudio existente.
2272
- * @param id - ID del estudio a actualizar
2273
- * @param request - Nuevos datos del estudio
1480
+ * Crea un nuevo usuario administrador.
1481
+ * @param request - Datos del nuevo administrador
2274
1482
  */
2275
- updateStudio(id: number, request: StudioRequest): Promise<ResponseModel<Studio>>;
1483
+ newAdminUser(request: UserAdminRequest): Promise<ResponseModel<AdminUser>>;
2276
1484
  /**
2277
- * Activa o desactiva un estudio.
2278
- * @param id - ID del estudio
1485
+ * Crea la autenticación para un usuario.
1486
+ * @param request - Datos de autenticación del usuario
2279
1487
  */
2280
- toggleStudioStatus(id: number): Promise<ResponseModel<Studio>>;
1488
+ createUserAuthentication(request: UserAuthAdminRequest): Promise<ResponseModel<AdminAuthentication>>;
2281
1489
  /**
2282
- * Elimina un estudio.
2283
- * @param id - ID del estudio a eliminar
1490
+ * Cambia la contraseña de un administrador.
1491
+ * @param id - ID del usuario
1492
+ * @param request - Nueva contraseña
2284
1493
  */
2285
- deleteStudio(id: number): Promise<ResponseModel<void>>;
1494
+ changePasswordAdmin(id: number, request: ChangePasswordAdminRequest): Promise<ResponseModel>;
2286
1495
  /**
2287
- * Obtiene todas las licencias con filtros opcionales.
1496
+ * Obtiene todos los administradores con filtros opcionales.
2288
1497
  * @param filter - Filtros opcionales para la búsqueda
2289
1498
  */
2290
- getLicenses(filter?: LicensesFilter): Promise<ResponseModel<License[]>>;
1499
+ getAllAdmins(filter?: UserAdminFilter): Promise<ResponseModel<AdminUser[]>>;
2291
1500
  /**
2292
- * Obtiene el modelo de filtros disponibles para licencias.
1501
+ * Obtiene el modelo de filtros disponibles para administradores.
2293
1502
  */
2294
- getLicenseFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
1503
+ getAdminFiltersModel(): Promise<ResponseModel<FilterGroupsModel>>;
2295
1504
  /**
2296
- * Obtiene una licencia por su ID.
2297
- * @param id - ID de la licencia
1505
+ * Obtiene un administrador por su ID.
1506
+ * @param id - ID del administrador
2298
1507
  */
2299
- getLicenseById(id: number): Promise<ResponseModel<License>>;
1508
+ getAdminById(id: number): Promise<ResponseModel<AdminUser>>;
2300
1509
  /**
2301
- * Crea una nueva licencia.
2302
- * @param request - Datos de la licencia a crear
1510
+ * Obtiene la autenticación de un administrador.
1511
+ * @param id - ID del usuario
2303
1512
  */
2304
- createLicense(request: LicenseRequest): Promise<ResponseModel<License>>;
1513
+ getAdminAuthentication(id: number): Promise<ResponseModel<AdminAuthentication>>;
2305
1514
  /**
2306
- * Actualiza una licencia existente.
2307
- * @param id - ID de la licencia a actualizar
2308
- * @param request - Nuevos datos de la licencia
1515
+ * Actualiza un administrador existente.
1516
+ * @param id - ID del administrador
1517
+ * @param request - Nuevos datos del administrador
2309
1518
  */
2310
- updateLicense(id: number, request: LicenseRequest): Promise<ResponseModel<License>>;
1519
+ updateAdmin(id: number, request: UserAdminUpdateRequest): Promise<ResponseModel<AdminUser>>;
2311
1520
  /**
2312
- * Activa o desactiva una licencia.
2313
- * @param id - ID de la licencia
1521
+ * Activa o desactiva un administrador.
1522
+ * @param id - ID del administrador
2314
1523
  */
2315
- toggleLicenseStatus(id: number): Promise<ResponseModel<License>>;
1524
+ toggleAdminStatus(id: number): Promise<ResponseModel<AdminUser>>;
2316
1525
  /**
2317
- * Elimina una licencia.
2318
- * @param id - ID de la licencia a eliminar
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
- deleteLicense(id: number): Promise<ResponseModel<void>>;
1530
+ updateAdminAuthentication(id: number, request: UserAuthUpdateRequest): Promise<ResponseModel<AdminAuthentication>>;
2321
1531
  /**
2322
- * Obtiene todos los proveedores con filtros opcionales.
1532
+ * Obtiene todos los tipos de usuario con filtros opcionales.
2323
1533
  * @param filter - Filtros opcionales para la búsqueda
2324
1534
  */
2325
- getProviders(filter?: ProvidersFilter): Promise<ResponseModel<Provider[]>>;
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 un proveedor por su ID.
2332
- * @param id - ID del proveedor
1537
+ * Obtiene el modelo de filtros disponibles para tipos de usuario.
2333
1538
  */
2334
- getProviderById(id: number): Promise<ResponseModel<Provider>>;
1539
+ getUserTypesFilters(): Promise<ResponseModel<FilterGroupsModel>>;
2335
1540
  /**
2336
- * Crea un nuevo proveedor.
2337
- * @param request - Datos del proveedor a crear
1541
+ * Obtiene un tipo de usuario por su ID.
1542
+ * @param id - ID del tipo de usuario
2338
1543
  */
2339
- createProvider(request: ProviderRequest): Promise<ResponseModel<Provider>>;
1544
+ getUserTypeById(id: number): Promise<ResponseModel<UserType>>;
2340
1545
  /**
2341
- * Actualiza un proveedor existente.
2342
- * @param id - ID del proveedor a actualizar
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
- updateProvider(id: number, request: ProviderRequest): Promise<ResponseModel<Provider>>;
1549
+ createUserType(request: UserTypeRequest): Promise<ResponseModel<UserType>>;
2346
1550
  /**
2347
- * Activa o desactiva un proveedor.
2348
- * @param id - ID del proveedor
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
- toggleProviderStatus(id: number): Promise<ResponseModel<Provider>>;
1555
+ updateUserType(id: number, request: UserTypeRequest): Promise<ResponseModel<UserType>>;
2351
1556
  /**
2352
- * Elimina un proveedor.
2353
- * @param id - ID del proveedor a eliminar
1557
+ * Elimina un tipo de usuario.
1558
+ * @param id - ID del tipo de usuario a eliminar
2354
1559
  */
2355
- deleteProvider(id: number): Promise<ResponseModel<void>>;
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 géneros con filtros opcionales.
1562
+ * Obtiene todos los roles con filtros opcionales.
2434
1563
  * @param filter - Filtros opcionales para la búsqueda
2435
1564
  */
2436
- getGenders(filter?: GendersFilter): Promise<ResponseModel<Gender[]>>;
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 todos los códigos de área con filtros opcionales.
2464
- * @param filter - Filtros opcionales para la búsqueda
1567
+ * Obtiene el modelo de filtros disponibles para roles.
2465
1568
  */
2466
- getAreaCodes(filter?: AreaCodesFilter): Promise<ResponseModel<AreaCode[]>>;
1569
+ getRolesFilters(): Promise<ResponseModel<FilterGroupsModel>>;
2467
1570
  /**
2468
- * Obtiene el modelo de filtros disponibles para códigos de área.
1571
+ * Obtiene un rol por su ID.
1572
+ * @param id - ID del rol
2469
1573
  */
2470
- getAreaCodesFilters(): Promise<ResponseModel<FilterGroupsModel>>;
1574
+ getRoleById(id: number): Promise<ResponseModel<Role>>;
2471
1575
  /**
2472
- * Obtiene un código de área por su ID.
2473
- * @param id - ID del código de área
1576
+ * Obtiene los roles asociados a un tipo de usuario.
1577
+ * @param userTypeId - ID del tipo de usuario
2474
1578
  */
2475
- getAreaCodeById(id: number): Promise<ResponseModel<AreaCode>>;
1579
+ getRolesByUserType(userTypeId: number): Promise<ResponseModel<Role[]>>;
2476
1580
  /**
2477
- * Crea un nuevo código de área.
2478
- * @param request - Datos del código de área a crear
1581
+ * Crea un nuevo rol.
1582
+ * @param request - Datos del rol a crear
2479
1583
  */
2480
- createAreaCode(request: AreaCodeRequest): Promise<ResponseModel<AreaCode>>;
1584
+ createRole(request: RoleRequest): Promise<ResponseModel<Role>>;
2481
1585
  /**
2482
- * Actualiza un código de área existente.
2483
- * @param id - ID del código de área a actualizar
2484
- * @param request - Nuevos datos del código de área
1586
+ * Actualiza un rol existente.
1587
+ * @param id - ID del rol a actualizar
1588
+ * @param request - Nuevos datos del rol
2485
1589
  */
2486
- updateAreaCode(id: number, request: AreaCodeRequest): Promise<ResponseModel<AreaCode>>;
1590
+ updateRole(id: number, request: RoleRequest): Promise<ResponseModel<Role>>;
2487
1591
  /**
2488
- * Activa o desactiva un código de área.
2489
- * @param id - ID del código de área
1592
+ * Activa o desactiva un rol.
1593
+ * @param id - ID del rol
2490
1594
  */
2491
- toggleAreaCodeStatus(id: number): Promise<ResponseModel<AreaCode>>;
1595
+ toggleRoleStatus(id: number): Promise<ResponseModel<Role>>;
2492
1596
  /**
2493
- * Elimina un código de área.
2494
- * @param id - ID del código de área a eliminar
1597
+ * Elimina un rol.
1598
+ * @param id - ID del rol a eliminar
2495
1599
  */
2496
- deleteAreaCode(id: number): Promise<ResponseModel<void>>;
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, type BlankProduct, type BlankProductRequest, type BlankProductsFilter, CatalogService, type ChangePasswordAdminRequest, type ChangePasswordRequest, type ChangePasswordUserRequest, type ConfirmEmailRequest, CryptoService, type DetailProductPOD, type DetailProductPODFilter, type DetailProductPODRequest, 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 License, type LicenseRequest, type LicensesFilter, 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 ProductBullet, type ProductBulletRequest, type ProductBulletsFilter, type ProductCategoriesFilter, type ProductCategory, type ProductCategoryRequest, type ProductImage, type ProductImageRequest, type ProductImagesFilter, type ProductKeyword, type ProductKeywordRequest, type ProductKeywordsFilter, type ProductPrice, type ProductPriceRequest, type ProductPricesFilter, ProductService, type ProductStatus, type ProductStatusRequest, type ProductStatusesFilter, type ProductType, type ProductTypeRequest, type ProductTypesFilter, type Provider, type ProviderRequest, type ProvidersFilter, type RefreshTokenRequest, type RefreshTokenResponse, type RequestConfig, type RequestInterceptor, type RequestOptions, type ResponseModel, type Role, type RoleRequest, type RolesFilter, type SendOtpRequest, type ServiceProperties, type Size, type SizeGroup, type SizeGroupRequest, type SizeGroupsFilter, type SizeRequest, type SizesFilter, type Studio, type StudioRequest, type StudiosFilter, 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 };
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 };