@manticore-labs/nest 0.0.117 → 0.1.2
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/.idea/workspace.xml +71 -33
- package/README.md +1 -0
- package/build/main/index.d.ts +21 -0
- package/build/main/index.js +84 -29
- package/build/main/lib/auth0/actualizar-usuario-cuenta-dto/actualizar-usuario-cuenta-dto.js +11 -4
- package/build/main/lib/auth0/actualizar-usuario-dto/actualizar-usuario-dto.js +11 -4
- package/build/main/lib/auth0/auth0.controller.js +51 -13
- package/build/main/lib/auth0/auth0.service.d.ts +8 -4
- package/build/main/lib/auth0/auth0.service.js +30 -4
- package/build/main/lib/auth0/crear-usuario-dto/crear-usuario-dto.js +11 -4
- package/build/main/lib/auth0/seguridad-jwt-moviles/check-jwt.js +2 -1
- package/build/main/lib/auth0/seguridad-jwt-moviles/tiene-token-valido-seguridad-web.js +2 -1
- package/build/main/lib/decoradores/dto/validadores-or-and/esTipo.d.ts +3 -0
- package/build/main/lib/decoradores/dto/validadores-or-and/esTipo.js +39 -0
- package/build/main/lib/decoradores/dto/validadores-or-and/interfaces.d.ts +12 -0
- package/build/main/lib/decoradores/dto/validadores-or-and/interfaces.js +3 -0
- package/build/main/lib/decoradores/mlab-swagger/constantes.d.ts +6 -0
- package/build/main/lib/decoradores/mlab-swagger/constantes.js +24 -0
- package/build/main/lib/decoradores/mlab-swagger/delegadores/delegadores-swagger.d.ts +5 -0
- package/build/main/lib/decoradores/mlab-swagger/delegadores/delegadores-swagger.js +20 -0
- package/build/main/lib/decoradores/mlab-swagger/helpers/swagger-helpers.d.ts +8 -0
- package/build/main/lib/decoradores/mlab-swagger/helpers/swagger-helpers.js +40 -0
- package/build/main/lib/decoradores/mlab-swagger/helpers/swagger-params-helper.d.ts +13 -0
- package/build/main/lib/decoradores/mlab-swagger/helpers/swagger-params-helper.js +89 -0
- package/build/main/lib/decoradores/mlab-swagger/interfaces.d.ts +71 -0
- package/build/main/lib/decoradores/mlab-swagger/interfaces.js +3 -0
- package/build/main/lib/decoradores/mlab-swagger/mlab-swagger.d.ts +2 -0
- package/build/main/lib/decoradores/mlab-swagger/mlab-swagger.js +49 -0
- package/build/main/lib/decoradores/mlab-swagger/utils/definir-documentacion-swagger.d.ts +2 -0
- package/build/main/lib/decoradores/mlab-swagger/utils/definir-documentacion-swagger.js +14 -0
- package/build/main/lib/decoradores/mlab-swagger/utils/generar-documentos-swagger.d.ts +2 -0
- package/build/main/lib/decoradores/mlab-swagger/utils/generar-documentos-swagger.js +26 -0
- package/build/main/lib/decoradores/mlab-swagger/utils/modulo-swagger.interface.d.ts +14 -0
- package/build/main/lib/decoradores/mlab-swagger/utils/modulo-swagger.interface.js +3 -0
- package/build/main/lib/expresiones-regulares/letras-espacios-tildes-enie.js +2 -1
- package/build/main/lib/funciones-util/buscar-registro.js +3 -2
- package/build/main/lib/funciones-util/buscar-un-registro-por-id.js +2 -1
- package/build/main/lib/funciones-util/buscar-where-or.js +2 -1
- package/build/main/lib/funciones-util/contar-registros.js +2 -1
- package/build/main/lib/funciones-util/crear-un-registro.js +2 -1
- package/build/main/lib/funciones-util/editar-un-registro.js +2 -1
- package/build/main/lib/funciones-util/eliminar-uno.js +2 -1
- package/build/main/lib/funciones-util/funciones-busqueda/generar-campos-con-condiciones.js +3 -2
- package/build/main/lib/funciones-util/funciones-busqueda/generar-joins.js +2 -1
- package/build/main/lib/funciones-util/funciones-busqueda/obtener-objeto-where-y-relations.js +2 -1
- package/build/main/lib/funciones-util/funciones-busqueda/verificar-campo.js +2 -1
- package/build/main/lib/funciones-util/funciones-edicion-varias-tablas/editar-campos.js +2 -1
- package/build/main/lib/funciones-util/funciones-edicion-varias-tablas/editar-varias-tablas.js +2 -1
- package/build/main/lib/funciones-util/misc/eliminar-nulos-recursivamente.js +2 -1
- package/build/main/lib/funciones-util/typeorm/valor-esta-dentro-del-arreglo.js +8 -2
- package/build/main/lib/google-cloud/google-cloud-storage.service.js +7 -2
- package/build/main/lib/google-cloud/google-cloud-vision-api/constants.d.ts +1 -0
- package/build/main/lib/google-cloud/google-cloud-vision-api/constants.js +5 -0
- package/build/main/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api-principal.module.d.ts +5 -0
- package/build/main/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api-principal.module.js +55 -0
- package/build/main/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.helper.d.ts +3 -0
- package/build/main/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.helper.js +9 -0
- package/build/main/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.module.d.ts +2 -0
- package/build/main/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.module.js +29 -0
- package/build/main/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.service.d.ts +26 -0
- package/build/main/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.service.js +91 -0
- package/build/main/lib/google-cloud/google-cloud-vision-api/interfaces/texto-imagen.interface.d.ts +6 -0
- package/build/main/lib/google-cloud/google-cloud-vision-api/interfaces/texto-imagen.interface.js +3 -0
- package/build/main/lib/interfaces-util/campos-a-buscar.js +2 -1
- package/build/main/lib/menu/entities/menu-entity.js +31 -12
- package/build/main/lib/modulos-configuracion/base-datos/base-datos.core.module.d.ts +6 -0
- package/build/main/lib/modulos-configuracion/base-datos/base-datos.core.module.js +71 -0
- package/build/main/lib/modulos-configuracion/base-datos/base-datos.helper.d.ts +10 -0
- package/build/main/lib/modulos-configuracion/base-datos/base-datos.helper.js +154 -0
- package/build/main/lib/modulos-configuracion/base-datos/base-datos.module.d.ts +7 -0
- package/build/main/lib/modulos-configuracion/base-datos/base-datos.module.js +30 -0
- package/build/main/lib/modulos-configuracion/base-datos/base-datos.service.d.ts +13 -0
- package/build/main/lib/modulos-configuracion/base-datos/base-datos.service.js +114 -0
- package/build/main/lib/modulos-configuracion/base-datos/constantes.d.ts +2 -0
- package/build/main/lib/modulos-configuracion/base-datos/constantes.js +6 -0
- package/build/main/lib/modulos-configuracion/base-datos/excepciones/creacion.exception.d.ts +9 -0
- package/build/main/lib/modulos-configuracion/base-datos/excepciones/creacion.exception.js +22 -0
- package/build/main/lib/modulos-configuracion/base-datos/excepciones/vacio.exception.d.ts +5 -0
- package/build/main/lib/modulos-configuracion/base-datos/excepciones/vacio.exception.js +13 -0
- package/build/main/lib/modulos-configuracion/base-datos/excepciones/validacion.exception.d.ts +6 -0
- package/build/main/lib/modulos-configuracion/base-datos/excepciones/validacion.exception.js +11 -0
- package/build/main/lib/modulos-configuracion/base-datos/funciones/guardar-tree-lugar.d.ts +3 -0
- package/build/main/lib/modulos-configuracion/base-datos/funciones/guardar-tree-lugar.js +34 -0
- package/build/main/lib/modulos-configuracion/base-datos/interfaces/conexion-base-datos.interface.d.ts +12 -0
- package/build/main/lib/modulos-configuracion/base-datos/interfaces/conexion-base-datos.interface.js +3 -0
- package/build/main/lib/modulos-configuracion/base-datos/interfaces/configuracion-bd.interface.d.ts +11 -0
- package/build/main/lib/modulos-configuracion/base-datos/interfaces/configuracion-bd.interface.js +3 -0
- package/build/main/lib/modulos-configuracion/base-datos/interfaces/entidades.interface.d.ts +8 -0
- package/build/main/lib/modulos-configuracion/base-datos/interfaces/entidades.interface.js +3 -0
- package/build/main/lib/modulos-configuracion/base-datos/interfaces/entorno-configuracion.interface.d.ts +28 -0
- package/build/main/lib/modulos-configuracion/base-datos/interfaces/entorno-configuracion.interface.js +3 -0
- package/build/main/lib/modulos-configuracion/base-datos/interfaces/meta-dato-prueba.interface.d.ts +22 -0
- package/build/main/lib/modulos-configuracion/base-datos/interfaces/meta-dato-prueba.interface.js +3 -0
- package/build/main/lib/modulos-configuracion/base-datos/interfaces/respuesta-validacion.interface.d.ts +24 -0
- package/build/main/lib/modulos-configuracion/base-datos/interfaces/respuesta-validacion.interface.js +3 -0
- package/build/main/lib/modulos-configuracion/base-datos/store/datos-prueba.storage.d.ts +6 -0
- package/build/main/lib/modulos-configuracion/base-datos/store/datos-prueba.storage.js +14 -0
- package/build/main/lib/mongo-configuracion-indice.interface.d.ts +5 -0
- package/build/main/lib/mongo-configuracion-indice.interface.js +3 -0
- package/build/main/lib/one-signal/one-signal.controller.js +35 -9
- package/build/main/lib/one-signal/one-signal.service.js +7 -2
- package/build/main/lib/politicas/revisar-si-tiene-nombre-permiso.js +2 -1
- package/build/main/lib/politicas/revisar-si-tiene-rol.js +2 -1
- package/build/main/lib/principal-mongo.controller.d.ts +11 -0
- package/build/main/lib/principal-mongo.controller.js +82 -0
- package/build/main/lib/principal-mongo.service.d.ts +10 -0
- package/build/main/lib/principal-mongo.service.js +45 -0
- package/build/main/lib/principal.controller.d.ts +13 -11
- package/build/main/lib/principal.controller.js +33 -8
- package/build/main/lib/principal.dto.js +11 -4
- package/build/main/lib/principal.entity.js +19 -6
- package/build/main/lib/principal.find-many-options.js +25 -11
- package/build/main/lib/principal.find-many-where-or.js +13 -5
- package/build/main/lib/principal.gateway.js +37 -9
- package/build/main/lib/principal.http.service.d.ts +13 -0
- package/build/main/lib/principal.http.service.js +26 -0
- package/build/main/lib/principal.id.js +7 -2
- package/build/main/lib/principal.resolver.js +33 -8
- package/build/main/lib/principal.service.d.ts +18 -7
- package/build/main/lib/principal.service.js +90 -4
- package/build/main/lib/seguridad/aplicar-politicas-de-seguridad.js +2 -1
- package/build/main/lib/seguridad/funciones/convertir-arreglo-en-arreglo-de-observables.js +2 -1
- package/build/main/lib/seguridad/funciones/index.js +7 -6
- package/build/main/lib/seguridad/funciones/obtener-reflector-seguridad.js +2 -1
- package/build/main/lib/seguridad/funciones/obtener-request.js +2 -1
- package/build/main/lib/seguridad/funciones/obtener-response.js +2 -1
- package/build/main/lib/seguridad/funciones/tiene-acceso-permitido.js +2 -1
- package/build/main/lib/seguridad/seguridad.decorator.d.ts +1 -1
- package/build/main/lib/seguridad/seguridad.decorator.js +3 -2
- package/build/module/index.d.ts +21 -0
- package/build/module/index.js +49 -1
- package/build/module/lib/auth0/actualizar-usuario-cuenta-dto/actualizar-usuario-cuenta-dto.js +10 -4
- package/build/module/lib/auth0/actualizar-usuario-dto/actualizar-usuario-dto.js +10 -4
- package/build/module/lib/auth0/auth0.controller.js +50 -13
- package/build/module/lib/auth0/auth0.service.d.ts +8 -4
- package/build/module/lib/auth0/auth0.service.js +29 -4
- package/build/module/lib/auth0/crear-usuario-dto/crear-usuario-dto.js +10 -4
- package/build/module/lib/auth0/seguridad-jwt-moviles/check-jwt.js +1 -1
- package/build/module/lib/auth0/seguridad-jwt-moviles/tiene-token-valido-seguridad-web.js +1 -1
- package/build/module/lib/decoradores/dto/validadores-or-and/esTipo.d.ts +3 -0
- package/build/module/lib/decoradores/dto/validadores-or-and/esTipo.js +35 -0
- package/build/module/lib/decoradores/dto/validadores-or-and/interfaces.d.ts +12 -0
- package/build/module/lib/decoradores/dto/validadores-or-and/interfaces.js +1 -0
- package/build/module/lib/decoradores/mlab-swagger/constantes.d.ts +6 -0
- package/build/module/lib/decoradores/mlab-swagger/constantes.js +21 -0
- package/build/module/lib/decoradores/mlab-swagger/delegadores/delegadores-swagger.d.ts +5 -0
- package/build/module/lib/decoradores/mlab-swagger/delegadores/delegadores-swagger.js +16 -0
- package/build/module/lib/decoradores/mlab-swagger/helpers/swagger-helpers.d.ts +8 -0
- package/build/module/lib/decoradores/mlab-swagger/helpers/swagger-helpers.js +48 -0
- package/build/module/lib/decoradores/mlab-swagger/helpers/swagger-params-helper.d.ts +13 -0
- package/build/module/lib/decoradores/mlab-swagger/helpers/swagger-params-helper.js +93 -0
- package/build/module/lib/decoradores/mlab-swagger/interfaces.d.ts +71 -0
- package/build/module/lib/decoradores/mlab-swagger/interfaces.js +1 -0
- package/build/module/lib/decoradores/mlab-swagger/mlab-swagger.d.ts +2 -0
- package/build/module/lib/decoradores/mlab-swagger/mlab-swagger.js +45 -0
- package/build/module/lib/decoradores/mlab-swagger/utils/definir-documentacion-swagger.d.ts +2 -0
- package/build/module/lib/decoradores/mlab-swagger/utils/definir-documentacion-swagger.js +10 -0
- package/build/module/lib/decoradores/mlab-swagger/utils/generar-documentos-swagger.d.ts +2 -0
- package/build/module/lib/decoradores/mlab-swagger/utils/generar-documentos-swagger.js +22 -0
- package/build/module/lib/decoradores/mlab-swagger/utils/modulo-swagger.interface.d.ts +14 -0
- package/build/module/lib/decoradores/mlab-swagger/utils/modulo-swagger.interface.js +1 -0
- package/build/module/lib/funciones-util/buscar-registro.js +1 -1
- package/build/module/lib/funciones-util/buscar-un-registro-por-id.js +1 -1
- package/build/module/lib/funciones-util/buscar-where-or.js +1 -1
- package/build/module/lib/funciones-util/contar-registros.js +1 -1
- package/build/module/lib/funciones-util/crear-un-registro.js +1 -1
- package/build/module/lib/funciones-util/editar-un-registro.js +1 -1
- package/build/module/lib/funciones-util/eliminar-uno.js +1 -1
- package/build/module/lib/funciones-util/funciones-busqueda/generar-campos-con-condiciones.js +1 -1
- package/build/module/lib/funciones-util/funciones-busqueda/generar-joins.js +1 -1
- package/build/module/lib/funciones-util/funciones-busqueda/obtener-objeto-where-y-relations.js +1 -1
- package/build/module/lib/funciones-util/funciones-busqueda/verificar-campo.js +1 -1
- package/build/module/lib/funciones-util/funciones-edicion-varias-tablas/editar-campos.js +1 -1
- package/build/module/lib/funciones-util/funciones-edicion-varias-tablas/editar-varias-tablas.js +1 -1
- package/build/module/lib/funciones-util/misc/eliminar-nulos-recursivamente.js +1 -1
- package/build/module/lib/funciones-util/typeorm/valor-esta-dentro-del-arreglo.js +7 -2
- package/build/module/lib/google-cloud/google-cloud-storage.service.js +6 -2
- package/build/module/lib/google-cloud/google-cloud-vision-api/constants.d.ts +1 -0
- package/build/module/lib/google-cloud/google-cloud-vision-api/constants.js +2 -0
- package/build/module/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api-principal.module.d.ts +5 -0
- package/build/module/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api-principal.module.js +52 -0
- package/build/module/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.helper.d.ts +3 -0
- package/build/module/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.helper.js +5 -0
- package/build/module/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.module.d.ts +2 -0
- package/build/module/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.module.js +26 -0
- package/build/module/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.service.d.ts +26 -0
- package/build/module/lib/google-cloud/google-cloud-vision-api/google-cloud-vision-api.service.js +88 -0
- package/build/module/lib/google-cloud/google-cloud-vision-api/interfaces/texto-imagen.interface.d.ts +6 -0
- package/build/module/lib/google-cloud/google-cloud-vision-api/interfaces/texto-imagen.interface.js +1 -0
- package/build/module/lib/interfaces-util/campos-a-buscar.js +1 -1
- package/build/module/lib/menu/entities/menu-entity.js +30 -12
- package/build/module/lib/modulos-configuracion/base-datos/base-datos.core.module.d.ts +6 -0
- package/build/module/lib/modulos-configuracion/base-datos/base-datos.core.module.js +68 -0
- package/build/module/lib/modulos-configuracion/base-datos/base-datos.helper.d.ts +10 -0
- package/build/module/lib/modulos-configuracion/base-datos/base-datos.helper.js +150 -0
- package/build/module/lib/modulos-configuracion/base-datos/base-datos.module.d.ts +7 -0
- package/build/module/lib/modulos-configuracion/base-datos/base-datos.module.js +27 -0
- package/build/module/lib/modulos-configuracion/base-datos/base-datos.service.d.ts +13 -0
- package/build/module/lib/modulos-configuracion/base-datos/base-datos.service.js +111 -0
- package/build/module/lib/modulos-configuracion/base-datos/constantes.d.ts +2 -0
- package/build/module/lib/modulos-configuracion/base-datos/constantes.js +3 -0
- package/build/module/lib/modulos-configuracion/base-datos/excepciones/creacion.exception.d.ts +9 -0
- package/build/module/lib/modulos-configuracion/base-datos/excepciones/creacion.exception.js +18 -0
- package/build/module/lib/modulos-configuracion/base-datos/excepciones/vacio.exception.d.ts +5 -0
- package/build/module/lib/modulos-configuracion/base-datos/excepciones/vacio.exception.js +9 -0
- package/build/module/lib/modulos-configuracion/base-datos/excepciones/validacion.exception.d.ts +6 -0
- package/build/module/lib/modulos-configuracion/base-datos/excepciones/validacion.exception.js +7 -0
- package/build/module/lib/modulos-configuracion/base-datos/funciones/guardar-tree-lugar.d.ts +3 -0
- package/build/module/lib/modulos-configuracion/base-datos/funciones/guardar-tree-lugar.js +30 -0
- package/build/module/lib/modulos-configuracion/base-datos/interfaces/conexion-base-datos.interface.d.ts +12 -0
- package/build/module/lib/modulos-configuracion/base-datos/interfaces/conexion-base-datos.interface.js +1 -0
- package/build/module/lib/modulos-configuracion/base-datos/interfaces/configuracion-bd.interface.d.ts +11 -0
- package/build/module/lib/modulos-configuracion/base-datos/interfaces/configuracion-bd.interface.js +1 -0
- package/build/module/lib/modulos-configuracion/base-datos/interfaces/entidades.interface.d.ts +8 -0
- package/build/module/lib/modulos-configuracion/base-datos/interfaces/entidades.interface.js +1 -0
- package/build/module/lib/modulos-configuracion/base-datos/interfaces/entorno-configuracion.interface.d.ts +28 -0
- package/build/module/lib/modulos-configuracion/base-datos/interfaces/entorno-configuracion.interface.js +1 -0
- package/build/module/lib/modulos-configuracion/base-datos/interfaces/meta-dato-prueba.interface.d.ts +22 -0
- package/build/module/lib/modulos-configuracion/base-datos/interfaces/meta-dato-prueba.interface.js +1 -0
- package/build/module/lib/modulos-configuracion/base-datos/interfaces/respuesta-validacion.interface.d.ts +24 -0
- package/build/module/lib/modulos-configuracion/base-datos/interfaces/respuesta-validacion.interface.js +1 -0
- package/build/module/lib/modulos-configuracion/base-datos/store/datos-prueba.storage.d.ts +6 -0
- package/build/module/lib/modulos-configuracion/base-datos/store/datos-prueba.storage.js +10 -0
- package/build/module/lib/mongo-configuracion-indice.interface.d.ts +5 -0
- package/build/module/lib/mongo-configuracion-indice.interface.js +1 -0
- package/build/module/lib/one-signal/one-signal.controller.js +34 -9
- package/build/module/lib/one-signal/one-signal.service.js +7 -3
- package/build/module/lib/politicas/revisar-si-tiene-nombre-permiso.js +1 -1
- package/build/module/lib/politicas/revisar-si-tiene-rol.js +1 -1
- package/build/module/lib/principal-mongo.controller.d.ts +11 -0
- package/build/module/lib/principal-mongo.controller.js +78 -0
- package/build/module/lib/principal-mongo.service.d.ts +10 -0
- package/build/module/lib/principal-mongo.service.js +41 -0
- package/build/module/lib/principal.controller.d.ts +13 -11
- package/build/module/lib/principal.controller.js +32 -8
- package/build/module/lib/principal.dto.js +10 -4
- package/build/module/lib/principal.entity.js +18 -6
- package/build/module/lib/principal.find-many-options.js +24 -11
- package/build/module/lib/principal.find-many-where-or.js +12 -5
- package/build/module/lib/principal.gateway.js +37 -10
- package/build/module/lib/principal.http.service.d.ts +13 -0
- package/build/module/lib/principal.http.service.js +22 -0
- package/build/module/lib/principal.id.js +6 -2
- package/build/module/lib/principal.resolver.js +32 -8
- package/build/module/lib/principal.service.d.ts +18 -7
- package/build/module/lib/principal.service.js +89 -4
- package/build/module/lib/seguridad/aplicar-politicas-de-seguridad.js +1 -1
- package/build/module/lib/seguridad/funciones/convertir-arreglo-en-arreglo-de-observables.js +1 -1
- package/build/module/lib/seguridad/funciones/obtener-reflector-seguridad.js +1 -1
- package/build/module/lib/seguridad/funciones/obtener-request.js +1 -1
- package/build/module/lib/seguridad/funciones/obtener-response.js +1 -1
- package/build/module/lib/seguridad/funciones/tiene-acceso-permitido.js +1 -1
- package/build/module/lib/seguridad/seguridad.decorator.d.ts +1 -1
- package/build/module/lib/seguridad/seguridad.decorator.js +3 -3
- package/package.json +18 -10
|
@@ -4,6 +4,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
7
10
|
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
8
11
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
9
12
|
};
|
|
@@ -468,12 +471,18 @@ let PrincipalAuth0Controller = class PrincipalAuth0Controller {
|
|
|
468
471
|
__decorate([
|
|
469
472
|
HttpCode(200),
|
|
470
473
|
Post('refreshToken'),
|
|
471
|
-
__param(0, Body('refreshToken'))
|
|
474
|
+
__param(0, Body('refreshToken')),
|
|
475
|
+
__metadata("design:type", Function),
|
|
476
|
+
__metadata("design:paramtypes", [Object]),
|
|
477
|
+
__metadata("design:returntype", void 0)
|
|
472
478
|
], PrincipalAuth0Controller.prototype, "refreshToken", null);
|
|
473
479
|
__decorate([
|
|
474
480
|
HttpCode(200),
|
|
475
481
|
Post('revokeToken'),
|
|
476
|
-
__param(0, Body('refreshToken'))
|
|
482
|
+
__param(0, Body('refreshToken')),
|
|
483
|
+
__metadata("design:type", Function),
|
|
484
|
+
__metadata("design:paramtypes", [Object]),
|
|
485
|
+
__metadata("design:returntype", void 0)
|
|
477
486
|
], PrincipalAuth0Controller.prototype, "revokeToken", null);
|
|
478
487
|
__decorate([
|
|
479
488
|
HttpCode(200),
|
|
@@ -482,7 +491,10 @@ __decorate([
|
|
|
482
491
|
__param(1, Body('name')),
|
|
483
492
|
__param(2, Body('user_id')),
|
|
484
493
|
__param(3, Request()),
|
|
485
|
-
__param(4, Response())
|
|
494
|
+
__param(4, Response()),
|
|
495
|
+
__metadata("design:type", Function),
|
|
496
|
+
__metadata("design:paramtypes", [Object, Object, Object, Object, Object]),
|
|
497
|
+
__metadata("design:returntype", Promise)
|
|
486
498
|
], PrincipalAuth0Controller.prototype, "actualizarUsuarioPorPrimeraVez", null);
|
|
487
499
|
__decorate([
|
|
488
500
|
HttpCode(200),
|
|
@@ -491,14 +503,20 @@ __decorate([
|
|
|
491
503
|
__param(1, Body('name')),
|
|
492
504
|
__param(2, Body('user_id')),
|
|
493
505
|
__param(3, Request()),
|
|
494
|
-
__param(4, Response())
|
|
506
|
+
__param(4, Response()),
|
|
507
|
+
__metadata("design:type", Function),
|
|
508
|
+
__metadata("design:paramtypes", [Object, Object, Object, Object, Object]),
|
|
509
|
+
__metadata("design:returntype", Promise)
|
|
495
510
|
], PrincipalAuth0Controller.prototype, "actualizarCuenta", null);
|
|
496
511
|
__decorate([
|
|
497
512
|
HttpCode(200),
|
|
498
513
|
Get(''),
|
|
499
514
|
__param(0, Query('criterioBusqueda')),
|
|
500
515
|
__param(1, Request()),
|
|
501
|
-
__param(2, Response())
|
|
516
|
+
__param(2, Response()),
|
|
517
|
+
__metadata("design:type", Function),
|
|
518
|
+
__metadata("design:paramtypes", [String, Object, Object]),
|
|
519
|
+
__metadata("design:returntype", Promise)
|
|
502
520
|
], PrincipalAuth0Controller.prototype, "findAll", null);
|
|
503
521
|
__decorate([
|
|
504
522
|
HttpCode(200),
|
|
@@ -506,39 +524,58 @@ __decorate([
|
|
|
506
524
|
__param(0, Body('datosAuth0')),
|
|
507
525
|
__param(1, Body('datosUsuario')),
|
|
508
526
|
__param(2, Request()),
|
|
509
|
-
__param(3, Response())
|
|
527
|
+
__param(3, Response()),
|
|
528
|
+
__metadata("design:type", Function),
|
|
529
|
+
__metadata("design:paramtypes", [CrearUsuarioDto, Object, Object, Object]),
|
|
530
|
+
__metadata("design:returntype", Promise)
|
|
510
531
|
], PrincipalAuth0Controller.prototype, "createOne", null);
|
|
511
532
|
__decorate([
|
|
512
533
|
Get('findWhereOrDatosUsuario'),
|
|
513
534
|
__param(0, Query('criterioBusqueda')),
|
|
514
535
|
__param(1, Request()),
|
|
515
|
-
__param(2, Response())
|
|
536
|
+
__param(2, Response()),
|
|
537
|
+
__metadata("design:type", Function),
|
|
538
|
+
__metadata("design:paramtypes", [String, Object, Object]),
|
|
539
|
+
__metadata("design:returntype", void 0)
|
|
516
540
|
], PrincipalAuth0Controller.prototype, "findWhereOr", null);
|
|
517
541
|
__decorate([
|
|
518
542
|
Get('findAllDatosUsuario'),
|
|
519
543
|
__param(0, Query('criterioBusqueda')),
|
|
520
544
|
__param(1, Request()),
|
|
521
|
-
__param(2, Response())
|
|
545
|
+
__param(2, Response()),
|
|
546
|
+
__metadata("design:type", Function),
|
|
547
|
+
__metadata("design:paramtypes", [Object, Object, Object]),
|
|
548
|
+
__metadata("design:returntype", void 0)
|
|
522
549
|
], PrincipalAuth0Controller.prototype, "findAllDatosUsuario", null);
|
|
523
550
|
__decorate([
|
|
524
551
|
HttpCode(200),
|
|
525
552
|
Get(':id'),
|
|
526
553
|
__param(0, Param('id')),
|
|
527
554
|
__param(1, Request()),
|
|
528
|
-
__param(2, Response())
|
|
555
|
+
__param(2, Response()),
|
|
556
|
+
__metadata("design:type", Function),
|
|
557
|
+
__metadata("design:paramtypes", [Object, Object, Object]),
|
|
558
|
+
__metadata("design:returntype", Promise)
|
|
529
559
|
], PrincipalAuth0Controller.prototype, "findOneById", null);
|
|
530
560
|
__decorate([
|
|
531
561
|
Post('login'),
|
|
532
562
|
__param(0, Body('username')),
|
|
533
|
-
__param(1, Body('password'))
|
|
563
|
+
__param(1, Body('password')),
|
|
564
|
+
__metadata("design:type", Function),
|
|
565
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
566
|
+
__metadata("design:returntype", void 0)
|
|
534
567
|
], PrincipalAuth0Controller.prototype, "login", null);
|
|
535
568
|
__decorate([
|
|
536
569
|
Post('requestChangePasswordByEmail'),
|
|
537
570
|
__param(0, Body('email')),
|
|
538
|
-
__param(1, Body('connection'))
|
|
571
|
+
__param(1, Body('connection')),
|
|
572
|
+
__metadata("design:type", Function),
|
|
573
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
574
|
+
__metadata("design:returntype", void 0)
|
|
539
575
|
], PrincipalAuth0Controller.prototype, "requestChangePasswordByEmail", null);
|
|
540
576
|
PrincipalAuth0Controller = __decorate([
|
|
541
|
-
Controller('auth0')
|
|
577
|
+
Controller('auth0'),
|
|
578
|
+
__metadata("design:paramtypes", [Object, Object, Object, Boolean, Number, Number, Object])
|
|
542
579
|
], PrincipalAuth0Controller);
|
|
543
580
|
export { PrincipalAuth0Controller };
|
|
544
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aDAuY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvYXV0aDAvYXV0aDAuY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUMzRyxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLElBQUksRUFDSixVQUFVLEVBQ1YsUUFBUSxFQUNSLElBQUksRUFDSiw0QkFBNEIsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUNuRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQU12RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUMxRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBT3hFLElBQXNCLHdCQUF3QixHQUE5QztJQUNFLFlBQ21CLG1CQUE0QyxFQUM1QyxhQUEwQyxFQUMxQyxZQUFzQztRQUNyRCxxQkFBcUIsRUFBRSwwQ0FBMEM7UUFDakUsd0JBQXdCLEVBQUUscUJBQXFCO1FBQy9DLCtCQUErQixFQUFFLCtEQUErRDtLQUNqRyxFQUNnQixRQUFpQixJQUFJLEVBQ3JCLE9BQWUsQ0FBQyxFQUNoQixPQUFlLEVBQUUsRUFDeEIsUUFBYTtRQVZOLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBeUI7UUFDNUMsa0JBQWEsR0FBYixhQUFhLENBQTZCO1FBQzFDLGNBQVMsR0FBVCxTQUFT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
|
|
581
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aDAuY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvYXV0aDAvYXV0aDAuY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUMzRyxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLElBQUksRUFDSixVQUFVLEVBQ1YsUUFBUSxFQUNSLElBQUksRUFDSiw0QkFBNEIsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUNuRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQU12RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUMxRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBT3hFLElBQXNCLHdCQUF3QixHQUE5QyxNQUFzQix3QkFBd0I7SUFDNUMsWUFDbUIsbUJBQTRDLEVBQzVDLGFBQTBDLEVBQzFDLFlBQXNDO1FBQ3JELHFCQUFxQixFQUFFLDBDQUEwQztRQUNqRSx3QkFBd0IsRUFBRSxxQkFBcUI7UUFDL0MsK0JBQStCLEVBQUUsK0RBQStEO0tBQ2pHLEVBQ2dCLFFBQWlCLElBQUksRUFDckIsT0FBZSxDQUFDLEVBQ2hCLE9BQWUsRUFBRSxFQUN4QixRQUFhO1FBVk4sd0JBQW1CLEdBQW5CLG1CQUFtQixDQUF5QjtRQUM1QyxrQkFBYSxHQUFiLGFBQWEsQ0FBNkI7UUFD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
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { UserData } from 'auth0';
|
|
1
|
+
import { FindManyOptions, ObjectID } from 'typeorm';
|
|
2
|
+
import { AuthenticationClient, UpdateUserData, UserData } from 'auth0';
|
|
3
3
|
import { ErrorServicioInterface } from '../principal.service';
|
|
4
4
|
import { CamposABuscarInterface } from '../interfaces-util/campos-a-buscar';
|
|
5
5
|
import { Auth0Config } from './interfaces/auth0-config';
|
|
@@ -12,12 +12,12 @@ export declare abstract class PrincipalAuth0Service {
|
|
|
12
12
|
private readonly sort;
|
|
13
13
|
private readonly debug;
|
|
14
14
|
managementClient: any;
|
|
15
|
-
authenticationClient:
|
|
15
|
+
authenticationClient: AuthenticationClient;
|
|
16
16
|
constructor(AUTH0_CONFIG: Auth0Config, _datosUsuarioService?: any, datosUsuarioDto?: any, AUTH0_CONFIG_PASSWORD?: any, search_engine?: string, sort?: string, debug?: boolean);
|
|
17
17
|
findOne(id?: string | number | Date | ObjectID): Promise<UsuarioEntity | ErrorServicioInterface>;
|
|
18
18
|
create(registro: UsuarioEntity): Promise<UserData | ErrorServicioInterface>;
|
|
19
19
|
find(criterioBusqueda?: FindManyOptions<UsuarioEntity>): Promise<UsuarioEntity[] | ErrorServicioInterface>;
|
|
20
|
-
findBy(arregloCamposABuscar: string[], busqueda: string): Promise<
|
|
20
|
+
findBy(arregloCamposABuscar: string[], busqueda: string): Promise<unknown>;
|
|
21
21
|
findOneByIdAndUpdate(id: string | number | Date | ObjectID, datosAActualizar: UsuarioEntity): Promise<UsuarioEntity | ErrorServicioInterface>;
|
|
22
22
|
sendEmailVerification(id: string): Promise<{
|
|
23
23
|
mensaje: string;
|
|
@@ -43,6 +43,10 @@ export declare abstract class PrincipalAuth0Service {
|
|
|
43
43
|
findAll(criterioBusqueda: FindManyOptions<any>, skip: number, take: number): Promise<[UsuarioEntity[], number] | ErrorServicioInterface>;
|
|
44
44
|
login(username: string, password: string): Promise<RespuestaLoginPassword | ErrorServicioInterface>;
|
|
45
45
|
requestChangePasswordByEmail(email: string, connection?: string): Promise<ErrorServicioInterface>;
|
|
46
|
+
restablecerCorreo(id: any, correo: string): Promise<import("auth0").User<import("auth0").AppMetadata, import("auth0").UserMetadata>>;
|
|
47
|
+
bloquearUsuario(id: any): Promise<import("auth0").User<import("auth0").AppMetadata, import("auth0").UserMetadata>>;
|
|
48
|
+
updateOne(id: any, datos: UpdateUserData): Promise<import("auth0").User<import("auth0").AppMetadata, import("auth0").UserMetadata>>;
|
|
49
|
+
reenviarCorreo(id: string): Promise<import("auth0").VerificationEmailJob>;
|
|
46
50
|
}
|
|
47
51
|
export interface UsuarioEntity extends UserData {
|
|
48
52
|
user_metadata?: any;
|
|
@@ -4,13 +4,15 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
7
10
|
import { Injectable } from '@nestjs/common';
|
|
8
|
-
import { AuthenticationClient } from 'auth0';
|
|
11
|
+
import { AuthenticationClient, ManagementClient } from 'auth0';
|
|
9
12
|
import { buscarVariosRegistros } from '../funciones-util/buscar-registro';
|
|
10
13
|
import { PrincipalFindManyOptions } from '../principal.find-many-options';
|
|
11
14
|
import axio from 'axios';
|
|
12
15
|
const axios = axio;
|
|
13
|
-
const ManagementClient = require('auth0').ManagementClient;
|
|
14
16
|
let PrincipalAuth0Service = class PrincipalAuth0Service {
|
|
15
17
|
constructor(AUTH0_CONFIG, _datosUsuarioService, datosUsuarioDto, AUTH0_CONFIG_PASSWORD, search_engine = 'v3', sort = 'created_at:-1', debug = true) {
|
|
16
18
|
this.AUTH0_CONFIG = AUTH0_CONFIG;
|
|
@@ -594,9 +596,32 @@ let PrincipalAuth0Service = class PrincipalAuth0Service {
|
|
|
594
596
|
});
|
|
595
597
|
});
|
|
596
598
|
}
|
|
599
|
+
async restablecerCorreo(id, correo) {
|
|
600
|
+
const cliente = this.managementClient;
|
|
601
|
+
const datos = {
|
|
602
|
+
email: correo
|
|
603
|
+
};
|
|
604
|
+
return await cliente.updateUser({ id }, datos);
|
|
605
|
+
}
|
|
606
|
+
async bloquearUsuario(id) {
|
|
607
|
+
const cliente = this.managementClient;
|
|
608
|
+
const datos = {
|
|
609
|
+
blocked: true
|
|
610
|
+
};
|
|
611
|
+
return await cliente.updateUser({ id }, datos);
|
|
612
|
+
}
|
|
613
|
+
async updateOne(id, datos) {
|
|
614
|
+
const cliente = this.managementClient;
|
|
615
|
+
return await cliente.updateUser({ id }, datos);
|
|
616
|
+
}
|
|
617
|
+
async reenviarCorreo(id) {
|
|
618
|
+
const cliente = this.managementClient;
|
|
619
|
+
return await cliente.sendEmailVerification({ user_id: id });
|
|
620
|
+
}
|
|
597
621
|
};
|
|
598
622
|
PrincipalAuth0Service = __decorate([
|
|
599
|
-
Injectable()
|
|
623
|
+
Injectable(),
|
|
624
|
+
__metadata("design:paramtypes", [Object, Object, Object, Object, String, String, Boolean])
|
|
600
625
|
], PrincipalAuth0Service);
|
|
601
626
|
export { PrincipalAuth0Service };
|
|
602
627
|
function obtenerPrimerOrder(order) {
|
|
@@ -639,4 +664,4 @@ function elaborarUserMetadataAActualizar(user_metadata, user_metadataAActualizar
|
|
|
639
664
|
});
|
|
640
665
|
return user_metadataClonado;
|
|
641
666
|
}
|
|
642
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aDAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvYXV0aDAvYXV0aDAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUMsT0FBTyxFQUFZLG9CQUFvQixFQUFFLE1BQU0sT0FBTyxDQUFDO0FBR3ZELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzFFLE9BQU8sSUFBSSxNQUFNLE9BQU8sQ0FBQztBQUd6QixNQUFNLEtBQUssR0FBUSxJQUFJLENBQUM7QUFDeEIsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsZ0JBQWdCLENBQUM7QUFHM0QsSUFBc0IscUJBQXFCLEdBQTNDO0lBSUUsWUFBNkIsWUFBeUIsRUFDMUIsb0JBQTBCLEVBQzFCLGVBQXFCLEVBQ3BCLHFCQUEyQixFQUMzQixnQkFBd0IsSUFBSSxFQUM1QixPQUFlLGVBQWUsRUFDOUIsUUFBaUIsSUFBSTtRQU5yQixpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUMxQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQU07UUFDMUIsb0JBQWUsR0FBZixlQUFlLENBQU07UUFDcEIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFNO1FBQzNCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLFNBQUksR0FBSixJQUFJLENBQTBCO1FBQzlCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ2hELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLGdCQUFnQixDQUFDO1lBQzNDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxZQUFZO1lBQy9DLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFO1lBQzFDLFlBQVksRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFO1lBQzNDLEtBQUssRUFBRSwyREFBMkQ7U0FDbkUsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksb0JBQW9CLENBQUM7WUFDbkQsTUFBTSxFQUFFLEdBQUcsWUFBWSxDQUFDLE1BQU0sWUFBWTtZQUMxQyxRQUFRLEVBQUUsR0FBRyxZQUFZLENBQUMsU0FBUyxFQUFFO1NBQ3RDLENBQUMsQ0FBQztJQUVMLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQXNDO1FBRWxELElBQUksRUFBRSxFQUFFO1lBQ04sT0FBTyxNQUFNLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQ25DLE1BQU0sU0FBUyxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxnQkFBZ0I7cUJBQ2xCLEtBQUs7cUJBQ0wsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsRUFBRSxpQkFBMkIsRUFBRSxFQUFFO29CQUNuRCxJQUFJLEdBQUcsRUFBRTt3QkFDUCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7NEJBQ2QsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUM7eUJBQy9CO3dCQUNELElBQUksS0FBSyxHQUFHLEdBQUcsQ0FBQzt3QkFDaEIsSUFBSSxPQUFPLEdBQUcsd0JBQXdCLENBQUM7d0JBQ3ZDLElBQUksR0FBRyxDQUFDLFVBQVUsS0FBSyxHQUFHLEVBQUU7NEJBQzFCLEtBQUssR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDOzRCQUN2QixPQUFPLEdBQUcsbUJBQW1CLENBQUM7eUJBQy9CO3dCQUNELE9BQU8sQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO3FCQUU3Qjt5QkFBTTt3QkFDTCxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztxQkFDNUI7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFFUCxDQUFDLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxPQUFPLE1BQU0sSUFBSSxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNoRjtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQXVCO1FBQ2xDLE9BQU8sTUFBTSxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ25DLElBQUksQ0FBQyxnQkFBZ0I7aUJBQ2xCLEtBQUs7aUJBQ0wsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsRUFBRSxhQUFhLEVBQUUsRUFBRTtnQkFDdkMsSUFBSSxHQUFHLEVBQUU7b0JBQ1AsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO3dCQUNkLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDO3FCQUMvQjtvQkFDRCxJQUFJLEtBQUssR0FBRyxHQUFHLENBQUM7b0JBQ2hCLElBQUksT0FBTyxHQUFHLHVCQUF1QixDQUFDO29CQUN0QyxJQUFJLEdBQUcsQ0FBQyxVQUFVLEtBQUssR0FBRyxFQUFFO3dCQUMxQixLQUFLLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQzt3QkFDdkIsT0FBTyxHQUFHLHVCQUF1QixDQUFDO3FCQUNuQztvQkFDRCxJQUFJLEdBQUcsQ0FBQyxVQUFVLEtBQUssR0FBRyxFQUFFO3dCQUMxQixLQUFLLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQzt3QkFDdkIsT0FBTyxHQUFHLGtCQUFrQixDQUFDO3FCQUM5QjtvQkFDRCxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztpQkFDN0I7cUJBQU07b0JBQ0wsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO2lCQUN4QjtZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUksQ0FBQyxnQkFBaUQ7UUFDMUQsT0FBTyxNQUFNLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDbkMsSUFBSSxNQUFNLENBQUM7WUFDWCxJQUFJLGdCQUFnQixFQUFFO2dCQUNwQixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7b0JBQ2QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztpQkFDL0M7Z0JBQ0QsTUFBTSxJQUFJLEdBQUcsa0JBQWtCLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3hELE1BQU0sR0FBRztvQkFDUCxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQzVELElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDdkQsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO29CQUNqQyxjQUFjLEVBQUUsSUFBSTtvQkFDcEIsSUFBSTtpQkFDTCxDQUFDO2dCQUNGLElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFO29CQUMxQixNQUFNLENBQUMsQ0FBQyxHQUFHLGdCQUFnQixDQUFDLEtBQUssQ0FBQztpQkFDbkM7Z0JBQ0QsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUU7b0JBQzNCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsNkJBQTZCLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7aUJBQ3hFO2FBQ0Y7aUJBQU07Z0JBQ0wsTUFBTSxHQUFHO29CQUNQLFFBQVEsRUFBRSxFQUFFO29CQUNaLElBQUksRUFBRSxDQUFDO29CQUNQLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtvQkFDakMsY0FBYyxFQUFFLElBQUk7b0JBQ3BCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtpQkFDaEIsQ0FBQzthQUNIO1lBRUQsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNkLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2FBQ3JDO1lBRUQsSUFBSSxDQUFDLGdCQUFnQjtpQkFDbEIsS0FBSztpQkFDTCxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLGlCQUFzQixFQUFFLEVBQUU7Z0JBQzNDLElBQUksR0FBRyxFQUFFO29CQUNQLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTt3QkFDZCxPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztxQkFDL0I7b0JBQ0QsSUFBSSxLQUFLLEdBQUcsR0FBRyxDQUFDO29CQUNoQixJQUFJLE9BQU8sR0FBRyx5QkFBeUIsQ0FBQztvQkFDeEMsSUFBSSxHQUFHLENBQUMsVUFBVSxLQUFLLEdBQUcsRUFBRTt3QkFDMUIsS0FBSyxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUM7d0JBQ3ZCLE9BQU8sR0FBRyxxQkFBcUIsQ0FBQztxQkFDakM7b0JBQ0QsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7aUJBRTdCO3FCQUFNO29CQUNMLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDbEM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSTtJQUNOLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLG9CQUE4QixFQUFFLFFBQWdCO1FBQzNELE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUM3QixJQUFJLE1BQU0sR0FBRztnQkFDWCxDQUFDLEVBQUUsRUFBRTthQUNOLENBQUM7WUFDRixJQUFJLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDZixvQkFBb0I7aUJBQ2pCLE9BQU8sQ0FDTixDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNSLElBQUksS0FBSyxLQUFLLEVBQUUsRUFBRTtvQkFDaEIsS0FBSyxHQUFHLEdBQUcsS0FBSyxLQUFLLFFBQVEsR0FBRyxDQUFDO2lCQUNsQztxQkFBTTtvQkFDTCxLQUFLLEdBQUcsS0FBSyxHQUFHLE9BQU8sS0FBSyxLQUFLLFFBQVEsR0FBRyxDQUFDO2lCQUM5QztZQUNILENBQUMsQ0FDRixDQUFDO1lBQ0osTUFBTSxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDakIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNkLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2FBQ3JDO1lBQ0QsSUFBSSxDQUFDLGdCQUFnQjtpQkFDbEIsS0FBSztpQkFDTCxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLG1CQUF3QixFQUFFLEVBQUU7Z0JBQzdDLElBQUksR0FBRyxFQUFFO29CQUNQLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTt3QkFDZCxPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztxQkFDL0I7b0JBQ0QsSUFBSSxLQUFLLEdBQUcsR0FBRyxDQUFDO29CQUNoQixJQUFJLE9BQU8sR0FBRyx5QkFBeUIsQ0FBQztvQkFDeEMsSUFBSSxHQUFHLENBQUMsVUFBVSxLQUFLLEdBQUcsRUFBRTt3QkFDMUIsS0FBSyxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUM7d0JBQ3ZCLE9BQU8sR0FBRyxxQkFBcUIsQ0FBQztxQkFDakM7b0JBQ0QsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7aUJBQzdCO3FCQUFNO29CQUNMLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO2lCQUM5QjtZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLG9CQUFvQixDQUFDLEVBQXFDLEVBQ3JDLGdCQUErQjtRQUN4RCxNQUFNLE9BQU8sR0FBUSxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDNUMsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUM5QztRQUNELE9BQU8sTUFBTSxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBRW5DLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRTtnQkFDakIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO29CQUNkLE9BQU8sQ0FBQyxHQUFHLENBQUMsNkJBQTZCLEVBQUUsT0FBTyxDQUFDLENBQUM7aUJBQ3JEO2dCQUNELE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNsQjtZQUVELElBQUksZ0JBQWdCLENBQUMsYUFBYSxFQUFFO2dCQUNsQyxnQkFBZ0IsQ0FBQyxhQUFhLEdBQUcsK0JBQStCLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUN6SDtZQUVELElBQUksQ0FBQyxnQkFBZ0I7aUJBQ2xCLEtBQUs7aUJBQ0wsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxHQUFHLEVBQUUsbUJBQW1CLEVBQUUsRUFBRTtnQkFDN0QsSUFBSSxHQUFHLEVBQUU7b0JBQ1AsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO3dCQUNkLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDO3FCQUMvQjtvQkFDRCxJQUFJLEtBQUssR0FBRyxHQUFHLENBQUM7b0JBQ2hCLElBQUksT0FBTyxHQUFHLDRCQUE0QixDQUFDO29CQUMzQyxJQUFJLEdBQUcsQ0FBQyxVQUFVLEtBQUssR0FBRyxFQUFFO3dCQUMxQixLQUFLLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQzt3QkFDdkIsT0FBTyxHQUFHLGtCQUFrQixDQUFDO3FCQUM5QjtvQkFDRCxJQUFJLEdBQUcsQ0FBQyxVQUFVLEtBQUssR0FBRyxFQUFFO3dCQUMxQixLQUFLLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQzt3QkFDdkIsT0FBTyxHQUFHLHVCQUF1QixDQUFDO3FCQUNuQztvQkFDRCxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztpQkFFN0I7cUJBQU07b0JBQ0wsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7aUJBQzlCO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxFQUFVO1FBQzlCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUM3QixJQUFJLENBQUMsZ0JBQWdCO2lCQUNsQixxQkFBcUIsQ0FBQztnQkFDckIsT0FBTyxFQUFFLEVBQUU7YUFDWixDQUFDO2lCQUNELElBQUksQ0FDSCxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNKLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtvQkFDZCxPQUFPLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztpQkFDaEM7Z0JBQ0QsT0FBTyxDQUFDLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQztZQUMzQyxDQUFDLENBQ0Y7aUJBQ0EsS0FBSyxDQUNKLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ04sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO29CQUNkLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2lCQUMvQjtnQkFDRCxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxDQUFDLENBQUM7WUFDOUQsQ0FBQyxDQUNGLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxZQUFZLENBQUMsWUFBb0I7UUFDL0IsT0FBTyxJQUFJLE9BQU8sQ0FDaEIsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUN4QixNQUFNLE9BQU8sR0FBRyxXQUFXLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxZQUFZLENBQUM7WUFDaEUsTUFBTSxnQ0FBZ0MsR0FBRztnQkFDdkMsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsR0FBRyxFQUFFLE9BQU8sR0FBRyxjQUFjO2dCQUM3QixJQUFJLEVBQUU7b0JBQ0osVUFBVSxFQUFFLGVBQWU7b0JBQzNCLFNBQVMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLHVCQUF1QjtvQkFDcEQsYUFBYSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsb0JBQW9CO29CQUNyRCxhQUFhLEVBQUUsWUFBWTtpQkFDNUI7YUFDRixDQUFDO1lBQ0YsSUFBSTtnQkFDRixNQUFNLGNBQWMsR0FBRyxNQUFNLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO2dCQUNyRSxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzlCO1lBQUMsT0FBTyxLQUFLLEVBQUU7Z0JBQ2QsT0FBTyxDQUFDLEtBQUssQ0FBQztvQkFDWixLQUFLO29CQUNMLE9BQU8sRUFBRSxnQ0FBZ0M7aUJBQzFDLENBQUMsQ0FBQztnQkFDSCxNQUFNLENBQUM7b0JBQ0wsS0FBSyxFQUFFLEdBQUc7b0JBQ1YsT0FBTyxFQUFFLG9CQUFvQjtpQkFDOUIsQ0FBQyxDQUFDO2FBQ0o7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXLENBQUMsWUFBb0I7UUFDOUIsT0FBTyxJQUFJLE9BQU8sQ0FDaEIsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUN4QixNQUFNLE9BQU8sR0FBRyxXQUFXLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxZQUFZLENBQUM7WUFDaEUsTUFBTSxnQ0FBZ0MsR0FBRztnQkFDdkMsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsR0FBRyxFQUFFLE9BQU8sR0FBRyxlQUFlO2dCQUM5QixJQUFJLEVBQUU7b0JBQ0osU0FBUyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsdUJBQXVCO29CQUNwRCxhQUFhLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0I7b0JBQ3JELEtBQUssRUFBRSxZQUFZO2lCQUNwQjthQUNGLENBQUM7WUFDRixJQUFJO2dCQUNGLE1BQU0sY0FBYyxHQUFHLE1BQU0sS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7Z0JBQ3JFLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDOUI7WUFBQyxPQUFPLEtBQUssRUFBRTtnQkFDZCxPQUFPLENBQUMsS0FBSyxDQUFDO29CQUNaLEtBQUs7b0JBQ0wsT0FBTyxFQUFFLGdDQUFnQztpQkFDMUMsQ0FBQyxDQUFDO2dCQUNILE1BQU0sQ0FBQztvQkFDTCxLQUFLLEVBQUUsR0FBRztvQkFDVixPQUFPLEVBQUUsb0JBQW9CO2lCQUM5QixDQUFDLENBQUM7YUFDSjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFhLEVBQUUsVUFBVSxHQUFHLGtDQUFrQztRQUMzRSxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDN0IsSUFBSSxDQUFDLG9CQUFvQjtpQkFDdEIsMEJBQTBCLENBQUM7Z0JBQzFCLEtBQUs7Z0JBQ0wsVUFBVTthQUNYLENBQUM7aUJBQ0QsSUFBSSxDQUNILENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ0osSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO29CQUNkLE9BQU8sQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO2lCQUNoQztnQkFDRCxPQUFPLENBQUMsRUFBRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZELENBQUMsQ0FDRjtpQkFDQSxLQUFLLENBQ0osQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDTixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7b0JBQ2QsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUM7aUJBQy9CO2dCQUNELE9BQU8sQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLENBQUMsQ0FBQztZQUM5RCxDQUFDLENBQ0YsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxFQUErQjtRQUNwQyxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDN0IsSUFBSSxDQUFDLGdCQUFnQjtpQkFDbEIsS0FBSztpQkFDTCxNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDMUIsSUFBSSxHQUFHLEVBQUU7b0JBQ1AsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO3dCQUNkLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDO3FCQUMvQjtvQkFDRCxJQUFJLEtBQUssR0FBRyxHQUFHLENBQUM7b0JBQ2hCLElBQUksT0FBTyxHQUFHLHdCQUF3QixDQUFDO29CQUN2QyxJQUFJLEdBQUcsQ0FBQyxVQUFVLEtBQUssR0FBRyxFQUFFO3dCQUMxQixLQUFLLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQzt3QkFDdkIsT0FBTyxHQUFHLGtCQUFrQixDQUFDO3FCQUM5QjtvQkFDRCxJQUFJLEdBQUcsQ0FBQyxVQUFVLEtBQUssR0FBRyxFQUFFO3dCQUMxQixLQUFLLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQzt3QkFDdkIsT0FBTyxHQUFHLHVCQUF1QixDQUFDO3FCQUNuQztvQkFDRCxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztpQkFDN0I7cUJBQU07b0JBQ0wsT0FBTyxDQUFDLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7aUJBQzFEO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsVUFBVSxDQUFDLGVBQWdDO1FBQy9DLE9BQU8sSUFBSSxPQUFPLENBQ2hCLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDVixJQUFJLFNBQVMsR0FBRyxDQUFDLENBQUM7WUFDbEIsSUFBSSxpQkFBaUIsR0FBRyxDQUFDLENBQUM7WUFDMUIsTUFBTSxnQkFBZ0IsR0FBUSxFQUFFLENBQUM7WUFFakMsT0FBTyxTQUFTLEdBQUcsZUFBZSxDQUFDLE1BQU0sRUFBRTtnQkFDekMsTUFBTSxnQkFBZ0IsR0FBRyxTQUFTLENBQUM7Z0JBQ25DLE1BQU0sZUFBZSxHQUFHLEtBQUssR0FBRyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDaEQsVUFBVSxDQUNSLEdBQUcsRUFBRTtvQkFFSCxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO3lCQUMzQyxJQUFJLENBQ0gsQ0FBQyxjQUFtQixFQUFFLEVBQUU7d0JBQ3RCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTs0QkFDZCxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLGNBQWMsQ0FBQyxDQUFDOzRCQUMvQyxPQUFPLENBQUMsR0FBRyxDQUFDLHdCQUF3QixFQUFFLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQzs0QkFDOUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO3lCQUNyRDt3QkFDRCxJQUFJLGNBQWMsQ0FBQyxLQUFLLEtBQUssR0FBRyxJQUFJLGNBQWMsQ0FBQyxLQUFLLEtBQUssR0FBRyxFQUFFOzRCQUNoRSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0NBQ2QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQ0FBaUMsRUFBRSxlQUFlLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDOzZCQUNuRjs0QkFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLFlBQVksZUFBZSxDQUFDLGdCQUFnQixDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztpQ0FDM0UsSUFBSSxDQUNILENBQUMsT0FBTyxFQUFFLEVBQUU7Z0NBQ1YsaUJBQWlCLEVBQUUsQ0FBQztnQ0FDcEIsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dDQUNsQyxJQUFJLGlCQUFpQixLQUFLLGVBQWUsQ0FBQyxNQUFNLEVBQUU7b0NBQ2hELE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2lDQUMzQjs0QkFDSCxDQUFDLENBQ0Y7aUNBQ0EsS0FBSyxDQUNKLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0NBQ0osaUJBQWlCLEVBQUUsQ0FBQztnQ0FDcEIsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dDQUN6QixJQUFJLGlCQUFpQixLQUFLLGVBQWUsQ0FBQyxNQUFNLEVBQUU7b0NBQ2hELE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2lDQUMzQjs0QkFDSCxDQUFDLENBQ0YsQ0FBQzt5QkFDTDs2QkFBTTs0QkFDTCxpQkFBaUIsRUFBRSxDQUFDOzRCQUNwQixnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7NEJBQ3RDLElBQUksaUJBQWlCLEtBQUssZUFBZSxDQUFDLE1BQU0sRUFBRTtnQ0FDaEQsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7NkJBQzNCO3lCQUNGO29CQUVILENBQUMsQ0FDRjt5QkFDQSxLQUFLLENBQ0osQ0FBQyxHQUFHLEVBQUUsRUFBRTt3QkFDTixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7NEJBQ2QsT0FBTyxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLENBQUMsQ0FBQzt5QkFDdkM7d0JBQ0QsaUJBQWlCLEVBQUUsQ0FBQzt3QkFDcEIsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO3dCQUMzQixJQUFJLGlCQUFpQixLQUFLLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFOzRCQUNwRCxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQzt5QkFDM0I7b0JBQ0gsQ0FBQyxDQUNGLENBQUM7Z0JBQ04sQ0FBQyxFQUFFLGVBQWUsQ0FDbkIsQ0FBQztnQkFDRixTQUFTLEVBQUUsQ0FBQzthQUNiO1FBQ0gsQ0FBQyxDQUNGLENBQUM7SUFHSixDQUFDO0lBRUQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxhQUF1QyxFQUFFLElBQUksR0FBRyxDQUFDLEVBQUUsSUFBSSxHQUFHLEVBQUU7UUFDNUUsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDN0IsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNkLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQyxDQUFDO2FBQzNDO1lBQ0QsTUFBTSxtQkFBbUIsR0FBMEIsTUFBTSxJQUFJLENBQUMsb0JBQW9CO2lCQUMvRSxXQUFXLENBQUMsYUFBYSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztZQUMxQyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ2QsT0FBTyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO2FBQzVEO1lBQ0QsSUFBSSxRQUFRLEdBQUcsRUFBRSxDQUFDO1lBRWxCLE1BQU0sV0FBVyxHQUFHLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDdEQsSUFBSSxXQUFXLEVBQUU7Z0JBQ2YsbUJBQW1CLENBQUMsQ0FBQyxDQUFDO3FCQUNuQixPQUFPLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRTtvQkFDeEIsSUFBSSxRQUFRLEtBQUssRUFBRSxFQUFFO3dCQUNuQixRQUFRLEdBQUcsUUFBUSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUM7cUJBQzVDO3lCQUFNO3dCQUNMLFFBQVEsR0FBRyxRQUFRLEdBQUcsTUFBTSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUM7cUJBQ3JEO2dCQUVILENBQUMsQ0FBQyxDQUFDO2dCQUNMLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtvQkFDZCxPQUFPLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLFFBQVEsQ0FBQyxDQUFDO2lCQUNsRDtnQkFDRCxNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUM7b0JBQ2hDLEtBQUssRUFBRSxRQUFRO2lCQUNoQixDQUEyQixDQUFDO2dCQUM3QixJQUFJLFNBQVMsQ0FBQyxLQUFLLEVBQUU7b0JBQ25CLE1BQU0sS0FBSyxHQUFHLFNBQW1DLENBQUM7b0JBQ2xELE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO2lCQUN2RDtxQkFBTTtvQkFDTCxJQUFJLGFBQWEsR0FBRyxTQUE0QixDQUFDO29CQUNqRCxhQUFhLEdBQUcsYUFBYTt5QkFDMUIsR0FBRyxDQUNGLENBQUMsWUFBWSxFQUFFLEVBQUU7d0JBQ2YsWUFBWSxDQUFDLE9BQU8sR0FBRyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7NkJBQzFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFOzRCQUNoQixPQUFPLE9BQU8sQ0FBQyxPQUFPLEtBQUssWUFBWSxDQUFDLE9BQU8sQ0FBQzt3QkFDbEQsQ0FBQyxDQUFDLENBQUM7d0JBQ0wsT0FBTyxZQUFZLENBQUM7b0JBQ3RCLENBQUMsQ0FDRixDQUFDO29CQUNKLE9BQU8sQ0FBQyxhQUFhLEVBQUUsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2lCQUM5QzthQUNGO2lCQUFNO2dCQUNMLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtvQkFDZCxPQUFPLENBQUMsSUFBSSxDQUFDLDRCQUE0QixDQUFDLENBQUM7aUJBQzVDO2dCQUNELE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxDQUFDO2FBQ2pFO1NBQ0Y7YUFBTTtZQUNMLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDZCxPQUFPLENBQUMsSUFBSSxDQUFDLHlGQUF5RixDQUFDLENBQUM7YUFDekc7WUFDRCxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsMkNBQTJDLEVBQUUsQ0FBQztTQUM3RTtJQUNILENBQUM7SUFHRCxLQUFLLENBQUMsT0FBTyxDQUFDLGdCQUFzQyxFQUFFLElBQVksRUFBRSxJQUFZO1FBQzlFLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQzdCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDZCxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO2FBQzlDO1lBQ0QsTUFBTSxtQkFBbUIsR0FBMEIsTUFBTSxxQkFBcUIsQ0FDNUUsZ0JBQWdCLEVBQ2hCLHdCQUF3QixFQUN4QixJQUFJLEVBQ0osSUFBSSxFQUNKLElBQUksQ0FBQyxvQkFBb0IsRUFDekIsU0FBUyxFQUNULFNBQVMsRUFDVCxTQUFTLENBQ1YsQ0FBQztZQUNGLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDZCxPQUFPLENBQUMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLG1CQUFtQixDQUFDLENBQUM7YUFDNUQ7WUFDRCxJQUFJLFFBQVEsR0FBRyxFQUFFLENBQUM7WUFFbEIsTUFBTSxXQUFXLEdBQUcsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUN0RCxJQUFJLFdBQVcsRUFBRTtnQkFDZixtQkFBbUIsQ0FBQyxDQUFDLENBQUM7cUJBQ25CLE9BQU8sQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFO29CQUN4QixJQUFJLFFBQVEsS0FBSyxFQUFFLEVBQUU7d0JBQ25CLFFBQVEsR0FBRyxRQUFRLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQztxQkFDNUM7eUJBQU07d0JBQ0wsUUFBUSxHQUFHLFFBQVEsR0FBRyxNQUFNLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQztxQkFDckQ7Z0JBRUgsQ0FBQyxDQUFDLENBQUM7Z0JBQ0wsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO29CQUNkLE9BQU8sQ0FBQyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsUUFBUSxDQUFDLENBQUM7aUJBQ2xEO2dCQUNELE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQztvQkFDaEMsS0FBSyxFQUFFLFFBQVE7aUJBQ2hCLENBQTJCLENBQUM7Z0JBQzdCLElBQUksU0FBUyxDQUFDLEtBQUssRUFBRTtvQkFDbkIsTUFBTSxLQUFLLEdBQUcsU0FBbUMsQ0FBQztvQkFDbEQsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7aUJBQ3ZEO3FCQUFNO29CQUNMLElBQUksYUFBYSxHQUFHLFNBQTRCLENBQUM7b0JBQ2pELGFBQWEsR0FBRyxhQUFhO3lCQUMxQixHQUFHLENBQ0YsQ0FBQyxZQUFZLEVBQUUsRUFBRTt3QkFDZixZQUFZLENBQUMsT0FBTyxHQUFHLG1CQUFtQixDQUFDLENBQUMsQ0FBQzs2QkFDMUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7NEJBQ2hCLE9BQU8sT0FBTyxDQUFDLE9BQU8sS0FBSyxZQUFZLENBQUMsT0FBTyxDQUFDO3dCQUNsRCxDQUFDLENBQUMsQ0FBQzt3QkFDTCxPQUFPLFlBQVksQ0FBQztvQkFDdEIsQ0FBQyxDQUNGLENBQUM7b0JBQ0osT0FBTyxDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7aUJBQzlDO2FBQ0Y7aUJBQU07Z0JBQ0wsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO29CQUNkLE9BQU8sQ0FBQyxJQUFJLENBQUMsNEJBQTRCLENBQUMsQ0FBQztpQkFDNUM7Z0JBQ0QsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLCtCQUErQixFQUFFLENBQUM7YUFDakU7U0FDRjthQUFNO1lBQ0wsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNkLE9BQU8sQ0FBQyxJQUFJLENBQUMseUZBQXlGLENBQUMsQ0FBQzthQUN6RztZQUNELE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSwyQ0FBMkMsRUFBRSxDQUFDO1NBQzdFO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFnQixFQUFFLFFBQWdCO1FBQ3RDLE9BQU8sSUFBSSxPQUFPLENBQ2hCLEtBQUssRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFFakIsSUFBSTtnQkFDRixNQUFNLE9BQU8sR0FBRyxXQUFXLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxZQUFZLENBQUM7Z0JBQ2hFLE1BQU0sVUFBVSxHQUFHLDJEQUEyRCxDQUFDO2dCQUUvRSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7b0JBQ2QsT0FBTyxDQUFDLEdBQUcsQ0FBQzt3QkFDVixPQUFPLEVBQUUsVUFBVTt3QkFDbkIsS0FBSyxFQUFFOzRCQUNMLE9BQU87eUJBQ1I7cUJBQ0YsQ0FBQyxDQUFDO2lCQUNKO2dCQUVELE1BQU0seUJBQXlCLEdBQUc7b0JBQ2hDLE1BQU0sRUFBRSxNQUFNO29CQUNkLEdBQUcsRUFBRSxPQUFPLEdBQUcsY0FBYztvQkFDN0IsSUFBSSxFQUFFO3dCQUNKLFFBQVE7d0JBQ1IsUUFBUTt3QkFDUixVQUFVLEVBQUUsVUFBVTt3QkFDdEIsVUFBVSxFQUFFLGtDQUFrQzt3QkFDOUMsS0FBSyxFQUFFLGtDQUFrQzt3QkFDekMsS0FBSyxFQUFFLFVBQVU7d0JBQ2pCLFNBQVMsRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUzt3QkFDL0MsYUFBYSxFQUFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxhQUFhO3FCQUN4RDtpQkFDRixDQUFDO2dCQUNGLE1BQU0sY0FBYyxHQUFHLE1BQU0sS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7Z0JBRTlELE1BQU0scUJBQXFCLEdBQUc7b0JBQzVCLE1BQU0sRUFBRSxLQUFLO29CQUNiLEdBQUcsRUFBRSxPQUFPLEdBQUcsV0FBVztvQkFDMUIsT0FBTyxFQUFFO3dCQUNQLGVBQWUsRUFBRSxTQUFTLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxZQUFZO3dCQUM3RCxjQUFjLEVBQUUsa0JBQWtCO3FCQUNuQztpQkFDRixDQUFDO2dCQUNGLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztnQkFDNUQsR0FBRyxDQUFDO29CQUNGLE9BQU8sRUFBRTt3QkFDUCxHQUFHLGdCQUFnQixDQUFDLElBQUk7cUJBQ3pCO29CQUNELEtBQUssRUFBRTt3QkFDTCxHQUFHLGNBQWMsQ0FBQyxJQUFJO3FCQUN2QjtpQkFDRixDQUFDLENBQUM7YUFDSjtZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pCLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQzthQUNoRDtRQUNILENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUdELDRCQUE0QixDQUMxQixLQUFhLEVBQ2IsYUFBcUIsa0NBQWtDO1FBRXZELE9BQU8sSUFBSSxPQUFPLENBQ2hCLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ1gsTUFBTSxJQUFJLEdBQUc7Z0JBQ1gsS0FBSztnQkFDTCxVQUFVO2FBQ1gsQ0FBQztZQUNGLElBQUksQ0FBQyxvQkFBb0I7aUJBQ3RCLDBCQUEwQixDQUN6QixJQUFJLEVBQ0osQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDTixJQUFJLEdBQUcsRUFBRTtvQkFDUCxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUNuQixHQUFHLENBQUMsRUFBRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7aUJBQzVEO2dCQUNELEdBQUcsQ0FBQztvQkFDRixPQUFPLEVBQUUsaUdBQWlHO2lCQUMzRyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNULENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztDQUVGLENBQUE7QUE5b0JxQixxQkFBcUI7SUFEMUMsVUFBVSxFQUFFO0dBQ1MscUJBQXFCLENBOG9CMUM7U0E5b0JxQixxQkFBcUI7QUErcUIzQyw0QkFBNEIsS0FBVTtJQUNwQyxJQUFJLEtBQUssRUFBRTtRQUNULE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUMsT0FBTyxHQUFHLFdBQVcsSUFBSSxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7S0FDbEU7U0FBTTtRQUNMLE9BQU8sU0FBUyxDQUFDO0tBQ2xCO0FBQ0gsQ0FBQztBQUVELHVDQUF1QyxNQUFXO0lBQ2hELElBQUksTUFBTSxFQUFFO1FBQ1YsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLE1BQU0sQ0FBQyxPQUFPLENBQ1osQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUNkLElBQUksTUFBTSxLQUFLLEVBQUUsRUFBRTtnQkFDakIsTUFBTSxHQUFHLFdBQVcsQ0FBQzthQUN0QjtpQkFBTTtnQkFDTCxNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksV0FBVyxFQUFFLENBQUM7YUFDckM7UUFDSCxDQUFDLENBQ0YsQ0FBQztRQUNGLE9BQU8sTUFBTSxDQUFDO0tBQ2Y7U0FBTTtRQUNMLE9BQU8sU0FBUyxDQUFDO0tBQ2xCO0FBRUgsQ0FBQztBQUVELHlDQUF5QyxhQUFhLEVBQUUsd0JBQXdCO0lBQzlFLElBQUksb0JBQW9CLEdBQUcsRUFBRSxDQUFDO0lBQzlCLElBQUk7UUFDRixvQkFBb0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztLQUNsRTtJQUFDLE9BQU8sQ0FBQyxFQUFFO0tBQ1g7SUFDRCxNQUFNO1NBQ0gsSUFBSSxDQUFDLHdCQUF3QixDQUFDO1NBQzlCLE9BQU8sQ0FDTixDQUFDLGVBQWUsRUFBRSxFQUFFO1FBQ2xCLG9CQUFvQixDQUFDLGVBQWUsQ0FBQyxHQUFHLHdCQUF3QixDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3BGLENBQUMsQ0FDRixDQUFDO0lBQ0osT0FBTyxvQkFBb0IsQ0FBQztBQUM5QixDQUFDIn0=
|
|
667
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aDAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvYXV0aDAvYXV0aDAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFMUMsT0FBTyxFQUFDLG9CQUFvQixFQUFFLGdCQUFnQixFQUEyQixNQUFNLE9BQU8sQ0FBQztBQUd2RixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLElBQUksTUFBTSxPQUFPLENBQUM7QUFHekIsTUFBTSxLQUFLLEdBQVEsSUFBSSxDQUFDO0FBR3hCLElBQXNCLHFCQUFxQixHQUEzQyxNQUFzQixxQkFBcUI7SUFJdkMsWUFBNkIsWUFBeUIsRUFDMUIsb0JBQTBCLEVBQzFCLGVBQXFCLEVBQ3BCLHFCQUEyQixFQUMzQixnQkFBd0IsSUFBSSxFQUM1QixPQUFlLGVBQWUsRUFDOUIsUUFBaUIsSUFBSTtRQU5yQixpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUMxQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQU07UUFDMUIsb0JBQWUsR0FBZixlQUFlLENBQU07UUFDcEIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFNO1FBQzNCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLFNBQUksR0FBSixJQUFJLENBQTBCO1FBQzlCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQzlDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLGdCQUFnQixDQUFDO1lBQ3pDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxZQUFZO1lBQy9DLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFO1lBQzFDLFlBQVksRUFBRSxH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
|
|
@@ -4,20 +4,26 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
7
10
|
import { IsEmail, IsNotEmpty, IsString } from 'class-validator';
|
|
8
11
|
export class CrearUsuarioDto {
|
|
9
12
|
}
|
|
10
13
|
__decorate([
|
|
11
14
|
IsNotEmpty(),
|
|
12
|
-
IsString()
|
|
15
|
+
IsString(),
|
|
16
|
+
__metadata("design:type", String)
|
|
13
17
|
], CrearUsuarioDto.prototype, "name", void 0);
|
|
14
18
|
__decorate([
|
|
15
19
|
IsNotEmpty(),
|
|
16
|
-
IsString()
|
|
20
|
+
IsString(),
|
|
21
|
+
__metadata("design:type", String)
|
|
17
22
|
], CrearUsuarioDto.prototype, "username", void 0);
|
|
18
23
|
__decorate([
|
|
19
24
|
IsNotEmpty(),
|
|
20
25
|
IsString(),
|
|
21
|
-
IsEmail()
|
|
26
|
+
IsEmail(),
|
|
27
|
+
__metadata("design:type", String)
|
|
22
28
|
], CrearUsuarioDto.prototype, "email", void 0);
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXItdXN1YXJpby1kdG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2F1dGgwL2NyZWFyLXVzdWFyaW8tZHRvL2NyZWFyLXVzdWFyaW8tZHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhFLE1BQU0sT0FBTyxlQUFlO0NBYzNCO0FBVkM7SUFGQyxVQUFVLEVBQUU7SUFDWixRQUFRLEVBQUU7OzZDQUNFO0FBSWI7SUFGQyxVQUFVLEVBQUU7SUFDWixRQUFRLEVBQUU7O2lEQUNNO0FBS2pCO0lBSEMsVUFBVSxFQUFFO0lBQ1osUUFBUSxFQUFFO0lBQ1YsT0FBTyxFQUFFOzs4Q0FDSSJ9
|
|
@@ -2,4 +2,4 @@ const jwt = require('express-jwt');
|
|
|
2
2
|
export function checkJwt(options) {
|
|
3
3
|
return jwt(options);
|
|
4
4
|
}
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stand0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9hdXRoMC9zZWd1cmlkYWQtand0LW1vdmlsZXMvY2hlY2stand0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUVuQyxNQUFNLFVBQVUsUUFBUSxDQUFDLE9BQWdCO0lBQ3ZDLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3RCLENBQUMifQ==
|
|
@@ -16,4 +16,4 @@ export function tienetokenValidoSeguridadWeb(opciones, web) {
|
|
|
16
16
|
});
|
|
17
17
|
});
|
|
18
18
|
}
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGllbmUtdG9rZW4tdmFsaWRvLXNlZ3VyaWRhZC13ZWIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2F1dGgwL3NlZ3VyaWRhZC1qd3QtbW92aWxlcy90aWVuZS10b2tlbi12YWxpZG8tc2VndXJpZGFkLXdlYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXZDLE1BQU0sVUFBVSw0QkFBNEIsQ0FDMUMsUUFBUSxFQUNSLEdBR0M7SUFDRCxPQUFPLElBQUksT0FBTyxDQUNoQixDQUFDLE9BQU8sRUFBRSxFQUFFO1FBQ1YsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pDLGFBQWEsQ0FDWCxHQUFHLENBQUMsT0FBTyxFQUNYLEdBQUcsQ0FBQyxRQUFRLEVBQ1osQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUNkLElBQUksV0FBVyxFQUFFO2dCQUNmLE9BQU8sQ0FBQztvQkFDTixLQUFLLEVBQUUsV0FBVztpQkFDbkIsQ0FBQyxDQUFDO2FBQ0o7aUJBQU07Z0JBQ0wsT0FBTyxDQUFDO29CQUNOLEtBQUssRUFBRSxLQUFLO2lCQUNiLENBQUMsQ0FBQzthQUNKO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDLENBQ0YsQ0FBQztBQUNKLENBQUMifQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { ArgumentosValidacionTipos, ColeccionTipos } from './interfaces';
|
|
2
|
+
import { ValidationOptions } from 'class-validator';
|
|
3
|
+
export declare function EsTipo<Tipo = ColeccionTipos>(estrategiaDeValidacionTipos: ColeccionTipos, paraTodo?: boolean, argsDic?: ArgumentosValidacionTipos<Tipo>, opcionesValidacion?: ValidationOptions): (objecto: Object, nombrePropiedad: string) => void;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { registerDecorator } from 'class-validator';
|
|
2
|
+
export function EsTipo(estrategiaDeValidacionTipos, paraTodo, argsDic, opcionesValidacion) {
|
|
3
|
+
const estrategiasValidacion = Object.keys(estrategiaDeValidacionTipos);
|
|
4
|
+
const tieneArgumentosDiccionario = !!(argsDic && Object.keys(argsDic).length > 0);
|
|
5
|
+
return function (objecto, nombrePropiedad) {
|
|
6
|
+
registerDecorator({
|
|
7
|
+
name: 'incorrectType',
|
|
8
|
+
target: objecto.constructor,
|
|
9
|
+
propertyName: nombrePropiedad,
|
|
10
|
+
options: opcionesValidacion,
|
|
11
|
+
validator: {
|
|
12
|
+
validate(value) {
|
|
13
|
+
const validacionGeneralCB = (estrategia) => {
|
|
14
|
+
const parametros = tieneArgumentosDiccionario ? argsDic[estrategia] : undefined;
|
|
15
|
+
const callback = estrategiaDeValidacionTipos[estrategia];
|
|
16
|
+
return callback(value, parametros);
|
|
17
|
+
};
|
|
18
|
+
if (paraTodo) {
|
|
19
|
+
return estrategiasValidacion.every(validacionGeneralCB);
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
return estrategiasValidacion.some(validacionGeneralCB);
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
defaultMessage() {
|
|
26
|
+
const ultimoTipo = estrategiasValidacion.pop();
|
|
27
|
+
if (estrategiasValidacion.length === 0)
|
|
28
|
+
return `El valor debe ser ${ultimoTipo}`;
|
|
29
|
+
return `Puede ser solo ${estrategiasValidacion.join(', ')} ${paraTodo ? 'y' : 'o'} ${ultimoTipo}.`;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNUaXBvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9kZWNvcmFkb3Jlcy9kdG8vdmFsaWRhZG9yZXMtb3ItYW5kL2VzVGlwby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsaUJBQWlCLEVBQW9CLE1BQU0saUJBQWlCLENBQUM7QUFFckUsTUFBTSxVQUFVLE1BQU0sQ0FDbEIsMkJBQTJDLEVBQzNDLFFBQWtCLEVBQ2xCLE9BQXlDLEVBQ3pDLGtCQUFzQztJQUV0QyxNQUFNLHFCQUFxQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUN2RSxNQUFNLDBCQUEwQixHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUVsRixPQUFPLFVBQ0gsT0FBZSxFQUNmLGVBQXVCO1FBRXZCLGlCQUFpQixDQUNiO1lBQ0ksSUFBSSxFQUFFLGVBQWU7WUFDckIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxXQUFXO1lBQzNCLFlBQVksRUFBRSxlQUFlO1lBQzdCLE9BQU8sRUFBRSxrQkFBa0I7WUFDM0IsU0FBUyxFQUFFO2dCQUNQLFFBQVEsQ0FBQyxLQUFVO29CQUNmLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxVQUFrQixFQUFFLEVBQUU7d0JBQy9DLE1BQU0sVUFBVSxHQUFHLDBCQUEwQixDQUFDLENBQUMsQ0FBRSxPQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQzt3QkFDekYsTUFBTSxRQUFRLEdBQXVCLDJCQUEyQixDQUFDLFVBQVUsQ0FBQyxDQUFDO3dCQUM3RSxPQUFPLFFBQVEsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7b0JBQ3ZDLENBQUMsQ0FBQTtvQkFDRCxJQUFJLFFBQVEsRUFBRTt3QkFDVixPQUFPLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO3FCQUMxRDt5QkFBTTt3QkFDSCxPQUFPLHFCQUFxQixDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO3FCQUMxRDtnQkFDTCxDQUFDO2dCQUNELGNBQWM7b0JBQ1YsTUFBTSxVQUFVLEdBQUcscUJBQXFCLENBQUMsR0FBRyxFQUFFLENBQUM7b0JBQy9DLElBQUkscUJBQXFCLENBQUMsTUFBTSxLQUFLLENBQUM7d0JBQ2xDLE9BQU8scUJBQXFCLFVBQVUsRUFBRSxDQUFDO29CQUM3QyxPQUFPLGtCQUFrQixxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxVQUFVLEdBQUcsQ0FBQztnQkFDdkcsQ0FBQzthQUNKO1NBQ0osQ0FDSixDQUFDO0lBQ04sQ0FBQyxDQUFBO0FBQ0wsQ0FBQyJ9
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ValidationArguments } from 'class-validator';
|
|
2
|
+
export interface HasMap {
|
|
3
|
+
[key: string]: any;
|
|
4
|
+
}
|
|
5
|
+
export declare type ValidationFunction = (value: any, ...args: any[]) => boolean;
|
|
6
|
+
export interface ColeccionTipos {
|
|
7
|
+
[k: string]: ValidationFunction;
|
|
8
|
+
}
|
|
9
|
+
export declare type ValidadorTipo = Array<keyof ColeccionTipos>;
|
|
10
|
+
export declare type ArgumentosValidacionTipos<T = ColeccionTipos> = {
|
|
11
|
+
[k in keyof T]: HasMap | ValidationArguments;
|
|
12
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGVjb3JhZG9yZXMvZHRvL3ZhbGlkYWRvcmVzLW9yLWFuZC9pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ApiBodyMetadata, MetodosApi } from './interfaces';
|
|
2
|
+
import { ApiHeaderOptions, ApiQueryOptions } from '@nestjs/swagger';
|
|
3
|
+
export declare const NOMBRE_METODOS_CRUD_API: MetodosApi;
|
|
4
|
+
export declare const BODY_METADATA_DEFECTO: ApiBodyMetadata;
|
|
5
|
+
export declare const OPCIONES_QUERY_POR_DEFECTO: ApiQueryOptions;
|
|
6
|
+
export declare const OPCIONES_HEADER_DEFECTO: Partial<ApiHeaderOptions>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export const NOMBRE_METODOS_CRUD_API = {
|
|
2
|
+
create: 'create',
|
|
3
|
+
update: 'update',
|
|
4
|
+
delete: 'delete',
|
|
5
|
+
findOne: 'findOne',
|
|
6
|
+
findAll: 'findAll',
|
|
7
|
+
findFull: 'findFull',
|
|
8
|
+
find: 'find',
|
|
9
|
+
};
|
|
10
|
+
export const BODY_METADATA_DEFECTO = {
|
|
11
|
+
type: String,
|
|
12
|
+
required: true,
|
|
13
|
+
};
|
|
14
|
+
export const OPCIONES_QUERY_POR_DEFECTO = {
|
|
15
|
+
name: '',
|
|
16
|
+
required: true
|
|
17
|
+
};
|
|
18
|
+
export const OPCIONES_HEADER_DEFECTO = {
|
|
19
|
+
name: '',
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGVjb3JhZG9yZXMvbWxhYi1zd2FnZ2VyL2NvbnN0YW50ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQWU7SUFDakQsTUFBTSxFQUFFLFFBQVE7SUFDaEIsTUFBTSxFQUFFLFFBQVE7SUFDaEIsTUFBTSxFQUFFLFFBQVE7SUFDaEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsUUFBUSxFQUFFLFVBQVU7SUFDcEIsSUFBSSxFQUFFLE1BQU07Q0FDYixDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQW9CO0lBQ3BELElBQUksRUFBRSxNQUFNO0lBQ1osUUFBUSxFQUFFLElBQUk7Q0FDZixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQW9CO0lBQ3pELElBQUksRUFBRSxFQUFFO0lBQ1IsUUFBUSxFQUFFLElBQUk7Q0FDZixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQThCO0lBQ2hFLElBQUksRUFBRSxFQUFFO0NBQ1QsQ0FBQyJ9
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { EstrategiaHeaderOptions, EstrategiaResponseOptions, MetodoCrud, Prototype } from '../interfaces';
|
|
2
|
+
export declare class SwagerDelegator {
|
|
3
|
+
static delegateApiResponseCB(methodName: MetodoCrud, target: Prototype): EstrategiaResponseOptions;
|
|
4
|
+
static delegateApiHeaderCB(methodName: MetodoCrud, target: Prototype): EstrategiaHeaderOptions;
|
|
5
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { SwaggerHelper } from '../helpers/swagger-helpers';
|
|
2
|
+
// Clase donde sus metodos son estaticos y retornar la accion
|
|
3
|
+
// que delegara la construccion o modificacion de la metadata de la clase
|
|
4
|
+
export class SwagerDelegator {
|
|
5
|
+
static delegateApiResponseCB(methodName, target) {
|
|
6
|
+
return (configObject) => {
|
|
7
|
+
SwaggerHelper.construirApiResponse(configObject, methodName, target);
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
static delegateApiHeaderCB(methodName, target) {
|
|
11
|
+
return (configObject) => {
|
|
12
|
+
SwaggerHelper.buildApiHeaders(configObject, methodName, target);
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZWdhZG9yZXMtc3dhZ2dlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGVjb3JhZG9yZXMvbWxhYi1zd2FnZ2VyL2RlbGVnYWRvcmVzL2RlbGVnYWRvcmVzLXN3YWdnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRzNELDZEQUE2RDtBQUM3RCx5RUFBeUU7QUFFekUsTUFBTSxPQUFPLGVBQWU7SUFDMUIsTUFBTSxDQUFDLHFCQUFxQixDQUMxQixVQUFzQixFQUN0QixNQUFpQjtRQUVqQixPQUFPLENBQUMsWUFBZ0MsRUFBRSxFQUFFO1lBQzFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZFLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsbUJBQW1CLENBQ3hCLFVBQXNCLEVBQ3RCLE1BQWlCO1FBRWpCLE9BQU8sQ0FBQyxZQUE4QixFQUFFLEVBQUU7WUFDeEMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2xFLENBQUMsQ0FBQztJQUNKLENBQUM7Q0FDRiJ9
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { BaseConfig, CreateUpdateOneConfigInterface, MetodoCrud, Prototype } from '../interfaces';
|
|
2
|
+
import { ApiHeaderOptions, ApiResponseOptions } from '@nestjs/swagger';
|
|
3
|
+
export declare class SwaggerHelper {
|
|
4
|
+
static construirApiBody(configuracion: CreateUpdateOneConfigInterface, nombreMetodo: MetodoCrud, target: Prototype): void;
|
|
5
|
+
static construirApiQuery(configuracion: BaseConfig, nombreMetodo: MetodoCrud, target: Prototype): void;
|
|
6
|
+
static construirApiResponse(configuracion: ApiResponseOptions, nombreMetodo: MetodoCrud, target: Prototype): void;
|
|
7
|
+
static buildApiHeaders(configuracion: ApiHeaderOptions, nombreMetodo: MetodoCrud, target: Prototype): void;
|
|
8
|
+
}
|