nsrtm-gestionarchivo-npm-prueba2
Version:
Proyecto de Libreria Frontend para la Gestión de Archivos
1 lines • 422 kB
Source Map (JSON)
{"version":3,"file":"nsrtm-gestionarchivo-npm-prueba2.mjs","sources":["../../../archivo/nsrtm-gestionarchivo-npm/src/lib/nsrtm-gestion-archivo-npm.service.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/lib/nsrtm-gestion-archivo-npm.component.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/app/utils/calendar.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/nsrtm-dialog-upload-files/nsrtm-dialog-visor-documento/nsrtm-dialog-visor-documento.component.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/nsrtm-dialog-upload-files/nsrtm-dialog-visor-documento/nsrtm-dialog-visor-documento.component.html","../../../archivo/nsrtm-gestionarchivo-npm/src/nsrtm-dialog-upload-files/nsrtm-dialog-upload-files.utils.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/app/core/models/error-detalle.model.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/app/shared/alert/alert.service.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/app/core/services/validation-form.service.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/app/shared/dialog-confirm/dialog-confirm.component.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/app/shared/dialog-confirm/dialog-confirm.component.html","../../../archivo/nsrtm-gestionarchivo-npm/src/app/shared/dialog-confirm/dialog-confirm.service.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/app/shared/spinner/spinner.service.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/app/api/comunes-registro/api-configuration.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/app/api/comunes-registro/base-service.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/app/api/comunes-registro/request-builder.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/app/api/comunes-registro/services/tabla-catalogo-controller.service.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/app/api/comunes-registro/services/comunes-registro-controller.service.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/app/api/parametro-comun/api-configuration.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/app/api/parametro-comun/base-service.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/app/api/parametro-comun/request-builder.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/app/api/parametro-comun/services/parametro-comun-controller.service.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/app/api/parametro-comun/services/cache-controller.service.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/app/api/gestionarchivo/api-configuration.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/app/api/gestionarchivo/base-service.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/app/api/gestionarchivo/request-builder.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/app/api/gestionarchivo/services/gestion-archivo-controller.service.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/app/api/gestionarchivo/services/descarga-documento-controller.service.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/app/shared/ui/nsrtm-button/nsrtm-button.component.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/app/shared/ui/nsrtm-button/nsrtm-button.component.html","../../../archivo/nsrtm-gestionarchivo-npm/src/app/shared/toast-loading/toast-loading.service.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/app/shared/toast-loading/toast-loading.component.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/app/shared/toast-loading/toast-loading.component.html","../../../archivo/nsrtm-gestionarchivo-npm/src/nsrtm-dialog-upload-files/nsrtm-grupo-botones-documento/nsrtm-grupo-botones-documento.component.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/nsrtm-dialog-upload-files/nsrtm-grupo-botones-documento/nsrtm-grupo-botones-documento.component.html","../../../archivo/nsrtm-gestionarchivo-npm/src/app/shared/no-results/no-results.component.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/app/shared/no-results/no-results.component.html","../../../archivo/nsrtm-gestionarchivo-npm/src/app/shared/loading/loading.component.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/app/shared/loading/loading.component.html","../../../archivo/nsrtm-gestionarchivo-npm/src/app/shared/table-footer-pagination/table-footer-pagination.component.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/app/shared/table-footer-pagination/table-footer-pagination.component.html","../../../archivo/nsrtm-gestionarchivo-npm/src/nsrtm-dialog-upload-files/nsrtm-tabla-documento/nsrtm-tabla-documento.component.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/nsrtm-dialog-upload-files/nsrtm-tabla-documento/nsrtm-tabla-documento.component.html","../../../archivo/nsrtm-gestionarchivo-npm/src/nsrtm-dialog-upload-files/nsrtm-dialog-upload-files.component.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/nsrtm-dialog-upload-files/nsrtm-dialog-upload-files.component.html","../../../archivo/nsrtm-gestionarchivo-npm/src/app/shared/nsrtm-loading/nsrtm-loading.component.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/app/shared/nsrtm-loading/nsrtm-loading.component.html","../../../archivo/nsrtm-gestionarchivo-npm/src/app/core/interceptors/error.interceptor.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/app/core/services/session-terminal.service.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/app/core/interceptors/token.interceptor.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/app/core/interceptors/index.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/lib/nsrtm-gestion-archivo-npm.module.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/nsrtm-dialog-upload-files/nsrtm-dialog-upload-files.component.service.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/public-api.ts","../../../archivo/nsrtm-gestionarchivo-npm/src/nsrtm-gestionarchivo-npm-prueba2.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NsrtmGestionArchivoNpmService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-nsrtm-gestion-archivo-npm',\r\n template: `\r\n <p>\r\n nsrtm-gestion-archivo-npm works!\r\n </p>\r\n `,\r\n styles: [\r\n ]\r\n})\r\nexport class NsrtmGestionArchivoNpmComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\r\nimport * as moment from 'moment';\r\n\r\nexport type IDateJson = {\r\n\tyear: number;\r\n\tmonth: number;\r\n\tday: number;\r\n};\r\n\r\nexport const parseStringDate = ({\r\n\tyear,\r\n\tmonth,\r\n\tday,\r\n}: NgbDateStruct): string => {\r\n\tif (\r\n\t\ttypeof year !== 'number' ||\r\n\t\ttypeof month !== 'number' ||\r\n\t\ttypeof day !== 'number'\r\n\t)\r\n\t\treturn '';\r\n\r\n\tconst _day = getNumberWithZero(day);\r\n\tconst _month = getNumberWithZero(month);\r\n\treturn `${year}-${_month}-${_day}`;\r\n};\r\n\r\nexport const getNumberWithZero = (n: number) => {\r\n\treturn n < 10 && n.toString().length === 1 ? `0${n}` : n;\r\n};\r\n\r\n/**\r\n *\r\n * @param strDate formato fecha, yyyy-mm-dd\r\n * @returns\r\n */\r\nexport const toNgDateStruct = (strDate: string): NgbDateStruct => {\r\n\tconst [date] = strDate.split(' ');\r\n\tconst [year, month, day] = date.split('-');\r\n\treturn {\r\n\t\tyear: Number(year),\r\n\t\tmonth: Number(month),\r\n\t\tday: Number(day),\r\n\t};\r\n};\r\n\r\n/**\r\n *\r\n * @param strDate formato fecha, dd/mm/yyyy\r\n * @returns\r\n */\r\nexport const dateToNgDateStruct = (strDate: string): NgbDateStruct => {\r\n\tconst [day, month, year] = strDate.split('/');\r\n\treturn {\r\n\t\tyear: Number(year),\r\n\t\tmonth: Number(month),\r\n\t\tday: Number(day),\r\n\t};\r\n};\r\n\r\n/**\r\n * Retorna la fecha actual en el tipo de dato NgbDateStruct\r\n * @returns NgbDateStruct\r\n */\r\nexport const getTodayNgbDateStruct = (): NgbDateStruct => {\r\n\tconst today = new Date();\r\n\r\n\treturn {\r\n\t\tday: today.getDate(),\r\n\t\tmonth: today.getMonth() + 1,\r\n\t\tyear: today.getFullYear(),\r\n\t};\r\n};\r\n\r\n/**\r\n * Retorna la fecha actual en el tipo de dato NgbDateStruct\r\n * @returns NgbDateStruct\r\n */\r\nexport const getMinDateNgbDateStruct = (): NgbDateStruct => {\r\n\treturn {\r\n\t\tday: 1,\r\n\t\tmonth: 1,\r\n\t\tyear: 1900,\r\n\t};\r\n};\r\n\r\nexport const toParseNgDateStruct = (date: string): NgbDateStruct | null => {\r\n\tif (!moment(date).isValid()) return null;\r\n\r\n\tconst mDate = moment(date);\r\n\r\n\treturn { day: mDate.date(), month: mDate.month() + 1, year: mDate.year() };\r\n};\r\n\r\nexport const esTipoNgbDateStruct = (date: any) => {\r\n\tif (!date || typeof date !== 'object') {\r\n\t\treturn false;\r\n\t}\r\n\r\n\treturn 'year' in date && 'month' in date && 'day' in date;\r\n};\r\n\r\nexport const todayDate = () => {\r\n\tconst today = new Date();\r\n\ttoday.setHours(0);\r\n\ttoday.setMinutes(0);\r\n\ttoday.setSeconds(0);\r\n\ttoday.setMilliseconds(0);\r\n\r\n\treturn today;\r\n};\r\n\r\n/**\r\n *\r\n * @param strDate\r\n * @returns\r\n */\r\nexport const setDateNgStruct = (strDate: string): NgbDateStruct => {\r\n\tlet momentDate = null;\r\n\tif (!strDate) {\r\n\t\tmomentDate = moment();\r\n\t\treturn {\r\n\t\t\tyear: momentDate.year(),\r\n\t\t\tmonth: momentDate.month() + 1,\r\n\t\t\tday: momentDate.date(),\r\n\t\t};\r\n\t}\r\n\tmomentDate = moment(strDate);\r\n\treturn {\r\n\t\tyear: parseInt(momentDate.format('YYYY')),\r\n\t\tmonth: parseInt(momentDate.format('MM')),\r\n\t\tday: parseInt(momentDate.format('DD')),\r\n\t};\r\n};\r\n\r\n// Verifica si la fecha es menor a la fecha actual\r\n// month: 0.....11 0: Enero 11:Diciembre\r\nexport const esMenorFechaActual = (\r\n\tday: number,\r\n\tmonth: number,\r\n\tyear: number\r\n) => {\r\n\tconst startDate = new Date(year, month, day, 0, 0, 0);\r\n\tconst today = todayDate();\r\n\r\n\treturn startDate.getTime() < today.getTime();\r\n};\r\n\r\nexport const parseStringDateFormatUser = ({\r\n\tyear,\r\n\tmonth,\r\n\tday,\r\n}: IDateJson): string => {\r\n\tconst _day = getNumberWithZero(day);\r\n\tconst _month = getNumberWithZero(month);\r\n\treturn `${_day}/${_month}/${year}`;\r\n};\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'app-nsrtm-dialog-visor-documento',\r\n templateUrl: './nsrtm-dialog-visor-documento.component.html',\r\n styleUrls: ['./nsrtm-dialog-visor-documento.component.css']\r\n})\r\nexport class NsrtmDialogVisorDocumentoComponent implements OnInit {\r\n\r\n @Input()\r\n\tcontenido?: Blob;\r\n\t@Input()\r\n\textension?: string;\r\n\r\n\tpdfSrc?: any;\r\n\tconstructor(private _activeModal: NgbActiveModal) {}\r\n\r\n\tngOnInit(): void {\r\n\t\tif (this.contenido) {\r\n\t\t\tthis.pdfSrc = URL.createObjectURL(this.contenido);\r\n\t\t}\r\n\t}\r\n\r\n\tclose(response?: any) {\r\n\t\tURL.revokeObjectURL(this.pdfSrc);\r\n\t\tthis._activeModal.close(response);\r\n\t}\r\n\r\n}\r\n","<div style=\"width: 100%; height: 550px\">\r\n\t<div class=\"modal-header\">\r\n\t\t<h6 class=\"modal-title w-100\" id=\"title\">Visor de documento</h6>\r\n\t\t<button\r\n\t\t\ttype=\"button\"\r\n\t\t\tclass=\"btn-close\"\r\n\t\t\taria-label=\"Close\"\r\n\t\t\t(click)=\"close()\"\r\n\t\t></button>\r\n\t</div>\r\n\t<div style=\"width: 100%; height: 420px\">\r\n\t\t<pdf-viewer\r\n\t\t\t[src]=\"pdfSrc\"\r\n\t\t\t[render-text]=\"true\"\r\n\t\t\t[original-size]=\"false\"\r\n\t\t\tstyle=\"width: 100%; height: 420px\"\r\n\t\t></pdf-viewer>\r\n\t</div>\r\n</div>\r\n","export type IPropsUploadFiles = {\r\n\tdirectorioId: number;\r\n\ttipoProcesoId: number;\r\n\tprocesoModuloId: number;\r\n\taplicacionId: number;\r\n\tmedioDigitalParametroId: number;\r\n\tversion: number;\r\n\tidDj: number;\r\n\ttipoArchivoDigitalId: number;\r\n\tlistaIdDocSustento: number[];\r\n\tcontribuyenteNumero?: number;\r\n\tcondicionContribuyenteId?: number;\r\n\tshowAgregar?: boolean;\r\n\tshowAnular?: boolean;\r\n};\r\n\r\nexport type DocumentoTabla = {\r\n\tindex: number;\r\n\tlaserficheId?: number;\r\n\tnombre: string;\r\n\tfechaUpload: string;\r\n\tanioUpload: number;\r\n\ttamanio: number;\r\n\textension: string;\r\n\tcontenido?: Blob;\r\n\tfile?: File;\r\n\tfolio?: number;\r\n};\r\n\r\nexport type DocSustentoModel = {\r\n\tmaestroId?: number;\r\n\tdescripcion?: string;\r\n};\r\n\r\nexport const DIRECTORIO_ID = {\r\n\tDEFECTO: 1,\r\n};\r\n\r\nexport const TIPO_PROCESO_ID = {\r\n\tCONFIGURACION_GENERAL: 1,\r\n\tPROCESO_NEGOCIO: 2,\r\n\tCOMPLEMENTARIOS_UTILITARIOS: 3,\r\n};\r\n\r\nexport const PROCESO_MODULO_ID = {\r\n\tDJ_CONTRIBUYENTE: 1,\r\n\tDJ_PREDIAL: 2,\r\n\tDJ_VEHICULAR: 3,\r\n\tDJ_ALCABALA: 4,\r\n\tDJ_EPND: 5,\r\n\tDJ_JUEGO: 6,\r\n\tDJ_APUESTA: 7,\r\n\tDJ_CONDICION: 8,\r\n};\r\n\r\nexport const APLICACION_ID = {\r\n\tCONFIGURACION_SISTEMA: 1,\r\n\tREGISTRO_TRIBUTARIO_Y_DETERMINACION: 2,\r\n\tGESTION_CAJA: 3,\r\n\tGESTION_COBRANZA: 4,\r\n\tGESTION_NOTIFICACIONES: 5,\r\n\tPERMISOS_Y_ACCESOS: 6,\r\n};\r\n\r\nexport const MEDIO_DIGITAL_PARAMETRO = {\r\n\tDJ_JUEGOS: 36,\r\n\tAPUESTAS: 37,\r\n\tALCABALA: 38,\r\n\tVEHICULAR: 41,\r\n\tEPND: 42,\r\n\tCONTRIBUYENTE: 43,\r\n\tCONDICION_CONTRIBUYENTE: 44,\r\n};\r\nexport const TIPO_ARCHIVO_ID = [\r\n\t{ key: 'PDF', value: 1 },\r\n\t{ key: 'DOCX', value: 2 },\r\n\t{ key: 'DOC', value: 3 },\r\n\t{ key: 'XLSX', value: 4 },\r\n\t{ key: 'XLS', value: 5 },\r\n\t{ key: 'JPEG', value: 6 },\r\n\t{ key: 'ZIP', value: 7 },\r\n\t{ key: 'RAR', value: 8 },\r\n\t{ key: 'JPG', value: 9 },\r\n];\r\n\r\nexport const VERSION = 1;\r\n\r\nexport const TIPO_ARCHIVO_DIGITAL_ID = 1;\r\n\r\nexport const PESO_MAXIMO_ARCHIVO_MODULO_ID = 1;\r\nexport const PESO_MAXIMO_TIPO_PARAMETRO_ID = 35;\r\n\r\nexport const MEGA_BYTES = 1048576;\r\n","export interface ErrorDetalleModel {\r\n\tcampo?: string;\r\n\tmensaje: string;\r\n}\r\n\r\nexport type IHttpResponseError = {\r\n\tcodigo?: string;\r\n\terrores?: ErrorDetalleModel[];\r\n\tmensaje?: string;\r\n\ttipMen?: number;\r\n};\r\n\r\nexport enum TIPO_MENSAJE_ERR_VAL {\r\n\tDANGER = 0,\r\n\tWARNING = 1,\r\n\tINFO = 2,\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ErrorDetalleModel, ErrorModel, ErrorCampo } from '../../core/models';\r\nimport {\r\n\tIHttpResponseError,\r\n\tTIPO_MENSAJE_ERR_VAL,\r\n} from '../../core/models/error-detalle.model';\r\n\r\ninterface Alerta {\r\n\tmessage?: string;\r\n\tclassname?: string;\r\n\tdelay?: number;\r\n\ttitle?: string;\r\n\terrores?: ErrorDetalleModel[] | ErrorCampo[];\r\n}\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AlertService {\r\n\ttoasts: Alerta[] = [];\r\n\r\n\tsuccess(message: string, duration = 5000) {\r\n\t\tthis.show(message, 'bg-alert-success mb-1', duration);\r\n\t}\r\n\r\n\terror(\r\n\t\tmessage: string = 'Error',\r\n\t\terrores: ErrorDetalleModel[] = [],\r\n\t\tdelay = 5000\r\n\t) {\r\n\t\tthis.show(message, 'bg-alert-danger mb-1', delay, errores);\r\n\t}\r\n\r\n\terrorModel(errorModel: ErrorModel) {\r\n\t\tconst message: string = `${errorModel.codigo} - ${errorModel.mensaje}`;\r\n\t\tthis.show(message, 'bg-alert-danger mb-1', 10000, errorModel.errores);\r\n\t}\r\n\r\n\terrorCampo(errores: ErrorCampo[] = []) {\r\n\t\tthis.showListError(errores, 6000, 'Error');\r\n\t}\r\n\r\n\twarning(\r\n\t\tmessage: string,\r\n\t\terrores: ErrorDetalleModel[] = [],\r\n\t\tduration = 6000\r\n\t) {\r\n\t\tthis.show(message, 'bg-alert-warning mb-1', duration, errores);\r\n\t}\r\n\r\n\tinfo(message: string = '', errores: ErrorDetalleModel[] = [], delay = 5000) {\r\n\t\tthis.show(message, 'bg-alert-info mb-1', delay, errores);\r\n\t}\r\n\r\n\tshow(\r\n\t\tmessage: string,\r\n\t\tclasname: string,\r\n\t\tdelay: number,\r\n\t\terrores?: ErrorDetalleModel[]\r\n\t) {\r\n\t\tthis.toasts.push({\r\n\t\t\tmessage: message,\r\n\t\t\tclassname: clasname,\r\n\t\t\tdelay: delay,\r\n\t\t\terrores: errores,\r\n\t\t});\r\n\t}\r\n\r\n\tshowListError(errores: ErrorCampo[], delay: number, message?: string) {\r\n\t\tthis.toasts.push({\r\n\t\t\tmessage: message,\r\n\t\t\tclassname: 'bg-alert-danger mb-1',\r\n\t\t\tdelay: delay,\r\n\t\t\terrores: errores,\r\n\t\t});\r\n\t}\r\n\r\n\tshowAlertErrGeneric(error: IHttpResponseError, delay = 5000) {\r\n\t\tconst tipoMensaje = error?.tipMen || TIPO_MENSAJE_ERR_VAL.DANGER;\r\n\t\tconst mensaje = error?.mensaje || 'Hubo un error';\r\n\t\tconst errores = error?.errores || [];\r\n\r\n\t\tif (tipoMensaje === TIPO_MENSAJE_ERR_VAL.INFO)\r\n\t\t\treturn this.info(mensaje, errores, delay);\r\n\t\tif (tipoMensaje === TIPO_MENSAJE_ERR_VAL.WARNING)\r\n\t\t\treturn this.warning(mensaje, errores, delay);\r\n\t\tif (tipoMensaje === TIPO_MENSAJE_ERR_VAL.DANGER)\r\n\t\t\treturn this.error(mensaje, errores, delay);\r\n\t\treturn this.error(mensaje, errores, delay);\r\n\t}\r\n\r\n\tremove(toast: any | null) {\r\n\t\tthis.toasts = this.toasts.filter((t) => t != toast);\r\n\t}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AbstractControl } from '@angular/forms';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ValidationFormService {\r\n constructor() {\r\n // method not implement\r\n }\r\n\r\n /**\r\n * @description retorna true si el campo es invalido, considera el touched y dirty del input\r\n * @param input: {AbstractControl} de un input\r\n * @param submitted:{boolean} indica si hizo click a enviar, guardar, etc.\r\n * @returns {boolean}\r\n */\r\n isControlInvalid(input: AbstractControl, submitted: boolean): boolean {\r\n return input.invalid && (input.dirty || input.touched || submitted);\r\n }\r\n}\r\n","/**\r\n * Component de dialogo de componente\r\n */\r\n\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { finalize } from 'rxjs';\r\nimport { AlertService } from '../alert/alert.service';\r\nimport { ConfirmOptions } from './dialog-confirm.service';\r\n\r\n@Component({\r\n\tselector: 'app-dialog-confirm',\r\n\ttemplateUrl: './dialog-confirm.component.html',\r\n\tstyleUrls: ['./dialog-confirm.component.scss'],\r\n})\r\nexport class DialogConfirmComponent implements OnInit {\r\n\t@Input() options!: ConfirmOptions;\r\n\r\n\tloading: boolean = false;\r\n\r\n\tconstructor(\r\n\t\tpublic activeModal: NgbActiveModal,\r\n\t\tprivate alertService: AlertService\r\n\t) {}\r\n\r\n\tngOnInit(): void {\r\n\t\t// method not implement\r\n\t}\r\n\r\n\tonOk() {\r\n\t\tconst { callback } = this.options;\r\n\t\tif (typeof callback === 'function') {\r\n\t\t\tthis.loading = true;\r\n\t\t\tcallback()\r\n\t\t\t\t.pipe(finalize(() => (this.loading = false)))\r\n\t\t\t\t.subscribe({\r\n\t\t\t\t\tnext: (response) => {\r\n\t\t\t\t\t\tthis.activeModal.close(response);\r\n\t\t\t\t\t},\r\n\t\t\t\t\terror: (error) => {\r\n\t\t\t\t\t\tthis.alertService.error(error.mensaje, error.errores);\r\n\t\t\t\t\t},\r\n\t\t\t\t});\r\n\t\t} else {\r\n\t\t\tthis.activeModal.close(true);\r\n\t\t}\r\n\t}\r\n\r\n\tonClose() {\r\n\t\tthis.activeModal.close();\r\n\t}\r\n}\r\n","<div class=\"dialog-confirm\">\r\n <div class=\"modal-body\">\r\n <div>\r\n <span class=\"dialog-confirm__icon feather icon-trash-2\"></span>\r\n </div>\r\n <h3 class=\"dialog-confirm__title\">{{options.title}}</h3>\r\n <p class=\"dialog-confirm__message\">{{options.message}}</p>\r\n </div>\r\n <div class=\"modal-footer justify-content-center\">\r\n <button type=\"button\" class=\"btn-cancel\" data-dismiss=\"modal\" (click)=\"onClose()\">\r\n <span class=\"feather icon-x me-1\"></span>\r\n Cancelar\r\n </button>\r\n <button type=\"button\" class=\"btn btn-primary\" [disabled]=\"loading\" ngbAutofocus (click)=\"onOk()\">\r\n <span class=\"feather icon-check me-1\" *ngIf=\"!loading; else iconLoading\"></span>\r\n <ng-template #iconLoading>\r\n <div class=\"spinner-border spinner-border-sm me-2\" role=\"status\"></div>\r\n </ng-template>\r\n {{ loading ? 'Grabando...' : 'Confimar' }}\r\n </button>\r\n </div>\r\n</div>\r\n","/**\r\n * Servicio para operaciones con el modal confirmacion\r\n * @author Jerson\r\n */\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { Observable } from 'rxjs';\r\nimport { DialogConfirmComponent } from './dialog-confirm.component';\r\n\r\nexport type ConfirmOptions = {\r\n title? : string; // Titulo\r\n message? : string; // mensaje\r\n msgResponseError? : string; // mensaje de error de respuesta (Callback)\r\n msgResponseSuccess? : string; // mensaje de success de respuesta (Callback)\r\n callback? : () => Observable<any>; // Funcion para invocar un observable (Servicio)\r\n};\r\n\r\nconst initualValues: ConfirmOptions = {\r\n title: '¿ Anular registro ?',\r\n message: 'Perderá el registro permanentemente',\r\n msgResponseError: 'No se pudo realizar la acción!',\r\n msgResponseSuccess: 'Se guardaron los cambios!',\r\n};\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DialogConfirmService {\r\n constructor(private modalService: NgbModal) {}\r\n\r\n /**\r\n * Metodo para invocar el popup de confirmacion\r\n * @param options: Opciones de Configuracion\r\n * @returns {NgModuleRef}\r\n */\r\n confirm(options?: ConfirmOptions) {\r\n const modalRef = this.modalService.open(DialogConfirmComponent, {\r\n centered: true,\r\n backdrop: 'static',\r\n keyboard: false,\r\n size: 'sm',\r\n modalDialogClass: 'nsrtm-dialog-confirm',\r\n });\r\n\r\n modalRef.componentInstance.options = { ...initualValues, ...options };\r\n\r\n return modalRef;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SpinnerService {\r\n loading = false;\r\n constructor() {\r\n // method not implement\r\n }\r\n\r\n show() {\r\n this.loading = true;\r\n }\r\n\r\n hide() {\r\n this.loading = false;\r\n }\r\n}\r\n","/* tslint:disable */\r\n/* eslint-disable */\r\nimport { Injectable } from '@angular/core';\r\n\r\n/**\r\n * Global configuration\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ApiConfiguration {\r\n rootUrl: string = 'https://apps2desa.mineco.gob.pe/v1/nsrtm-services/comunesregistro';\r\n}\r\n\r\n/**\r\n * Parameters for `ApiModule.forRoot()`\r\n */\r\nexport interface ApiConfigurationParams {\r\n rootUrl?: string;\r\n}\r\n","/* tslint:disable */\r\n/* eslint-disable */\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { ApiConfiguration } from './api-configuration';\r\n\r\n/**\r\n * Base class for services\r\n */\r\n@Injectable()\r\nexport class BaseService {\r\n constructor(\r\n protected config: ApiConfiguration,\r\n protected http: HttpClient\r\n ) {\r\n }\r\n\r\n private _rootUrl: string = '';\r\n\r\n /**\r\n * Returns the root url for all operations in this service. If not set directly in this\r\n * service, will fallback to `ApiConfiguration.rootUrl`.\r\n */\r\n get rootUrl(): string {\r\n return this._rootUrl || this.config.rootUrl;\r\n }\r\n\r\n /**\r\n * Sets the root URL for API operations in this service.\r\n */\r\n set rootUrl(rootUrl: string) {\r\n this._rootUrl = rootUrl;\r\n }\r\n}\r\n","/* tslint:disable */\r\n/* eslint-disable */\r\nimport { HttpRequest, HttpParameterCodec, HttpParams, HttpHeaders, HttpContext } from '@angular/common/http';\r\n\r\n/**\r\n * Custom parameter codec to correctly handle the plus sign in parameter\r\n * values. See https://github.com/angular/angular/issues/18261\r\n */\r\nclass ParameterCodec implements HttpParameterCodec {\r\n encodeKey(key: string): string {\r\n return encodeURIComponent(key);\r\n }\r\n\r\n encodeValue(value: string): string {\r\n return encodeURIComponent(value);\r\n }\r\n\r\n decodeKey(key: string): string {\r\n return decodeURIComponent(key);\r\n }\r\n\r\n decodeValue(value: string): string {\r\n return decodeURIComponent(value);\r\n }\r\n}\r\nconst ParameterCodecInstance = new ParameterCodec();\r\n\r\n/**\r\n * Defines the options for appending a parameter\r\n */\r\ninterface ParameterOptions {\r\n style?: string;\r\n explode?: boolean;\r\n}\r\n\r\n/**\r\n * Base class for a parameter\r\n */\r\nabstract class Parameter {\r\n constructor(public name: string, public value: any, public options: ParameterOptions, defaultStyle: string, defaultExplode: boolean) {\r\n this.options = options || {};\r\n if (this.options.style === null || this.options.style === undefined) {\r\n this.options.style = defaultStyle;\r\n }\r\n if (this.options.explode === null || this.options.explode === undefined) {\r\n this.options.explode = defaultExplode;\r\n }\r\n }\r\n\r\n serializeValue(value: any, separator = ','): string {\r\n if (value === null || value === undefined) {\r\n return '';\r\n } else if (value instanceof Array) {\r\n return value.map(v => this.serializeValue(v).split(separator).join(encodeURIComponent(separator))).join(separator);\r\n } else if (typeof value === 'object') {\r\n const array: string[] = [];\r\n for (const key of Object.keys(value)) {\r\n let propVal = value[key];\r\n if (propVal !== null && propVal !== undefined) {\r\n propVal = this.serializeValue(propVal).split(separator).join(encodeURIComponent(separator));\r\n if (this.options.explode) {\r\n array.push(`${key}=${propVal}`);\r\n } else {\r\n array.push(key);\r\n array.push(propVal);\r\n }\r\n }\r\n }\r\n return array.join(separator);\r\n } else {\r\n return String(value);\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * A parameter in the operation path\r\n */\r\nclass PathParameter extends Parameter {\r\n constructor(name: string, value: any, options: ParameterOptions) {\r\n super(name, value, options, 'simple', false);\r\n }\r\n\r\n append(path: string): string {\r\n let value = this.value;\r\n if (value === null || value === undefined) {\r\n value = '';\r\n }\r\n let prefix = this.options.style === 'label' ? '.' : '';\r\n let separator = this.options.explode ? prefix === '' ? ',' : prefix : ',';\r\n let alreadySerialized = false;\r\n if (this.options.style === 'matrix') {\r\n // The parameter name is just used as prefix, except in some cases...\r\n prefix = `;${this.name}=`;\r\n if (this.options.explode && typeof value === 'object') {\r\n prefix = ';';\r\n if (value instanceof Array) {\r\n // For arrays we have to repeat the name for each element\r\n value = value.map(v => `${this.name}=${this.serializeValue(v, ';')}`);\r\n value = value.join(';');\r\n alreadySerialized = true;\r\n } else {\r\n // For objects we have to put each the key / value pairs\r\n value = this.serializeValue(value, ';');\r\n alreadySerialized = true\r\n }\r\n }\r\n }\r\n value = prefix + (alreadySerialized ? value : this.serializeValue(value, separator));\r\n // Replace both the plain variable and the corresponding variant taking in the prefix and explode into account\r\n path = path.replace(`{${this.name}}`, value);\r\n path = path.replace(`{${prefix}${this.name}${this.options.explode ? '*' : ''}}`, value);\r\n return path;\r\n }\r\n\r\n // @ts-ignore\r\n serializeValue(value: any, separator = ','): string {\r\n var result = typeof value === 'string' ? encodeURIComponent(value) : super.serializeValue(value, separator);\r\n result = result.replace(/%3D/g, '=');\r\n result = result.replace(/%3B/g, ';');\r\n result = result.replace(/%2C/g, ',');\r\n return result;\r\n }\r\n}\r\n\r\n/**\r\n * A parameter in the query\r\n */\r\nclass QueryParameter extends Parameter {\r\n constructor(name: string, value: any, options: ParameterOptions) {\r\n super(name, value, options, 'form', true);\r\n }\r\n\r\n append(params: HttpParams): HttpParams {\r\n if (this.value instanceof Array) {\r\n // Array serialization\r\n if (this.options.explode) {\r\n for (const v of this.value) {\r\n params = params.append(this.name, this.serializeValue(v));\r\n }\r\n } else {\r\n const separator = this.options.style === 'spaceDelimited'\r\n ? ' ' : this.options.style === 'pipeDelimited'\r\n ? '|' : ',';\r\n return params.append(this.name, this.serializeValue(this.value, separator));\r\n }\r\n } else if (this.value !== null && typeof this.value === 'object') {\r\n // Object serialization\r\n if (this.options.style === 'deepObject') {\r\n // Append a parameter for each key, in the form `name[key]`\r\n for (const key of Object.keys(this.value)) {\r\n const propVal = this.value[key];\r\n if (propVal !== null && propVal !== undefined) {\r\n params = params.append(`${this.name}[${key}]`, this.serializeValue(propVal));\r\n }\r\n }\r\n } else if (this.options.explode) {\r\n // Append a parameter for each key without using the parameter name\r\n for (const key of Object.keys(this.value)) {\r\n const propVal = this.value[key];\r\n if (propVal !== null && propVal !== undefined) {\r\n params = params.append(key, this.serializeValue(propVal));\r\n }\r\n }\r\n } else {\r\n // Append a single parameter whose values are a comma-separated list of key,value,key,value...\r\n const array: any[] = [];\r\n for (const key of Object.keys(this.value)) {\r\n const propVal = this.value[key];\r\n if (propVal !== null && propVal !== undefined) {\r\n array.push(key);\r\n array.push(propVal);\r\n }\r\n }\r\n params = params.append(this.name, this.serializeValue(array));\r\n }\r\n } else if (this.value !== null && this.value !== undefined) {\r\n // Plain value\r\n params = params.append(this.name, this.serializeValue(this.value));\r\n }\r\n return params;\r\n }\r\n}\r\n\r\n/**\r\n * A parameter in the HTTP request header\r\n */\r\nclass HeaderParameter extends Parameter {\r\n constructor(name: string, value: any, options: ParameterOptions) {\r\n super(name, value, options, 'simple', false);\r\n }\r\n\r\n append(headers: HttpHeaders): HttpHeaders {\r\n if (this.value !== null && this.value !== undefined) {\r\n if (this.value instanceof Array) {\r\n for (const v of this.value) {\r\n headers = headers.append(this.name, this.serializeValue(v));\r\n }\r\n } else {\r\n headers = headers.append(this.name, this.serializeValue(this.value));\r\n }\r\n }\r\n return headers;\r\n }\r\n}\r\n\r\n/**\r\n * Helper to build http requests from parameters\r\n */\r\nexport class RequestBuilder {\r\n\r\n private _path = new Map<string, PathParameter>();\r\n private _query = new Map<string, QueryParameter>();\r\n private _header = new Map<string, HeaderParameter>();\r\n _bodyContent: any | null;\r\n _bodyContentType?: string;\r\n\r\n constructor(\r\n public rootUrl: string,\r\n public operationPath: string,\r\n public method: string) {\r\n }\r\n\r\n /**\r\n * Sets a path parameter\r\n */\r\n path(name: string, value: any, options?: ParameterOptions): void {\r\n this._path.set(name, new PathParameter(name, value, options || {}));\r\n }\r\n\r\n /**\r\n * Sets a query parameter\r\n */\r\n query(name: string, value: any, options?: ParameterOptions): void {\r\n this._query.set(name, new QueryParameter(name, value, options || {}));\r\n }\r\n\r\n /**\r\n * Sets a header parameter\r\n */\r\n header(name: string, value: any, options?: ParameterOptions): void {\r\n this._header.set(name, new HeaderParameter(name, value, options || {}));\r\n }\r\n\r\n /**\r\n * Sets the body content, along with the content type\r\n */\r\n body(value: any, contentType = 'application/json'): void {\r\n if (value instanceof Blob) {\r\n this._bodyContentType = value.type;\r\n } else {\r\n this._bodyContentType = contentType;\r\n }\r\n if (this._bodyContentType === 'application/x-www-form-urlencoded' && value !== null && typeof value === 'object') {\r\n // Handle URL-encoded data\r\n const pairs: Array<[string, string]> = [];\r\n for (const key of Object.keys(value)) {\r\n let val = value[key];\r\n if (!(val instanceof Array)) {\r\n val = [val];\r\n }\r\n for (const v of val) {\r\n const formValue = this.formDataValue(v);\r\n if (formValue !== null) {\r\n pairs.push([key, formValue]);\r\n }\r\n }\r\n }\r\n this._bodyContent = pairs.map(p => `${encodeURIComponent(p[0])}=${encodeURIComponent(p[1])}`).join('&');\r\n } else if (this._bodyContentType === 'multipart/form-data') {\r\n // Handle multipart form data\r\n const formData = new FormData();\r\n if (value !== null && value !== undefined) {\r\n for (const key of Object.keys(value)) {\r\n const val = value[key];\r\n if (val instanceof Array) {\r\n for (const v of val) {\r\n const toAppend = this.formDataValue(v);\r\n if (toAppend !== null) {\r\n formData.append(key, toAppend);\r\n }\r\n }\r\n } else {\r\n const toAppend = this.formDataValue(val);\r\n if (toAppend !== null) {\r\n formData.set(key, toAppend);\r\n }\r\n }\r\n }\r\n }\r\n this._bodyContent = formData;\r\n } else {\r\n // The body is the plain content\r\n this._bodyContent = value;\r\n }\r\n }\r\n\r\n private formDataValue(value: any): any {\r\n if (value === null || value === undefined) {\r\n return null;\r\n }\r\n if (value instanceof Blob) {\r\n return value;\r\n }\r\n if (typeof value === 'object') {\r\n return JSON.stringify(value);\r\n }\r\n return String(value);\r\n }\r\n\r\n /**\r\n * Builds the request with the current set parameters\r\n */\r\n build<T = any>(options?: {\r\n /** Which content types to accept */\r\n accept?: string;\r\n\r\n /** The expected response type */\r\n responseType?: 'json' | 'text' | 'blob' | 'arraybuffer';\r\n\r\n /** Whether to report progress on uploads / downloads */\r\n reportProgress?: boolean;\r\n\r\n /** Allow passing HttpContext for HttpClient */\r\n context?: HttpContext;\r\n }): HttpRequest<T> {\r\n\r\n options = options || {};\r\n\r\n // Path parameters\r\n let path = this.operationPath;\r\n for (const pathParam of this._path.values()) {\r\n path = pathParam.append(path);\r\n }\r\n const url = this.rootUrl + path;\r\n\r\n // Query parameters\r\n let httpParams = new HttpParams({\r\n encoder: ParameterCodecInstance\r\n });\r\n for (const queryParam of this._query.values()) {\r\n httpParams = queryParam.append(httpParams);\r\n }\r\n\r\n // Header parameters\r\n let httpHeaders = new HttpHeaders();\r\n if (options.accept) {\r\n httpHeaders = httpHeaders.append('Accept', options.accept);\r\n }\r\n for (const headerParam of this._header.values()) {\r\n httpHeaders = headerParam.append(httpHeaders);\r\n }\r\n\r\n // Request content headers\r\n if (this._bodyContentType && !(this._bodyContent instanceof FormData)) {\r\n httpHeaders = httpHeaders.set('Content-Type', this._bodyContentType);\r\n }\r\n\r\n // Perform the request\r\n return new HttpRequest<T>(this.method.toUpperCase(), url, this._bodyContent, {\r\n params: httpParams,\r\n headers: httpHeaders,\r\n responseType: options.responseType,\r\n reportProgress: options.reportProgress,\r\n context: options.context\r\n });\r\n }\r\n}\r\n","/* tslint:disable */\r\n/* eslint-disable */\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpResponse, HttpContext } from '@angular/common/http';\r\nimport { BaseService } from '../base-service';\r\nimport { ApiConfiguration } from '../api-configuration';\r\nimport { StrictHttpResponse } from '../strict-http-response';\r\nimport { RequestBuilder } from '../request-builder';\r\nimport { Observable } from 'rxjs';\r\nimport { map, filter } from 'rxjs/operators';\r\n\r\nimport { CustomPageTablaCatalogoBuscarProjection } from '../models/custom-page-tabla-catalogo-buscar-projection';\r\nimport { FormElementProjection } from '../models/form-element-projection';\r\nimport { MovHisRegistrosTablaCatalogoResponse } from '../models/mov-his-registros-tabla-catalogo-response';\r\nimport { TablaCatalogoDetalleResponse } from '../models/tabla-catalogo-detalle-response';\r\nimport { TablaCatalogoRegistroResponse } from '../models/tabla-catalogo-registro-response';\r\nimport { TablaCatalogoRequest } from '../models/tabla-catalogo-request';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TablaCatalogoControllerService extends BaseService {\r\n constructor(\r\n config: ApiConfiguration,\r\n http: HttpClient\r\n ) {\r\n super(config, http);\r\n }\r\n\r\n /**\r\n * Path part for operation modificarRegistroDetalle\r\n */\r\n static readonly ModificarRegistroDetallePath = '/catalogos/{tabla_catalogo_id}/{codigo1}/{codigo2}';\r\n\r\n /**\r\n * Realiza la actualizacion del registro en la tabla seleccionada.\r\n *\r\n * Realiza la actualizacion del registro en la tabla seleccionada\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `modificarRegistroDetalle()` instead.\r\n *\r\n * This method sends `application/json` and handles request body of type `application/json`.\r\n */\r\n modificarRegistroDetalle$Response(params: {\r\n tabla_catalogo_id: number;\r\n codigo1: number;\r\n codigo2: number;\r\n context?: HttpContext\r\n body: TablaCatalogoRequest\r\n }\r\n): Observable<StrictHttpResponse<{\r\n}>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, TablaCatalogoControllerService.ModificarRegistroDetallePath, 'put');\r\n if (params) {\r\n rb.path('tabla_catalogo_id', params.tabla_catalogo_id, {});\r\n rb.path('codigo1', params.codigo1, {});\r\n rb.path('codigo2', params.codigo2, {});\r\n rb.body(params.body, 'application/json');\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<{\r\n }>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Realiza la actualizacion del registro en la tabla seleccionada.\r\n *\r\n * Realiza la actualizacion del registro en la tabla seleccionada\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `modificarRegistroDetalle$Response()` instead.\r\n *\r\n * This method sends `application/json` and handles request body of type `application/json`.\r\n */\r\n modificarRegistroDetalle(params: {\r\n tabla_catalogo_id: number;\r\n codigo1: number;\r\n codigo2: number;\r\n context?: HttpContext\r\n body: TablaCatalogoRequest\r\n }\r\n): Observable<{\r\n}> {\r\n\r\n return this.modificarRegistroDetalle$Response(params).pipe(\r\n map((r: StrictHttpResponse<{\r\n}>) => r.body as {\r\n})\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation crearRegistroDetalle\r\n */\r\n static readonly CrearRegistroDetallePath = '/catalogos/{tabla_catalogo_id}/{codigo1}/{codigo2}';\r\n\r\n /**\r\n * Realiza el registro en la tabla seleccionada.\r\n *\r\n * Realiza el registro en la tabla seleccionada\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `crearRegistroDetalle()` instead.\r\n *\r\n * This method sends `application/json` and handles request body of type `application/json`.\r\n */\r\n crearRegistroDetalle$Response(params: {\r\n tabla_catalogo_id: number;\r\n codigo1: number;\r\n codigo2: number;\r\n context?: HttpContext\r\n body: TablaCatalogoRequest\r\n }\r\n): Observable<StrictHttpResponse<{\r\n}>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, TablaCatalogoControllerService.CrearRegistroDetallePath, 'post');\r\n if (params) {\r\n rb.path('tabla_catalogo_id', params.tabla_catalogo_id, {});\r\n rb.path('codigo1', params.codigo1, {});\r\n rb.path('codigo2', params.codigo2, {});\r\n rb.body(params.body, 'application/json');\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<{\r\n }>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Realiza el registro en la tabla seleccionada.\r\n *\r\n * Realiza el registro en la tabla seleccionada\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `crearRegistroDetalle$Response()` instead.\r\n *\r\n * This method sends `application/json` and handles request body of type `application/json`.\r\n */\r\n crearRegistroDetalle(params: {\r\n tabla_catalogo_id: number;\r\n codigo1: number;\r\n codigo2: number;\r\n context?: HttpContext\r\n body: TablaCatalogoRequest\r\n }\r\n): Observable<{\r\n}> {\r\n\r\n return this.crearRegistroDetalle$Response(params).pipe(\r\n map((r: StrictHttpResponse<{\r\n}>) => r.body as {\r\n})\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation buscarTablaCatalogo\r\n */\r\n static readonly BuscarTablaCatalogoPath = '/catalogos';\r\n\r\n /**\r\n * Permite realizar la busqueda de tablas tipo 1 , 2 , 3.\r\n *\r\n * Permite realizar la busqueda de tablas tipo 1 , 2 , 3.\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `buscarTablaCatalogo()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n buscarTablaCatalogo$Response(params?: {\r\n tabla_catalogo_id?: number;\r\n tabla?: string;\r\n descripcion?: string;\r\n tipo?: number;\r\n page?: number;\r\n page_size?: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<CustomPageTablaCatalogoBuscarProjection>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, TablaCatalogoControllerService.BuscarTablaCatalogoPath, 'get');\r\n if (params) {\r\n rb.query('tabla_catalogo_id', params.tabla_catalogo_id, {});\r\n rb.query('tabla', params.tabla, {});\r\n rb.query('descripcion', params.descripcion, {});\r\n rb.query('tipo', params.tipo, {});\r\n rb.query('page', params.page, {});\r\n rb.query('page_size', params.page_size, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<CustomPageTablaCatalogoBuscarProjection>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite realizar la busqueda de tablas tipo 1 , 2 , 3.\r\n *\r\n * Permite realizar la busqueda de tablas tipo 1 , 2 , 3.\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `buscarTablaCatalogo$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n buscarTablaCatalogo(params?: {\r\n tabla_catalogo_id?: number;\r\n tabla?: string;\r\n descripcion?: string;\r\n tipo?: number;\r\n page?: number;\r\n page_size?: number;\r\n context?: HttpContext\r\n }\r\n): Observable<CustomPageTablaCatalogoBuscarProjection> {\r\n\r\n return this.buscarTablaCatalogo$Response(params).pipe(\r\n map((r: StrictHttpResponse<CustomPageTablaCatalogoBuscarProjection>) => r.body as CustomPageTablaCatalogoBuscarProjection)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarFormElement\r\n */\r\n static readonly ListarFormElementPath = '/catalogos/listar-form-element/{tabla_catalogo_id}';\r\n\r\n /**\r\n * Permite listar los elementos del formulario de la tabla a dar mantenimiento.\r\n *\r\n * Permite listar los elementos del formulario de la tabla a dar mantenimiento\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarFormElement()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarFormElement$Response(params: {\r\n tabla_catalogo_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<FormElementProjection>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, TablaCatalogoControllerService.ListarFormElementPath, 'get');\r\n if (params) {\r\n rb.path('tabla_catalogo_id', params.tabla_catalogo_id, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<FormElementProjection>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar los elementos del formulario de la tabla a dar mantenimiento.\r\n *\r\n * Permite listar los elementos del formulario de la tabla a dar mantenimiento\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarFormElement$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarFormElement(params: {\r\n tabla_catalogo_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<Array<FormElementProjection>> {\r\n\r\n return this.listarFormElement$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<FormElementProjection>>) => r.body as Array<FormElementProjection>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarDetalleTablaCatalogo\r\n */\r\n static readonly ListarDetalleTablaCatalogoPath = '/catalogos/listar-detalle/{tabla_catalogo_id}/{codigo_padre}';\r\n\r\n /**\r\n * Permite listar todos los registros de la tabla catalogo a consultar.\r\n *\r\n * Permite listar todos los registros de la tabla catalogo a consultar.\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarDetalleTablaCatalogo()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarDetalleTablaCatalogo$Response(params: {\r\n tabla_catalogo_id: number;\r\n codigo_padre: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<TablaCatalogoDetalleResponse>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, TablaCatalogoControllerService.ListarDetalleTablaCatalogoPath, 'get');\r\n if (params) {\r\n rb.path('tabla_catalogo_id', params.tabla_catalogo_id, {});\r\n rb.path('codigo_padre', params.codigo_padre, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<TablaCatalogoDetalleResponse>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar todos los registros de la tabla catalogo a consultar.\r\n *\r\n * Permite listar todos los registros de la tabla catalogo a consultar.\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarDetalleTablaCatalogo$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarDetalleTablaCatalogo(params: {\r\n tabla_catalogo_id: number;\r\n codigo_padre: number;\r\n context?: HttpContext\r\n }\r\n): Observable<Array<TablaCatalogoDetalleResponse>> {\r\n\r\n return this.listarDetalleTablaCatalogo$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<TablaCatalogoDetalleResponse>>) => r.body as Array<TablaCatalogoDetalleResponse>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarDetalleHistorico\r\n */\r\n static readonly ListarDetalleHistoricoPath = '/catalogos/listar-detalle-historico/{tabla_catalogo_id}/{codigo1}/{codigo2}';\r\n\r\n /**\r\n * Permite listar los registros de la tabla catalogo a consultar.\r\n *\r\n * Permite listar los registros de la tabla catalogo a consultar.\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarDetalleHistorico()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarDetalleHistorico$Response(params: {\r\n tabla_catalogo_id: number;\r\n codigo1: number;\r\n codigo2: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<MovHisRegistrosTablaCatalogoResponse>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, TablaCatalogoControllerService.ListarDetalleHistoricoPath, 'get');\r\n if (params) {\r\n rb.path('tabla_catalogo_id', params.tabla_catalogo_id, {});\r\n rb.path('codigo1', params.codigo1, {});\r\n rb.path('codigo2', params.codigo2, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<MovHisRegistrosTablaCatalogoResponse>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar los registros de la tabla catalogo a consultar.\r\n *\r\n * Permite listar los registros de la tabla catalogo a consultar.\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarDetalleHistorico$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarDetalleHistorico(params: {\r\n tabla_catalogo_id: number;\r\n codigo1: number;\r\n codigo2: number;\r\n context?: HttpContext\r\n }\r\n): Observable<Array<MovHisRegistrosTablaCatalogoResponse>> {\r\n\r\n return this.listarDetalleHistorico$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<MovHisRegistrosTablaCatalogoResponse>>) => r.body as Array<MovHisRegistrosTablaCatalogoResponse>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation obtenerRegistroDetalle\r\n */\r\n static readonly ObtenerRegistroDetallePath = '/catalogos/detalle/{tabla_catalogo_id}/{codigo1}/{codigo2}';\r\n\r\n /**\r\n * Permite obtener los datos del registro de la tabla seleccionada.\r\n *\r\n * Permite obtener los datos del registro de la tabla seleccionada.\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `obtenerRegistroDetalle()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n obtenerRegistroDetalle$Response(params: {\r\n tabla_catalogo_id: number;\r\n codigo1: number;\r\n codigo2: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<TablaCatalogoRegistroResponse>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, TablaCatalogoControllerService.ObtenerRegistroDetallePath, 'get');\r\n if (params) {\r\n rb.path('tabla_catalogo_id', params.tabla_catalogo_id, {});\r\n rb.path('codigo1', params.codigo1, {});\r\n rb.path('codigo2', params.codigo2, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<TablaCatalogoRegistroResponse>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite obtener los datos del registro de la tabla seleccionada.\r\n *\r\n * Permite obtener los datos del registro de la tabla seleccionada.\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `obtenerRegistroDetalle$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n obtenerRegistroDetalle(params: {\r\n tabla_catalogo_id: number;\r\n codigo1: number;\r\n codigo2: number;\r\n context?: HttpContext\r\n }\r\n): Observable<Array<TablaCatalogoRegistroResponse>> {\r\n\r\n return this.obtenerRegistroDetalle$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<TablaCatalogoRegistroResponse>>) => r.body as Array<TablaCatalogoRegistroResponse>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation anularRegistroDetalle\r\n */\r\n static readonly AnularRegistroDetallePath = '/catalogos/{tabla_catalogo_id}/{codigo1}/{codigo2}/{terminal}';\r\n\r\n /**\r\n * Realiza la anulación del registro en la tabla seleccionada.\r\n *\r\n * Realiza la anulación del registro en la tabla seleccionada\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `anularRegistroDetalle()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n anularRegistroDetalle$Response(params: {\r\n tabla_catalogo_id: number;\r\n codigo1: number;\r\n codigo2: number;\r\n terminal: string;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<{\r\n}>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, TablaCatalogoControllerService.AnularRegistroDetallePath, 'delete');\r\n if (params) {\r\n rb.path('tabla_catalogo_id', params.tabla_catalogo_id, {});\r\n rb.path('codigo1', params.codigo1, {});\r\n rb.path('codigo2', params.codigo2, {});\r\n rb.path('terminal', params.terminal, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<{\r\n }>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Realiza la anulación del registro en la tabla seleccionada.\r\n *\r\n * Realiza la anulación del registro en la tabla seleccionada\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `anularRegistroDetalle$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n anularRegistroDetalle(params: {\r\n tabla_catalogo_id: number;\r\n codigo1: number;\r\n codigo2: number;\r\n terminal: string;\r\n context?: HttpContext\r\n }\r\n): Observable<{\r\n}> {\r\n\r\n return this.anularRegistroDetalle$Response(params).pipe(\r\n map((r: StrictHttpResponse<{\r\n}>) => r.body as {\r\n})\r\n );\r\n }\r\n\r\n}\r\n","/* tslint:disable */\r\n/* eslint-disable */\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpResponse, HttpContext } from '@angular/common/http';\r\nimport { BaseService } from '../base-service';\r\nimport { ApiConfiguration } from '../api-configuration';\r\nimport { StrictHttpResponse } from '../strict-http-response';\r\nimport { RequestBuilder } from '../request-builder';\r\nimport { Observable } from 'rxjs';\r\nimport { map, filter } from 'rxjs/operators';\r\n\r\nimport { CategoriaProjection } from '../models/categoria-projection';\r\nimport { ClaseVehiculoProjection } from '../models/clase-vehiculo-projection';\r\nimport { ComunesProjection } from '../models/comunes-projection';\r\nimport { ComunesRegistroResponse } from '../models/comunes-registro-response';\r\nimport { ConContribuyenteEntity } from '../models/con-contribuyente-entity';\r\nimport { DesDomicilioResponse } from '../models/des-domicilio-response';\r\nimport { DesDomicilioRusticoRequest } from '../models/des-domicilio-rustico-request';\r\nimport { DesDomicilioUrbanoRequest } from '../models/des-domicilio-urbano-request';\r\nimport { DocumentoIdentidadTipoProjection } from '../models/documento-identidad-tipo-projection';\r\nimport { DocumentoTipoProjection } from '../models/documento-tipo-projection';\r\nimport { MarcaVehiculoProjection } from '../models/marca-vehiculo-projection';\r\nimport { ModeloVehiculoProjection } from '../models/modelo-vehiculo-projection';\r\nimport { NotariaProjection } from '../models/notaria-projection';\r\nimport { PropiedadTipoResponse } from '../models/propiedad-tipo-response';\r\nimport { RelacionadoTipoProjection } from '../models/relacionado-tipo-projection';\r\nimport { TransferenciaTipoResponse } from '../models/transferencia-tipo-response';\r\nimport { UsoArbitrioTipoProjection } from '../models/uso-arbitrio-tipo-projection';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ComunesRegistroControllerService extends BaseService {\r\n constructor(\r\n config: ApiConfiguration,\r\n http: HttpClient\r\n ) {\r\n super(config, http);\r\n }\r\n\r\n /**\r\n * Path part for operation listar\r\n */\r\n static readonly ListarPath = '/comunesregistro/{codigo}';\r\n\r\n /**\r\n * Permite listar los datos comunes.\r\n *\r\n * Permite listar los datos comunes de la tabla de catálogo de registro\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listar()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listar$Response(params: {\r\n codigo: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<ComunesRegistroResponse>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarPath, 'get');\r\n if (params) {\r\n rb.path('codigo', params.codigo, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<ComunesRegistroResponse>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar los datos comunes.\r\n *\r\n * Permite listar los datos comunes de la tabla de catálogo de registro\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listar$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listar(params: {\r\n codigo: number;\r\n context?: HttpContext\r\n }\r\n): Observable<Array<ComunesRegistroResponse>> {\r\n\r\n return this.listar$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<ComunesRegistroResponse>>) => r.body as Array<ComunesRegistroResponse>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarTipoZonaUrbana\r\n */\r\n static readonly ListarTipoZonaUrbanaPath = '/comunesregistro/tipo-zona-urbana/{tipo_predio_id}';\r\n\r\n /**\r\n * Permite listar tipos de zona urbana.\r\n *\r\n * Devuelve la lista de los tipos zona urbana por tipo de predio\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarTipoZonaUrbana()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarTipoZonaUrbana$Response(params: {\r\n tipo_predio_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<ComunesProjection>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarTipoZonaUrbanaPath, 'get');\r\n if (params) {\r\n rb.path('tipo_predio_id', params.tipo_predio_id, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<ComunesProjection>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar tipos de zona urbana.\r\n *\r\n * Devuelve la lista de los tipos zona urbana por tipo de predio\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarTipoZonaUrbana$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarTipoZonaUrbana(params: {\r\n tipo_predio_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<Array<ComunesProjection>> {\r\n\r\n return this.listarTipoZonaUrbana$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<ComunesProjection>>) => r.body as Array<ComunesProjection>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarZonaInfluenciaTipo\r\n */\r\n static readonly ListarZonaInfluenciaTipoPath = '/comunesregistro/tipo-zona-influencia';\r\n\r\n /**\r\n * Permite listar los tipos zona influencia.\r\n *\r\n * Permite listar los tipos zona influencia\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarZonaInfluenciaTipo()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarZonaInfluenciaTipo$Response(params?: {\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<UsoArbitrioTipoProjection>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarZonaInfluenciaTipoPath, 'get');\r\n if (params) {\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<UsoArbitrioTipoProjection>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar los tipos zona influencia.\r\n *\r\n * Permite listar los tipos zona influencia\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarZonaInfluenciaTipo$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarZonaInfluenciaTipo(params?: {\r\n context?: HttpContext\r\n }\r\n): Observable<Array<UsoArbitrioTipoProjection>> {\r\n\r\n return this.listarZonaInfluenciaTipo$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<UsoArbitrioTipoProjection>>) => r.body as Array<UsoArbitrioTipoProjection>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarTipoVia\r\n */\r\n static readonly ListarTipoViaPath = '/comunesregistro/tipo-via/{tipo_predio_id}';\r\n\r\n /**\r\n * Permite listar tipos de vía.\r\n *\r\n * Devuelve la lista de los tipos vía por tipo de predio\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarTipoVia()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarTipoVia$Response(params: {\r\n tipo_predio_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<ComunesProjection>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarTipoViaPath, 'get');\r\n if (params) {\r\n rb.path('tipo_predio_id', params.tipo_predio_id, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<ComunesProjection>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar tipos de vía.\r\n *\r\n * Devuelve la lista de los tipos vía por tipo de predio\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarTipoVia$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarTipoVia(params: {\r\n tipo_predio_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<Array<ComunesProjection>> {\r\n\r\n return this.listarTipoVia$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<ComunesProjection>>) => r.body as Array<ComunesProjection>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarTipoUsoArbitrio\r\n */\r\n static readonly ListarTipoUsoArbitrioPath = '/comunesregistro/tipo-uso-arbitrio/{anio}';\r\n\r\n /**\r\n * Permite listar los tipos de uso de arbitrios.\r\n *\r\n * Permite listar los tipos de uso de arbitrios\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarTipoUsoArbitrio()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarTipoUsoArbitrio$Response(params: {\r\n anio: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<UsoArbitrioTipoProjection>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarTipoUsoArbitrioPath, 'get');\r\n if (params) {\r\n rb.path('anio', params.anio, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<UsoArbitrioTipoProjection>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar los tipos de uso de arbitrios.\r\n *\r\n * Permite listar los tipos de uso de arbitrios\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarTipoUsoArbitrio$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarTipoUsoArbitrio(params: {\r\n anio: number;\r\n context?: HttpContext\r\n }\r\n): Observable<Array<UsoArbitrioTipoProjection>> {\r\n\r\n return this.listarTipoUsoArbitrio$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<UsoArbitrioTipoProjection>>) => r.body as Array<UsoArbitrioTipoProjection>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarTipoSubZonaUrbana\r\n */\r\n static readonly ListarTipoSubZonaUrbanaPath = '/comunesregistro/tipo-subzona-urbana/{tipo_predio_id}';\r\n\r\n /**\r\n * Permite listar tipos de subzona urbana.\r\n *\r\n * Devuelve la lista de los tipos subzona urbana por tipo de predio\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarTipoSubZonaUrbana()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarTipoSubZonaUrbana$Response(params: {\r\n tipo_predio_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<ComunesProjection>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarTipoSubZonaUrbanaPath, 'get');\r\n if (params) {\r\n rb.path('tipo_predio_id', params.tipo_predio_id, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<ComunesProjection>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar tipos de subzona urbana.\r\n *\r\n * Devuelve la lista de los tipos subzona urbana por tipo de predio\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarTipoSubZonaUrbana$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarTipoSubZonaUrbana(params: {\r\n tipo_predio_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<Array<ComunesProjection>> {\r\n\r\n return this.listarTipoSubZonaUrbana$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<ComunesProjection>>) => r.body as Array<ComunesProjection>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarTipoRelacionadoPorTipoPersona\r\n */\r\n static readonly ListarTipoRelacionadoPorTipoPersonaPath = '/comunesregistro/tipo-relacionado-por-tipo-persona/{tipo_persona_id}/{fallecido}';\r\n\r\n /**\r\n * Permite listar los documentos de identidad según el tipo de relacionado.\r\n *\r\n * Devuelve una lista de los documentos de identidad según el tipo de relacionado\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarTipoRelacionadoPorTipoPersona()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarTipoRelacionadoPorTipoPersona$Response(params: {\r\n tipo_persona_id: number;\r\n fallecido: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<RelacionadoTipoProjection>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarTipoRelacionadoPorTipoPersonaPath, 'get');\r\n if (params) {\r\n rb.path('tipo_persona_id', params.tipo_persona_id, {});\r\n rb.path('fallecido', params.fallecido, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<RelacionadoTipoProjection>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar los documentos de identidad según el tipo de relacionado.\r\n *\r\n * Devuelve una lista de los documentos de identidad según el tipo de relacionado\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarTipoRelacionadoPorTipoPersona$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarTipoRelacionadoPorTipoPersona(params: {\r\n tipo_persona_id: number;\r\n fallecido: number;\r\n context?: HttpContext\r\n }\r\n): Observable<Array<RelacionadoTipoProjection>> {\r\n\r\n return this.listarTipoRelacionadoPorTipoPersona$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<RelacionadoTipoProjection>>) => r.body as Array<RelacionadoTipoProjection>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarTipoPropiedad\r\n */\r\n static readonly ListarTipoPropiedadPath = '/comunesregistro/tipo-propiedad/{con_recaudacion_id}';\r\n\r\n /**\r\n * Permite listar tipos de propiedad por concepto de recaudación.\r\n *\r\n * Devuelve la lista de tipos de propiedad por concepto de recaudación\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarTipoPropiedad()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarTipoPropiedad$Response(params: {\r\n con_recaudacion_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<ComunesProjection>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarTipoPropiedadPath, 'get');\r\n if (params) {\r\n rb.path('con_recaudacion_id', params.con_recaudacion_id, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<ComunesProjection>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar tipos de propiedad por concepto de recaudación.\r\n *\r\n * Devuelve la lista de tipos de propiedad por concepto de recaudación\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarTipoPropiedad$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarTipoPropiedad(params: {\r\n con_recaudacion_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<Array<ComunesProjection>> {\r\n\r\n return this.listarTipoPropiedad$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<ComunesProjection>>) => r.body as Array<ComunesProjection>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarNivelAfluenciaTipo\r\n */\r\n static readonly ListarNivelAfluenciaTipoPath = '/comunesregistro/tipo-nivel-afluencia';\r\n\r\n /**\r\n * Permite listar los tipos nivel de afluencia.\r\n *\r\n * Permite listar los tipos nivel de afluencia\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarNivelAfluenciaTipo()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarNivelAfluenciaTipo$Response(params?: {\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<UsoArbitrioTipoProjection>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarNivelAfluenciaTipoPath, 'get');\r\n if (params) {\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<UsoArbitrioTipoProjection>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar los tipos nivel de afluencia.\r\n *\r\n * Permite listar los tipos nivel de afluencia\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarNivelAfluenciaTipo$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarNivelAfluenciaTipo(params?: {\r\n context?: HttpContext\r\n }\r\n): Observable<Array<UsoArbitrioTipoProjection>> {\r\n\r\n return this.listarNivelAfluenciaTipo$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<UsoArbitrioTipoProjection>>) => r.body as Array<UsoArbitrioTipoProjection>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarTipoJuegoRecaudacion\r\n */\r\n static readonly ListarTipoJuegoRecaudacionPath = '/comunesregistro/tipo-juego-recaudacion/{con_recaudacion_id}';\r\n\r\n /**\r\n * Permite listar los tipos de juegos por concepto de recaudación.\r\n *\r\n * Devuelve la lista de tipos de juegos por concepto de recaudación\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarTipoJuegoRecaudacion()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarTipoJuegoRecaudacion$Response(params: {\r\n con_recaudacion_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<ComunesProjection>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarTipoJuegoRecaudacionPath, 'get');\r\n if (params) {\r\n rb.path('con_recaudacion_id', params.con_recaudacion_id, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<ComunesProjection>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar los tipos de juegos por concepto de recaudación.\r\n *\r\n * Devuelve la lista de tipos de juegos por concepto de recaudación\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarTipoJuegoRecaudacion$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarTipoJuegoRecaudacion(params: {\r\n con_recaudacion_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<Array<ComunesProjection>> {\r\n\r\n return this.listarTipoJuegoRecaudacion$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<ComunesProjection>>) => r.body as Array<ComunesProjection>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarTipoInterior\r\n */\r\n static readonly ListarTipoInteriorPath = '/comunesregistro/tipo-interior/{tipo_predio_id}';\r\n\r\n /**\r\n * Permite listar tipos de interior.\r\n *\r\n * Devuelve la lista de los tipos interior por tipo de predio\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarTipoInterior()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarTipoInterior$Response(params: {\r\n tipo_predio_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<ComunesProjection>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarTipoInteriorPath, 'get');\r\n if (params) {\r\n rb.path('tipo_predio_id', params.tipo_predio_id, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<ComunesProjection>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar tipos de interior.\r\n *\r\n * Devuelve la lista de los tipos interior por tipo de predio\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarTipoInterior$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarTipoInterior(params: {\r\n tipo_predio_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<Array<ComunesProjection>> {\r\n\r\n return this.listarTipoInterior$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<ComunesProjection>>) => r.body as Array<ComunesProjection>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarTipoEdificacion\r\n */\r\n static readonly ListarTipoEdificacionPath = '/comunesregistro/tipo-edificacion/{tipo_predio_id}';\r\n\r\n /**\r\n * Permite listar tipos de edificación.\r\n *\r\n * Devuelve la lista de los tipos edificación por tipo de predio\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarTipoEdificacion()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarTipoEdificacion$Response(params: {\r\n tipo_predio_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<ComunesProjection>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarTipoEdificacionPath, 'get');\r\n if (params) {\r\n rb.path('tipo_predio_id', params.tipo_predio_id, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<ComunesProjection>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar tipos de edificación.\r\n *\r\n * Devuelve la lista de los tipos edificación por tipo de predio\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarTipoEdificacion$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarTipoEdificacion(params: {\r\n tipo_predio_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<Array<ComunesProjection>> {\r\n\r\n return this.listarTipoEdificacion$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<ComunesProjection>>) => r.body as Array<ComunesProjection>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarDocumentoTipo\r\n */\r\n static readonly ListarDocumentoTipoPath = '/comunesregistro/tipo-documento';\r\n\r\n /**\r\n * Permite listar tipos de documentos en registro por municipalidad.\r\n *\r\n * Permite listar tipos de documentos en registro por municipalidad\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarDocumentoTipo()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarDocumentoTipo$Response(params?: {\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<DocumentoTipoProjection>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarDocumentoTipoPath, 'get');\r\n if (params) {\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<DocumentoTipoProjection>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar tipos de documentos en registro por municipalidad.\r\n *\r\n * Permite listar tipos de documentos en registro por municipalidad\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarDocumentoTipo$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarDocumentoTipo(params?: {\r\n context?: HttpContext\r\n }\r\n): Observable<Array<DocumentoTipoProjection>> {\r\n\r\n return this.listarDocumentoTipo$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<DocumentoTipoProjection>>) => r.body as Array<DocumentoTipoProjection>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarTipoDocumentoSustentoRecaudacion\r\n */\r\n static readonly ListarTipoDocumentoSustentoRecaudacionPath = '/comunesregistro/tipo-documento-sustento-recaudacion/{con_recaudacion_id}/{tipo_transferencia_id}';\r\n\r\n /**\r\n * Permite listar tipos de documento de sustento por concepto de recaudación.\r\n *\r\n * Devuelve la lista de documentos de sustento por concepto de recaudación y tipo de transferencia\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarTipoDocumentoSustentoRecaudacion()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarTipoDocumentoSustentoRecaudacion$Response(params: {\r\n con_recaudacion_id: number;\r\n tipo_transferencia_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<ComunesProjection>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarTipoDocumentoSustentoRecaudacionPath, 'get');\r\n if (params) {\r\n rb.path('con_recaudacion_id', params.con_recaudacion_id, {});\r\n rb.path('tipo_transferencia_id', params.tipo_transferencia_id, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<ComunesProjection>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar tipos de documento de sustento por concepto de recaudación.\r\n *\r\n * Devuelve la lista de documentos de sustento por concepto de recaudación y tipo de transferencia\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarTipoDocumentoSustentoRecaudacion$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarTipoDocumentoSustentoRecaudacion(params: {\r\n con_recaudacion_id: number;\r\n tipo_transferencia_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<Array<ComunesProjection>> {\r\n\r\n return this.listarTipoDocumentoSustentoRecaudacion$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<ComunesProjection>>) => r.body as Array<ComunesProjection>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarTipoDocumentoSustentoMotivoPrimeraVenta\r\n */\r\n static readonly ListarTipoDocumentoSustentoMotivoPrimeraVentaPath = '/comunesregistro/tipo-documento-sustento-motivo-primera-venta/{con_recaudacion_id}/{tipo_transferencia_id}/{motivo-primera_venta_id}';\r\n\r\n /**\r\n * Permite listar tipos de documento de primera venta.\r\n *\r\n * Devuelve la lista de documentos de sustento por primera venta\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarTipoDocumentoSustentoMotivoPrimeraVenta()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarTipoDocumentoSustentoMotivoPrimeraVenta$Response(params: {\r\n con_recaudacion_id: number;\r\n tipo_transferencia_id: number;\r\n 'motivo-primera_venta_id': number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<ComunesProjection>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarTipoDocumentoSustentoMotivoPrimeraVentaPath, 'get');\r\n if (params) {\r\n rb.path('con_recaudacion_id', params.con_recaudacion_id, {});\r\n rb.path('tipo_transferencia_id', params.tipo_transferencia_id, {});\r\n rb.path('motivo-primera_venta_id', params['motivo-primera_venta_id'], {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<ComunesProjection>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar tipos de documento de primera venta.\r\n *\r\n * Devuelve la lista de documentos de sustento por primera venta\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarTipoDocumentoSustentoMotivoPrimeraVenta$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarTipoDocumentoSustentoMotivoPrimeraVenta(params: {\r\n con_recaudacion_id: number;\r\n tipo_transferencia_id: number;\r\n 'motivo-primera_venta_id': number;\r\n context?: HttpContext\r\n }\r\n): Observable<Array<ComunesProjection>> {\r\n\r\n return this.listarTipoDocumentoSustentoMotivoPrimeraVenta$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<ComunesProjection>>) => r.body as Array<ComunesProjection>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarTipoDocumentoSustentoCondicionInafectacion\r\n */\r\n static readonly ListarTipoDocumentoSustentoCondicionInafectacionPath = '/comunesregistro/tipo-documento-sustento-condicion-inafectacion/{tipo_con_inafeccion_id}/{tipo_con_concursal_id}/{principal}';\r\n\r\n /**\r\n * Permite listar tipos de documento de sustento por condición de inafectación.\r\n *\r\n * Devuelve la lista de documentos de sustento por condición de inafectación del Contribuyente\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarTipoDocumentoSustentoCondicionInafectacion()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarTipoDocumentoSustentoCondicionInafectacion$Response(params: {\r\n tipo_con_inafeccion_id: number;\r\n tipo_con_concursal_id: number;\r\n principal: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<ComunesProjection>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarTipoDocumentoSustentoCondicionInafectacionPath, 'get');\r\n if (params) {\r\n rb.path('tipo_con_inafeccion_id', params.tipo_con_inafeccion_id, {});\r\n rb.path('tipo_con_concursal_id', params.tipo_con_concursal_id, {});\r\n rb.path('principal', params.principal, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<ComunesProjection>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar tipos de documento de sustento por condición de inafectación.\r\n *\r\n * Devuelve la lista de documentos de sustento por condición de inafectación del Contribuyente\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarTipoDocumentoSustentoCondicionInafectacion$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarTipoDocumentoSustentoCondicionInafectacion(params: {\r\n tipo_con_inafeccion_id: number;\r\n tipo_con_concursal_id: number;\r\n principal: number;\r\n context?: HttpContext\r\n }\r\n): Observable<Array<ComunesProjection>> {\r\n\r\n return this.listarTipoDocumentoSustentoCondicionInafectacion$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<ComunesProjection>>) => r.body as Array<ComunesProjection>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarTipoDocumentoPorCondicion\r\n */\r\n static readonly ListarTipoDocumentoPorCondicionPath = '/comunesregistro/tipo-documento-por-condicion/{tipo_con_inafectacion_id}/{tip_con_concursal_id}';\r\n\r\n /**\r\n * Permite listar las condiciones según el tipo de predio.\r\n *\r\n * Devuelve una lista de las condiciones según el tipo de predio\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarTipoDocumentoPorCondicion()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarTipoDocumentoPorCondicion$Response(params: {\r\n tipo_con_inafectacion_id: number;\r\n tip_con_concursal_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<ComunesProjection>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarTipoDocumentoPorCondicionPath, 'get');\r\n if (params) {\r\n rb.path('tipo_con_inafectacion_id', params.tipo_con_inafectacion_id, {});\r\n rb.path('tip_con_concursal_id', params.tip_con_concursal_id, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<ComunesProjection>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar las condiciones según el tipo de predio.\r\n *\r\n * Devuelve una lista de las condiciones según el tipo de predio\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarTipoDocumentoPorCondicion$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarTipoDocumentoPorCondicion(params: {\r\n tipo_con_inafectacion_id: number;\r\n tip_con_concursal_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<Array<ComunesProjection>> {\r\n\r\n return this.listarTipoDocumentoPorCondicion$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<ComunesProjection>>) => r.body as Array<ComunesProjection>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarDocumentoTipoPorCondicionPredio\r\n */\r\n static readonly ListarDocumentoTipoPorCondicionPredioPath = '/comunesregistro/tipo-documento-por-condicion-predio/{tip_con_predio_id}';\r\n\r\n /**\r\n * Permite listar los documentos de sustento por condición de Predio.\r\n *\r\n * Permite listar los documentos de sustento por condición de Predio\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarDocumentoTipoPorCondicionPredio()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarDocumentoTipoPorCondicionPredio$Response(params: {\r\n tip_con_predio_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<DocumentoTipoProjection>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarDocumentoTipoPorCondicionPredioPath, 'get');\r\n if (params) {\r\n rb.path('tip_con_predio_id', params.tip_con_predio_id, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<DocumentoTipoProjection>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar los documentos de sustento por condición de Predio.\r\n *\r\n * Permite listar los documentos de sustento por condición de Predio\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarDocumentoTipoPorCondicionPredio$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarDocumentoTipoPorCondicionPredio(params: {\r\n tip_con_predio_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<Array<DocumentoTipoProjection>> {\r\n\r\n return this.listarDocumentoTipoPorCondicionPredio$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<DocumentoTipoProjection>>) => r.body as Array<DocumentoTipoProjection>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarDocSusConVehiculoTipo\r\n */\r\n static readonly ListarDocSusConVehiculoTipoPath = '/comunesregistro/tipo-doc-sus-vehiculo/{con_recaudacion_id}';\r\n\r\n /**\r\n * Permite listar los tipos de juegos por concepto de recaudación.\r\n *\r\n * Devuelve la lista de tipos de juegos por concepto de recaudación\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarDocSusConVehiculoTipo()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarDocSusConVehiculoTipo$Response(params?: {\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<ComunesProjection>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarDocSusConVehiculoTipoPath, 'get');\r\n if (params) {\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<ComunesProjection>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar los tipos de juegos por concepto de recaudación.\r\n *\r\n * Devuelve la lista de tipos de juegos por concepto de recaudación\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarDocSusConVehiculoTipo$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarDocSusConVehiculoTipo(params?: {\r\n context?: HttpContext\r\n }\r\n): Observable<Array<ComunesProjection>> {\r\n\r\n return this.listarDocSusConVehiculoTipo$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<ComunesProjection>>) => r.body as Array<ComunesProjection>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarTipoDocIdentidad\r\n */\r\n static readonly ListarTipoDocIdentidadPath = '/comunesregistro/tipo-doc-identidad';\r\n\r\n /**\r\n * Permite listar los documentos de identidad.\r\n *\r\n * Devuelve una lista de los documentos de identidad\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarTipoDocIdentidad()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarTipoDocIdentidad$Response(params?: {\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<DocumentoIdentidadTipoProjection>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarTipoDocIdentidadPath, 'get');\r\n if (params) {\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<DocumentoIdentidadTipoProjection>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar los documentos de identidad.\r\n *\r\n * Devuelve una lista de los documentos de identidad\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarTipoDocIdentidad$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarTipoDocIdentidad(params?: {\r\n context?: HttpContext\r\n }\r\n): Observable<Array<DocumentoIdentidadTipoProjection>> {\r\n\r\n return this.listarTipoDocIdentidad$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<DocumentoIdentidadTipoProjection>>) => r.body as Array<DocumentoIdentidadTipoProjection>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarTipoDocIdentidadPorTipoRelacionado\r\n */\r\n static readonly ListarTipoDocIdentidadPorTipoRelacionadoPath = '/comunesregistro/tipo-doc-identidad-por-tipo-relacionado/{tipo_relacionado_id}';\r\n\r\n /**\r\n * Permite listar los documentos de identidad según el tipo de relacionado.\r\n *\r\n * Devuelve una lista de los documentos de identidad según el tipo de relacionado\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarTipoDocIdentidadPorTipoRelacionado()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarTipoDocIdentidadPorTipoRelacionado$Response(params: {\r\n tipo_relacionado_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<ComunesProjection>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarTipoDocIdentidadPorTipoRelacionadoPath, 'get');\r\n if (params) {\r\n rb.path('tipo_relacionado_id', params.tipo_relacionado_id, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<ComunesProjection>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar los documentos de identidad según el tipo de relacionado.\r\n *\r\n * Devuelve una lista de los documentos de identidad según el tipo de relacionado\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarTipoDocIdentidadPorTipoRelacionado$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarTipoDocIdentidadPorTipoRelacionado(params: {\r\n tipo_relacionado_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<Array<ComunesProjection>> {\r\n\r\n return this.listarTipoDocIdentidadPorTipoRelacionado$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<ComunesProjection>>) => r.body as Array<ComunesProjection>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarTipoDocIdentidadPorTipoPersona\r\n */\r\n static readonly ListarTipoDocIdentidadPorTipoPersonaPath = '/comunesregistro/tipo-doc-identidad-por-tipo-persona/{tipo_persona_id}';\r\n\r\n /**\r\n * Permite listar los documentos de identidad según el tipo de persona.\r\n *\r\n * Devuelve una lista de los documentos de identidad según el tipo de persona\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarTipoDocIdentidadPorTipoPersona()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarTipoDocIdentidadPorTipoPersona$Response(params: {\r\n tipo_persona_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<DocumentoIdentidadTipoProjection>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarTipoDocIdentidadPorTipoPersonaPath, 'get');\r\n if (params) {\r\n rb.path('tipo_persona_id', params.tipo_persona_id, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<DocumentoIdentidadTipoProjection>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar los documentos de identidad según el tipo de persona.\r\n *\r\n * Devuelve una lista de los documentos de identidad según el tipo de persona\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarTipoDocIdentidadPorTipoPersona$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarTipoDocIdentidadPorTipoPersona(params: {\r\n tipo_persona_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<Array<DocumentoIdentidadTipoProjection>> {\r\n\r\n return this.listarTipoDocIdentidadPorTipoPersona$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<DocumentoIdentidadTipoProjection>>) => r.body as Array<DocumentoIdentidadTipoProjection>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarTipoBusquedaContribuyente\r\n */\r\n static readonly ListarTipoBusquedaContribuyentePath = '/comunesregistro/tipo-consulta-contribuyente';\r\n\r\n /**\r\n * Permite listar los tipos de consulta para contribuyente.\r\n *\r\n * Permite listar los tipos de consulta para contribuyente\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarTipoBusquedaContribuyente()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarTipoBusquedaContribuyente$Response(params?: {\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<DocumentoIdentidadTipoProjection>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarTipoBusquedaContribuyentePath, 'get');\r\n if (params) {\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<DocumentoIdentidadTipoProjection>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar los tipos de consulta para contribuyente.\r\n *\r\n * Permite listar los tipos de consulta para contribuyente\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarTipoBusquedaContribuyente$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarTipoBusquedaContribuyente(params?: {\r\n context?: HttpContext\r\n }\r\n): Observable<Array<DocumentoIdentidadTipoProjection>> {\r\n\r\n return this.listarTipoBusquedaContribuyente$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<DocumentoIdentidadTipoProjection>>) => r.body as Array<DocumentoIdentidadTipoProjection>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarTipoCondicionPorTipoPredio\r\n */\r\n static readonly ListarTipoCondicionPorTipoPredioPath = '/comunesregistro/tipo-condicion-por-tipo-predio/{tipo_predio_id}';\r\n\r\n /**\r\n * Permite listar las condiciones según el tipo de predio.\r\n *\r\n * Devuelve una lista de las condiciones según el tipo de predio\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarTipoCondicionPorTipoPredio()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarTipoCondicionPorTipoPredio$Response(params: {\r\n tipo_predio_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<ComunesProjection>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarTipoCondicionPorTipoPredioPath, 'get');\r\n if (params) {\r\n rb.path('tipo_predio_id', params.tipo_predio_id, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<ComunesProjection>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar las condiciones según el tipo de predio.\r\n *\r\n * Devuelve una lista de las condiciones según el tipo de predio\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarTipoCondicionPorTipoPredio$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarTipoCondicionPorTipoPredio(params: {\r\n tipo_predio_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<Array<ComunesProjection>> {\r\n\r\n return this.listarTipoCondicionPorTipoPredio$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<ComunesProjection>>) => r.body as Array<ComunesProjection>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarTipoCondicionInafectacion\r\n */\r\n static readonly ListarTipoCondicionInafectacionPath = '/comunesregistro/tipo-condicion-inafectacion/{tipo_persona_id}';\r\n\r\n /**\r\n * Permite listar tipos de condición de inafectación.\r\n *\r\n * Devuelve la lista de condición de inafectación por tipo de persona\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarTipoCondicionInafectacion()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarTipoCondicionInafectacion$Response(params: {\r\n tipo_persona_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<ComunesProjection>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarTipoCondicionInafectacionPath, 'get');\r\n if (params) {\r\n rb.path('tipo_persona_id', params.tipo_persona_id, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<ComunesProjection>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar tipos de condición de inafectación.\r\n *\r\n * Devuelve la lista de condición de inafectación por tipo de persona\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarTipoCondicionInafectacion$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarTipoCondicionInafectacion(params: {\r\n tipo_persona_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<Array<ComunesProjection>> {\r\n\r\n return this.listarTipoCondicionInafectacion$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<ComunesProjection>>) => r.body as Array<ComunesProjection>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarTipoCondicionConcursal\r\n */\r\n static readonly ListarTipoCondicionConcursalPath = '/comunesregistro/tipo-condicion-concursal/{tipo_persona_id}';\r\n\r\n /**\r\n * Permite listar tipos de condición concursal por tipo de persona.\r\n *\r\n * Devuelve la lista de condición concursal por tipo de persona\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarTipoCondicionConcursal()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarTipoCondicionConcursal$Response(params: {\r\n tipo_persona_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<ComunesProjection>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarTipoCondicionConcursalPath, 'get');\r\n if (params) {\r\n rb.path('tipo_persona_id', params.tipo_persona_id, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<ComunesProjection>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar tipos de condición concursal por tipo de persona.\r\n *\r\n * Devuelve la lista de condición concursal por tipo de persona\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarTipoCondicionConcursal$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarTipoCondicionConcursal(params: {\r\n tipo_persona_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<Array<ComunesProjection>> {\r\n\r\n return this.listarTipoCondicionConcursal$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<ComunesProjection>>) => r.body as Array<ComunesProjection>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarAreaVerdeTipo\r\n */\r\n static readonly ListarAreaVerdeTipoPath = '/comunesregistro/tipo-area-verde';\r\n\r\n /**\r\n * Permite listar tipo area verde.\r\n *\r\n * Permite listar tipo area verde\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarAreaVerdeTipo()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarAreaVerdeTipo$Response(params?: {\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<UsoArbitrioTipoProjection>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarAreaVerdeTipoPath, 'get');\r\n if (params) {\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<UsoArbitrioTipoProjection>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar tipo area verde.\r\n *\r\n * Permite listar tipo area verde\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarAreaVerdeTipo$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarAreaVerdeTipo(params?: {\r\n context?: HttpContext\r\n }\r\n): Observable<Array<UsoArbitrioTipoProjection>> {\r\n\r\n return this.listarAreaVerdeTipo$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<UsoArbitrioTipoProjection>>) => r.body as Array<UsoArbitrioTipoProjection>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarTipoAdquisicion\r\n */\r\n static readonly ListarTipoAdquisicionPath = '/comunesregistro/tipo-adquisicion/{con_recaudacion_id}';\r\n\r\n /**\r\n * Permite listar tipos de adquisición.\r\n *\r\n * Permite listar tipos de adquisición\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarTipoAdquisicion()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarTipoAdquisicion$Response(params: {\r\n con_recaudacion_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<TransferenciaTipoResponse>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarTipoAdquisicionPath, 'get');\r\n if (params) {\r\n rb.path('con_recaudacion_id', params.con_recaudacion_id, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<TransferenciaTipoResponse>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar tipos de adquisición.\r\n *\r\n * Permite listar tipos de adquisición\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarTipoAdquisicion$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarTipoAdquisicion(params: {\r\n con_recaudacion_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<Array<TransferenciaTipoResponse>> {\r\n\r\n return this.listarTipoAdquisicion$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<TransferenciaTipoResponse>>) => r.body as Array<TransferenciaTipoResponse>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation obtenerDesDomicilioUrbano\r\n */\r\n static readonly ObtenerDesDomicilioUrbanoPath = '/comunesregistro/obtener-domicilio-urbano-lineal/{departamento}/{provincia}/{distrito}';\r\n\r\n /**\r\n * Permite obtener la descripcion de un domicilio urbano.\r\n *\r\n * Permite obtener la descripcion de un domicilio urbano\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `obtenerDesDomicilioUrbano()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n obtenerDesDomicilioUrbano$Response(params: {\r\n departamento: number;\r\n provincia: number;\r\n distrito: number;\r\n request: DesDomicilioUrbanoRequest;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<DesDomicilioResponse>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ObtenerDesDomicilioUrbanoPath, 'get');\r\n if (params) {\r\n rb.path('departamento', params.departamento, {});\r\n rb.path('provincia', params.provincia, {});\r\n rb.path('distrito', params.distrito, {});\r\n rb.query('request', params.request, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<DesDomicilioResponse>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite obtener la descripcion de un domicilio urbano.\r\n *\r\n * Permite obtener la descripcion de un domicilio urbano\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `obtenerDesDomicilioUrbano$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n obtenerDesDomicilioUrbano(params: {\r\n departamento: number;\r\n provincia: number;\r\n distrito: number;\r\n request: DesDomicilioUrbanoRequest;\r\n context?: HttpContext\r\n }\r\n): Observable<DesDomicilioResponse> {\r\n\r\n return this.obtenerDesDomicilioUrbano$Response(params).pipe(\r\n map((r: StrictHttpResponse<DesDomicilioResponse>) => r.body as DesDomicilioResponse)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation obtenerDesDomicilioRustico\r\n */\r\n static readonly ObtenerDesDomicilioRusticoPath = '/comunesregistro/obtener-domicilio-rustico-lineal/{departamento}/{provincia}/{distrito}';\r\n\r\n /**\r\n * Permite obtener la descripcion de un domicilio rustico.\r\n *\r\n * Permite obtener la descripcion de un domicilio rustico\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `obtenerDesDomicilioRustico()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n obtenerDesDomicilioRustico$Response(params: {\r\n departamento: number;\r\n provincia: number;\r\n distrito: number;\r\n request: DesDomicilioRusticoRequest;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<DesDomicilioResponse>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ObtenerDesDomicilioRusticoPath, 'get');\r\n if (params) {\r\n rb.path('departamento', params.departamento, {});\r\n rb.path('provincia', params.provincia, {});\r\n rb.path('distrito', params.distrito, {});\r\n rb.query('request', params.request, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<DesDomicilioResponse>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite obtener la descripcion de un domicilio rustico.\r\n *\r\n * Permite obtener la descripcion de un domicilio rustico\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `obtenerDesDomicilioRustico$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n obtenerDesDomicilioRustico(params: {\r\n departamento: number;\r\n provincia: number;\r\n distrito: number;\r\n request: DesDomicilioRusticoRequest;\r\n context?: HttpContext\r\n }\r\n): Observable<DesDomicilioResponse> {\r\n\r\n return this.obtenerDesDomicilioRustico$Response(params).pipe(\r\n map((r: StrictHttpResponse<DesDomicilioResponse>) => r.body as DesDomicilioResponse)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarNotarias\r\n */\r\n static readonly ListarNotariasPath = '/comunesregistro/notarias';\r\n\r\n /**\r\n * Permite listar Notarias por municipalidad.\r\n *\r\n * Permite listar Notarias por municipalidad\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarNotarias()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarNotarias$Response(params?: {\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<NotariaProjection>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarNotariasPath, 'get');\r\n if (params) {\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<NotariaProjection>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar Notarias por municipalidad.\r\n *\r\n * Permite listar Notarias por municipalidad\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarNotarias$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarNotarias(params?: {\r\n context?: HttpContext\r\n }\r\n): Observable<Array<NotariaProjection>> {\r\n\r\n return this.listarNotarias$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<NotariaProjection>>) => r.body as Array<NotariaProjection>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarModeloMarca\r\n */\r\n static readonly ListarModeloMarcaPath = '/comunesregistro/modelo-vehiculo/{cod_marca}';\r\n\r\n /**\r\n * Permite listar modelos por marca de vehiculos.\r\n *\r\n * Permite listar modelos por marca de vehiculos\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarModeloMarca()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarModeloMarca$Response(params: {\r\n cod_marca: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<ComunesProjection>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarModeloMarcaPath, 'get');\r\n if (params) {\r\n rb.path('cod_marca', params.cod_marca, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<ComunesProjection>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar modelos por marca de vehiculos.\r\n *\r\n * Permite listar modelos por marca de vehiculos\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarModeloMarca$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarModeloMarca(params: {\r\n cod_marca: number;\r\n context?: HttpContext\r\n }\r\n): Observable<Array<ComunesProjection>> {\r\n\r\n return this.listarModeloMarca$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<ComunesProjection>>) => r.body as Array<ComunesProjection>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarModeloOficialVehiculo\r\n */\r\n static readonly ListarModeloOficialVehiculoPath = '/comunesregistro/modelo-oficial-vehiculo/{marca_vehiculo}/{anio_fabricacion}';\r\n\r\n /**\r\n * Permite listar tipos de modelo oficial de vehiculos.\r\n *\r\n * Permite listar tipos de modelo oficial de vehiculos por Marca y Año\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarModeloOficialVehiculo()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarModeloOficialVehiculo$Response(params: {\r\n marca_vehiculo: number;\r\n anio_fabricacion: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<ModeloVehiculoProjection>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarModeloOficialVehiculoPath, 'get');\r\n if (params) {\r\n rb.path('marca_vehiculo', params.marca_vehiculo, {});\r\n rb.path('anio_fabricacion', params.anio_fabricacion, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<ModeloVehiculoProjection>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar tipos de modelo oficial de vehiculos.\r\n *\r\n * Permite listar tipos de modelo oficial de vehiculos por Marca y Año\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarModeloOficialVehiculo$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarModeloOficialVehiculo(params: {\r\n marca_vehiculo: number;\r\n anio_fabricacion: number;\r\n context?: HttpContext\r\n }\r\n): Observable<Array<ModeloVehiculoProjection>> {\r\n\r\n return this.listarModeloOficialVehiculo$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<ModeloVehiculoProjection>>) => r.body as Array<ModeloVehiculoProjection>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarModeloEquivalenteVehiculo\r\n */\r\n static readonly ListarModeloEquivalenteVehiculoPath = '/comunesregistro/modelo-equivalente-vehiculo/{marca_vehiculo}/{otra_marca}';\r\n\r\n /**\r\n * Permite listar tipos de modelo equivalente de vehiculos.\r\n *\r\n * Permite listar tipos de modelo equivalente de vehiculos por Marca y Año. Datos de MTC\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarModeloEquivalenteVehiculo()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarModeloEquivalenteVehiculo$Response(params: {\r\n marca_vehiculo: number;\r\n otra_marca: boolean;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<ModeloVehiculoProjection>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarModeloEquivalenteVehiculoPath, 'get');\r\n if (params) {\r\n rb.path('marca_vehiculo', params.marca_vehiculo, {});\r\n rb.path('otra_marca', params.otra_marca, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<ModeloVehiculoProjection>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar tipos de modelo equivalente de vehiculos.\r\n *\r\n * Permite listar tipos de modelo equivalente de vehiculos por Marca y Año. Datos de MTC\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarModeloEquivalenteVehiculo$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarModeloEquivalenteVehiculo(params: {\r\n marca_vehiculo: number;\r\n otra_marca: boolean;\r\n context?: HttpContext\r\n }\r\n): Observable<Array<ModeloVehiculoProjection>> {\r\n\r\n return this.listarModeloEquivalenteVehiculo$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<ModeloVehiculoProjection>>) => r.body as Array<ModeloVehiculoProjection>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarMedioDeterminacionPorMedioPresentacion\r\n */\r\n static readonly ListarMedioDeterminacionPorMedioPresentacionPath = '/comunesregistro/medio-determinacion/{tipo_medio_determina_id}';\r\n\r\n /**\r\n * Permite listar los medios de Determinación.\r\n *\r\n * Devuelve una lista de los medios de determinación según el medio de presentación\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarMedioDeterminacionPorMedioPresentacion()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarMedioDeterminacionPorMedioPresentacion$Response(params: {\r\n tipo_medio_determina_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<ComunesProjection>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarMedioDeterminacionPorMedioPresentacionPath, 'get');\r\n if (params) {\r\n rb.path('tipo_medio_determina_id', params.tipo_medio_determina_id, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<ComunesProjection>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar los medios de Determinación.\r\n *\r\n * Devuelve una lista de los medios de determinación según el medio de presentación\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarMedioDeterminacionPorMedioPresentacion$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarMedioDeterminacionPorMedioPresentacion(params: {\r\n tipo_medio_determina_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<Array<ComunesProjection>> {\r\n\r\n return this.listarMedioDeterminacionPorMedioPresentacion$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<ComunesProjection>>) => r.body as Array<ComunesProjection>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarMarcaOficialVehiculo\r\n */\r\n static readonly ListarMarcaOficialVehiculoPath = '/comunesregistro/marca-oficial-vehiculo';\r\n\r\n /**\r\n * Permite listar tipos de marca oficial de vehiculos.\r\n *\r\n * Permite listar tipos de marca oficial de vehiculos por Marca y Año\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarMarcaOficialVehiculo()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarMarcaOficialVehiculo$Response(params?: {\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<MarcaVehiculoProjection>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarMarcaOficialVehiculoPath, 'get');\r\n if (params) {\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<MarcaVehiculoProjection>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar tipos de marca oficial de vehiculos.\r\n *\r\n * Permite listar tipos de marca oficial de vehiculos por Marca y Año\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarMarcaOficialVehiculo$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarMarcaOficialVehiculo(params?: {\r\n context?: HttpContext\r\n }\r\n): Observable<Array<MarcaVehiculoProjection>> {\r\n\r\n return this.listarMarcaOficialVehiculo$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<MarcaVehiculoProjection>>) => r.body as Array<MarcaVehiculoProjection>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarMarcaEquivalenteVehiculo\r\n */\r\n static readonly ListarMarcaEquivalenteVehiculoPath = '/comunesregistro/marca-equivalente-vehiculo';\r\n\r\n /**\r\n * Permite listar tipos de marca equivalente de vehiculos.\r\n *\r\n * Permite listar tipos de marca equivalente de vehiculos por Marca y Año, Datos de MTC\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarMarcaEquivalenteVehiculo()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarMarcaEquivalenteVehiculo$Response(params?: {\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<MarcaVehiculoProjection>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarMarcaEquivalenteVehiculoPath, 'get');\r\n if (params) {\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<MarcaVehiculoProjection>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar tipos de marca equivalente de vehiculos.\r\n *\r\n * Permite listar tipos de marca equivalente de vehiculos por Marca y Año, Datos de MTC\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarMarcaEquivalenteVehiculo$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarMarcaEquivalenteVehiculo(params?: {\r\n context?: HttpContext\r\n }\r\n): Observable<Array<MarcaVehiculoProjection>> {\r\n\r\n return this.listarMarcaEquivalenteVehiculo$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<MarcaVehiculoProjection>>) => r.body as Array<MarcaVehiculoProjection>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarDocSustentoPorCondicionVehiculo\r\n */\r\n static readonly ListarDocSustentoPorCondicionVehiculoPath = '/comunesregistro/listar-sustento-condicion-vehiculo/{tip_con_vehiculo_id}';\r\n\r\n /**\r\n * Permite listar los documentos de sustento por condición de Vehículo.\r\n *\r\n * Permite listar los documentos de sustento por condición de Vehículo\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarDocSustentoPorCondicionVehiculo()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarDocSustentoPorCondicionVehiculo$Response(params: {\r\n tip_con_vehiculo_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<ComunesProjection>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarDocSustentoPorCondicionVehiculoPath, 'get');\r\n if (params) {\r\n rb.path('tip_con_vehiculo_id', params.tip_con_vehiculo_id, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<ComunesProjection>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar los documentos de sustento por condición de Vehículo.\r\n *\r\n * Permite listar los documentos de sustento por condición de Vehículo\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarDocSustentoPorCondicionVehiculo$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarDocSustentoPorCondicionVehiculo(params: {\r\n tip_con_vehiculo_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<Array<ComunesProjection>> {\r\n\r\n return this.listarDocSustentoPorCondicionVehiculo$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<ComunesProjection>>) => r.body as Array<ComunesProjection>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarCategoria\r\n */\r\n static readonly ListarCategoriaPath = '/comunesregistro/lista-categoria-vehiculo/{cod_categoria}';\r\n\r\n /**\r\n * Permite listar categoria vehiculos.\r\n *\r\n * Permite listar categoria vehiculos\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarCategoria()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarCategoria$Response(params: {\r\n cod_categoria: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<ComunesProjection>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarCategoriaPath, 'get');\r\n if (params) {\r\n rb.path('cod_categoria', params.cod_categoria, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<ComunesProjection>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar categoria vehiculos.\r\n *\r\n * Permite listar categoria vehiculos\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarCategoria$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarCategoria(params: {\r\n cod_categoria: number;\r\n context?: HttpContext\r\n }\r\n): Observable<Array<ComunesProjection>> {\r\n\r\n return this.listarCategoria$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<ComunesProjection>>) => r.body as Array<ComunesProjection>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarDocSustentoTipo\r\n */\r\n static readonly ListarDocSustentoTipoPath = '/comunesregistro/doc-sustento_tipo/{arr_tip_doc_sustento_id}';\r\n\r\n /**\r\n * Permite listar los documentos de sustento por listado de ids.\r\n *\r\n * Permite listar los documentos de sustento por condición de Predio\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarDocSustentoTipo()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarDocSustentoTipo$Response(params: {\r\n arr_tip_doc_sustento_id: string;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<DocumentoTipoProjection>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarDocSustentoTipoPath, 'get');\r\n if (params) {\r\n rb.path('arr_tip_doc_sustento_id', params.arr_tip_doc_sustento_id, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<DocumentoTipoProjection>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar los documentos de sustento por listado de ids.\r\n *\r\n * Permite listar los documentos de sustento por condición de Predio\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarDocSustentoTipo$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarDocSustentoTipo(params: {\r\n arr_tip_doc_sustento_id: string;\r\n context?: HttpContext\r\n }\r\n): Observable<Array<DocumentoTipoProjection>> {\r\n\r\n return this.listarDocSustentoTipo$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<DocumentoTipoProjection>>) => r.body as Array<DocumentoTipoProjection>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarCondicionPropiedad\r\n */\r\n static readonly ListarCondicionPropiedadPath = '/comunesregistro/condicion-propiedad/{con_recaudacion_id}';\r\n\r\n /**\r\n * Permite listar condición de propiedad.\r\n *\r\n * Permite listar condición de propiedad\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarCondicionPropiedad()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarCondicionPropiedad$Response(params: {\r\n con_recaudacion_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<PropiedadTipoResponse>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarCondicionPropiedadPath, 'get');\r\n if (params) {\r\n rb.path('con_recaudacion_id', params.con_recaudacion_id, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<PropiedadTipoResponse>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar condición de propiedad.\r\n *\r\n * Permite listar condición de propiedad\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarCondicionPropiedad$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarCondicionPropiedad(params: {\r\n con_recaudacion_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<Array<PropiedadTipoResponse>> {\r\n\r\n return this.listarCondicionPropiedad$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<PropiedadTipoResponse>>) => r.body as Array<PropiedadTipoResponse>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarConContribuyente\r\n */\r\n static readonly ListarConContribuyentePath = '/comunesregistro/condicion-contribuyente/{contribuyente_numero}';\r\n\r\n /**\r\n * Permite listar las condiciones activas del contribuyente.\r\n *\r\n * Permite listar las condiciones activas del contribuyente\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarConContribuyente()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarConContribuyente$Response(params: {\r\n contribuyente_numero: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<ConContribuyenteEntity>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarConContribuyentePath, 'get');\r\n if (params) {\r\n rb.path('contribuyente_numero', params.contribuyente_numero, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<ConContribuyenteEntity>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar las condiciones activas del contribuyente.\r\n *\r\n * Permite listar las condiciones activas del contribuyente\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarConContribuyente$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarConContribuyente(params: {\r\n contribuyente_numero: number;\r\n context?: HttpContext\r\n }\r\n): Observable<Array<ConContribuyenteEntity>> {\r\n\r\n return this.listarConContribuyente$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<ConContribuyenteEntity>>) => r.body as Array<ConContribuyenteEntity>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarClasePorCarroceria\r\n */\r\n static readonly ListarClasePorCarroceriaPath = '/comunesregistro/clase-vehiculo/{carroceria_id}';\r\n\r\n /**\r\n * Permite listar tipos de Clase por el codigo de carroceria de vehiculos.\r\n *\r\n * Permite listar tipos de Clase por el codigo de carroceria de vehiculos\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarClasePorCarroceria()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarClasePorCarroceria$Response(params: {\r\n carroceria_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<ClaseVehiculoProjection>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarClasePorCarroceriaPath, 'get');\r\n if (params) {\r\n rb.path('carroceria_id', params.carroceria_id, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<ClaseVehiculoProjection>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar tipos de Clase por el codigo de carroceria de vehiculos.\r\n *\r\n * Permite listar tipos de Clase por el codigo de carroceria de vehiculos\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarClasePorCarroceria$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarClasePorCarroceria(params: {\r\n carroceria_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<Array<ClaseVehiculoProjection>> {\r\n\r\n return this.listarClasePorCarroceria$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<ClaseVehiculoProjection>>) => r.body as Array<ClaseVehiculoProjection>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarCategoriaPorClase\r\n */\r\n static readonly ListarCategoriaPorClasePath = '/comunesregistro/categoria-vehiculo/{clase_id}';\r\n\r\n /**\r\n * Permite listar tipos de Categoria MEF por el codigo de clase de vehiculos.\r\n *\r\n * Permite listar tipos de Categoria por el codigo de clase de vehiculos\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarCategoriaPorClase()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarCategoriaPorClase$Response(params: {\r\n clase_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<CategoriaProjection>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarCategoriaPorClasePath, 'get');\r\n if (params) {\r\n rb.path('clase_id', params.clase_id, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<CategoriaProjection>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar tipos de Categoria MEF por el codigo de clase de vehiculos.\r\n *\r\n * Permite listar tipos de Categoria por el codigo de clase de vehiculos\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarCategoriaPorClase$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarCategoriaPorClase(params: {\r\n clase_id: number;\r\n context?: HttpContext\r\n }\r\n): Observable<Array<CategoriaProjection>> {\r\n\r\n return this.listarCategoriaPorClase$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<CategoriaProjection>>) => r.body as Array<CategoriaProjection>)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarAreaVerde\r\n */\r\n static readonly ListarAreaVerdePath = '/comunesregistro/area-verde/{tipo_area_verde}';\r\n\r\n /**\r\n * Permite listar area verde.\r\n *\r\n * Permite listar area verde\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarAreaVerde()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarAreaVerde$Response(params: {\r\n tipo_area_verde: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Array<UsoArbitrioTipoProjection>>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ComunesRegistroControllerService.ListarAreaVerdePath, 'get');\r\n if (params) {\r\n rb.path('tipo_area_verde', params.tipo_area_verde, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Array<UsoArbitrioTipoProjection>>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar area verde.\r\n *\r\n * Permite listar area verde\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarAreaVerde$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarAreaVerde(params: {\r\n tipo_area_verde: number;\r\n context?: HttpContext\r\n }\r\n): Observable<Array<UsoArbitrioTipoProjection>> {\r\n\r\n return this.listarAreaVerde$Response(params).pipe(\r\n map((r: StrictHttpResponse<Array<UsoArbitrioTipoProjection>>) => r.body as Array<UsoArbitrioTipoProjection>)\r\n );\r\n }\r\n\r\n}\r\n","/* tslint:disable */\r\n/* eslint-disable */\r\nimport { Injectable } from '@angular/core';\r\n\r\n/**\r\n * Global configuration\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ApiConfiguration {\r\n rootUrl: string = 'https://apps2desa.mineco.gob.pe/v1/nsrtm-services/parametrocomun';\r\n}\r\n\r\n/**\r\n * Parameters for `ApiModule.forRoot()`\r\n */\r\nexport interface ApiConfigurationParams {\r\n rootUrl?: string;\r\n}\r\n","/* tslint:disable */\r\n/* eslint-disable */\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { ApiConfiguration } from './api-configuration';\r\n\r\n/**\r\n * Base class for services\r\n */\r\n@Injectable()\r\nexport class BaseService {\r\n constructor(\r\n protected config: ApiConfiguration,\r\n protected http: HttpClient\r\n ) {\r\n }\r\n\r\n private _rootUrl: string = '';\r\n\r\n /**\r\n * Returns the root url for all operations in this service. If not set directly in this\r\n * service, will fallback to `ApiConfiguration.rootUrl`.\r\n */\r\n get rootUrl(): string {\r\n return this._rootUrl || this.config.rootUrl;\r\n }\r\n\r\n /**\r\n * Sets the root URL for API operations in this service.\r\n */\r\n set rootUrl(rootUrl: string) {\r\n this._rootUrl = rootUrl;\r\n }\r\n}\r\n","/* tslint:disable */\r\n/* eslint-disable */\r\nimport { HttpRequest, HttpParameterCodec, HttpParams, HttpHeaders, HttpContext } from '@angular/common/http';\r\n\r\n/**\r\n * Custom parameter codec to correctly handle the plus sign in parameter\r\n * values. See https://github.com/angular/angular/issues/18261\r\n */\r\nclass ParameterCodec implements HttpParameterCodec {\r\n encodeKey(key: string): string {\r\n return encodeURIComponent(key);\r\n }\r\n\r\n encodeValue(value: string): string {\r\n return encodeURIComponent(value);\r\n }\r\n\r\n decodeKey(key: string): string {\r\n return decodeURIComponent(key);\r\n }\r\n\r\n decodeValue(value: string): string {\r\n return decodeURIComponent(value);\r\n }\r\n}\r\nconst ParameterCodecInstance = new ParameterCodec();\r\n\r\n/**\r\n * Defines the options for appending a parameter\r\n */\r\ninterface ParameterOptions {\r\n style?: string;\r\n explode?: boolean;\r\n}\r\n\r\n/**\r\n * Base class for a parameter\r\n */\r\nabstract class Parameter {\r\n constructor(public name: string, public value: any, public options: ParameterOptions, defaultStyle: string, defaultExplode: boolean) {\r\n this.options = options || {};\r\n if (this.options.style === null || this.options.style === undefined) {\r\n this.options.style = defaultStyle;\r\n }\r\n if (this.options.explode === null || this.options.explode === undefined) {\r\n this.options.explode = defaultExplode;\r\n }\r\n }\r\n\r\n serializeValue(value: any, separator = ','): string {\r\n if (value === null || value === undefined) {\r\n return '';\r\n } else if (value instanceof Array) {\r\n return value.map(v => this.serializeValue(v).split(separator).join(encodeURIComponent(separator))).join(separator);\r\n } else if (typeof value === 'object') {\r\n const array: string[] = [];\r\n for (const key of Object.keys(value)) {\r\n let propVal = value[key];\r\n if (propVal !== null && propVal !== undefined) {\r\n propVal = this.serializeValue(propVal).split(separator).join(encodeURIComponent(separator));\r\n if (this.options.explode) {\r\n array.push(`${key}=${propVal}`);\r\n } else {\r\n array.push(key);\r\n array.push(propVal);\r\n }\r\n }\r\n }\r\n return array.join(separator);\r\n } else {\r\n return String(value);\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * A parameter in the operation path\r\n */\r\nclass PathParameter extends Parameter {\r\n constructor(name: string, value: any, options: ParameterOptions) {\r\n super(name, value, options, 'simple', false);\r\n }\r\n\r\n append(path: string): string {\r\n let value = this.value;\r\n if (value === null || value === undefined) {\r\n value = '';\r\n }\r\n let prefix = this.options.style === 'label' ? '.' : '';\r\n let separator = this.options.explode ? prefix === '' ? ',' : prefix : ',';\r\n let alreadySerialized = false;\r\n if (this.options.style === 'matrix') {\r\n // The parameter name is just used as prefix, except in some cases...\r\n prefix = `;${this.name}=`;\r\n if (this.options.explode && typeof value === 'object') {\r\n prefix = ';';\r\n if (value instanceof Array) {\r\n // For arrays we have to repeat the name for each element\r\n value = value.map(v => `${this.name}=${this.serializeValue(v, ';')}`);\r\n value = value.join(';');\r\n alreadySerialized = true;\r\n } else {\r\n // For objects we have to put each the key / value pairs\r\n value = this.serializeValue(value, ';');\r\n alreadySerialized = true\r\n }\r\n }\r\n }\r\n value = prefix + (alreadySerialized ? value : this.serializeValue(value, separator));\r\n // Replace both the plain variable and the corresponding variant taking in the prefix and explode into account\r\n path = path.replace(`{${this.name}}`, value);\r\n path = path.replace(`{${prefix}${this.name}${this.options.explode ? '*' : ''}}`, value);\r\n return path;\r\n }\r\n\r\n // @ts-ignore\r\n serializeValue(value: any, separator = ','): string {\r\n var result = typeof value === 'string' ? encodeURIComponent(value) : super.serializeValue(value, separator);\r\n result = result.replace(/%3D/g, '=');\r\n result = result.replace(/%3B/g, ';');\r\n result = result.replace(/%2C/g, ',');\r\n return result;\r\n }\r\n}\r\n\r\n/**\r\n * A parameter in the query\r\n */\r\nclass QueryParameter extends Parameter {\r\n constructor(name: string, value: any, options: ParameterOptions) {\r\n super(name, value, options, 'form', true);\r\n }\r\n\r\n append(params: HttpParams): HttpParams {\r\n if (this.value instanceof Array) {\r\n // Array serialization\r\n if (this.options.explode) {\r\n for (const v of this.value) {\r\n params = params.append(this.name, this.serializeValue(v));\r\n }\r\n } else {\r\n const separator = this.options.style === 'spaceDelimited'\r\n ? ' ' : this.options.style === 'pipeDelimited'\r\n ? '|' : ',';\r\n return params.append(this.name, this.serializeValue(this.value, separator));\r\n }\r\n } else if (this.value !== null && typeof this.value === 'object') {\r\n // Object serialization\r\n if (this.options.style === 'deepObject') {\r\n // Append a parameter for each key, in the form `name[key]`\r\n for (const key of Object.keys(this.value)) {\r\n const propVal = this.value[key];\r\n if (propVal !== null && propVal !== undefined) {\r\n params = params.append(`${this.name}[${key}]`, this.serializeValue(propVal));\r\n }\r\n }\r\n } else if (this.options.explode) {\r\n // Append a parameter for each key without using the parameter name\r\n for (const key of Object.keys(this.value)) {\r\n const propVal = this.value[key];\r\n if (propVal !== null && propVal !== undefined) {\r\n params = params.append(key, this.serializeValue(propVal));\r\n }\r\n }\r\n } else {\r\n // Append a single parameter whose values are a comma-separated list of key,value,key,value...\r\n const array: any[] = [];\r\n for (const key of Object.keys(this.value)) {\r\n const propVal = this.value[key];\r\n if (propVal !== null && propVal !== undefined) {\r\n array.push(key);\r\n array.push(propVal);\r\n }\r\n }\r\n params = params.append(this.name, this.serializeValue(array));\r\n }\r\n } else if (this.value !== null && this.value !== undefined) {\r\n // Plain value\r\n params = params.append(this.name, this.serializeValue(this.value));\r\n }\r\n return params;\r\n }\r\n}\r\n\r\n/**\r\n * A parameter in the HTTP request header\r\n */\r\nclass HeaderParameter extends Parameter {\r\n constructor(name: string, value: any, options: ParameterOptions) {\r\n super(name, value, options, 'simple', false);\r\n }\r\n\r\n append(headers: HttpHeaders): HttpHeaders {\r\n if (this.value !== null && this.value !== undefined) {\r\n if (this.value instanceof Array) {\r\n for (const v of this.value) {\r\n headers = headers.append(this.name, this.serializeValue(v));\r\n }\r\n } else {\r\n headers = headers.append(this.name, this.serializeValue(this.value));\r\n }\r\n }\r\n return headers;\r\n }\r\n}\r\n\r\n/**\r\n * Helper to build http requests from parameters\r\n */\r\nexport class RequestBuilder {\r\n\r\n private _path = new Map<string, PathParameter>();\r\n private _query = new Map<string, QueryParameter>();\r\n private _header = new Map<string, HeaderParameter>();\r\n _bodyContent: any | null;\r\n _bodyContentType?: string;\r\n\r\n constructor(\r\n public rootUrl: string,\r\n public operationPath: string,\r\n public method: string) {\r\n }\r\n\r\n /**\r\n * Sets a path parameter\r\n */\r\n path(name: string, value: any, options?: ParameterOptions): void {\r\n this._path.set(name, new PathParameter(name, value, options || {}));\r\n }\r\n\r\n /**\r\n * Sets a query parameter\r\n */\r\n query(name: string, value: any, options?: ParameterOptions): void {\r\n this._query.set(name, new QueryParameter(name, value, options || {}));\r\n }\r\n\r\n /**\r\n * Sets a header parameter\r\n */\r\n header(name: string, value: any, options?: ParameterOptions): void {\r\n this._header.set(name, new HeaderParameter(name, value, options || {}));\r\n }\r\n\r\n /**\r\n * Sets the body content, along with the content type\r\n */\r\n body(value: any, contentType = 'application/json'): void {\r\n if (value instanceof Blob) {\r\n this._bodyContentType = value.type;\r\n } else {\r\n this._bodyContentType = contentType;\r\n }\r\n if (this._bodyContentType === 'application/x-www-form-urlencoded' && value !== null && typeof value === 'object') {\r\n // Handle URL-encoded data\r\n const pairs: Array<[string, string]> = [];\r\n for (const key of Object.keys(value)) {\r\n let val = value[key];\r\n if (!(val instanceof Array)) {\r\n val = [val];\r\n }\r\n for (const v of val) {\r\n const formValue = this.formDataValue(v);\r\n if (formValue !== null) {\r\n pairs.push([key, formValue]);\r\n }\r\n }\r\n }\r\n this._bodyContent = pairs.map(p => `${encodeURIComponent(p[0])}=${encodeURIComponent(p[1])}`).join('&');\r\n } else if (this._bodyContentType === 'multipart/form-data') {\r\n // Handle multipart form data\r\n const formData = new FormData();\r\n if (value !== null && value !== undefined) {\r\n for (const key of Object.keys(value)) {\r\n const val = value[key];\r\n if (val instanceof Array) {\r\n for (const v of val) {\r\n const toAppend = this.formDataValue(v);\r\n if (toAppend !== null) {\r\n formData.append(key, toAppend);\r\n }\r\n }\r\n } else {\r\n const toAppend = this.formDataValue(val);\r\n if (toAppend !== null) {\r\n formData.set(key, toAppend);\r\n }\r\n }\r\n }\r\n }\r\n this._bodyContent = formData;\r\n } else {\r\n // The body is the plain content\r\n this._bodyContent = value;\r\n }\r\n }\r\n\r\n private formDataValue(value: any): any {\r\n if (value === null || value === undefined) {\r\n return null;\r\n }\r\n if (value instanceof Blob) {\r\n return value;\r\n }\r\n if (typeof value === 'object') {\r\n return JSON.stringify(value);\r\n }\r\n return String(value);\r\n }\r\n\r\n /**\r\n * Builds the request with the current set parameters\r\n */\r\n build<T = any>(options?: {\r\n /** Which content types to accept */\r\n accept?: string;\r\n\r\n /** The expected response type */\r\n responseType?: 'json' | 'text' | 'blob' | 'arraybuffer';\r\n\r\n /** Whether to report progress on uploads / downloads */\r\n reportProgress?: boolean;\r\n\r\n /** Allow passing HttpContext for HttpClient */\r\n context?: HttpContext;\r\n }): HttpRequest<T> {\r\n\r\n options = options || {};\r\n\r\n // Path parameters\r\n let path = this.operationPath;\r\n for (const pathParam of this._path.values()) {\r\n path = pathParam.append(path);\r\n }\r\n const url = this.rootUrl + path;\r\n\r\n // Query parameters\r\n let httpParams = new HttpParams({\r\n encoder: ParameterCodecInstance\r\n });\r\n for (const queryParam of this._query.values()) {\r\n httpParams = queryParam.append(httpParams);\r\n }\r\n\r\n // Header parameters\r\n let httpHeaders = new HttpHeaders();\r\n if (options.accept) {\r\n httpHeaders = httpHeaders.append('Accept', options.accept);\r\n }\r\n for (const headerParam of this._header.values()) {\r\n httpHeaders = headerParam.append(httpHeaders);\r\n }\r\n\r\n // Request content headers\r\n if (this._bodyContentType && !(this._bodyContent instanceof FormData)) {\r\n httpHeaders = httpHeaders.set('Content-Type', this._bodyContentType);\r\n }\r\n\r\n // Perform the request\r\n return new HttpRequest<T>(this.method.toUpperCase(), url, this._bodyContent, {\r\n params: httpParams,\r\n headers: httpHeaders,\r\n responseType: options.responseType,\r\n reportProgress: options.reportProgress,\r\n context: options.context\r\n });\r\n }\r\n}\r\n","/* tslint:disable */\r\n/* eslint-disable */\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpResponse, HttpContext } from '@angular/common/http';\r\nimport { BaseService } from '../base-service';\r\nimport { ApiConfiguration } from '../api-configuration';\r\nimport { StrictHttpResponse } from '../strict-http-response';\r\nimport { RequestBuilder } from '../request-builder';\r\nimport { Observable } from 'rxjs';\r\nimport { map, filter } from 'rxjs/operators';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ParametroComunControllerService extends BaseService {\r\n constructor(\r\n config: ApiConfiguration,\r\n http: HttpClient\r\n ) {\r\n super(config, http);\r\n }\r\n\r\n /**\r\n * Path part for operation listarPorMunicipalidadAplicacion\r\n */\r\n static readonly ListarPorMunicipalidadAplicacionPath = '/parametros/{aplicacionId}';\r\n\r\n /**\r\n * Permite obtener los datos de un parámetro.\r\n *\r\n * Permite obtener los datos de un parámetro según Municipalidad y aplicación.\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarPorMunicipalidadAplicacion()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarPorMunicipalidadAplicacion$Response(params: {\r\n aplicacionId: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<{\r\n}>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ParametroComunControllerService.ListarPorMunicipalidadAplicacionPath, 'get');\r\n if (params) {\r\n rb.path('aplicacionId', params.aplicacionId, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<{\r\n }>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite obtener los datos de un parámetro.\r\n *\r\n * Permite obtener los datos de un parámetro según Municipalidad y aplicación.\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarPorMunicipalidadAplicacion$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarPorMunicipalidadAplicacion(params: {\r\n aplicacionId: number;\r\n context?: HttpContext\r\n }\r\n): Observable<{\r\n}> {\r\n\r\n return this.listarPorMunicipalidadAplicacion$Response(params).pipe(\r\n map((r: StrictHttpResponse<{\r\n}>) => r.body as {\r\n})\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation consultar\r\n */\r\n static readonly ConsultarPath = '/parametros/{aplicacionId}/{parametroId}';\r\n\r\n /**\r\n * Permite obtener los datos de un parámetro.\r\n *\r\n * Permite obtener los datos de un parámetro según Municipalidad, aplicación y id del parámetro.\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `consultar()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n consultar$Response(params: {\r\n aplicacionId: number;\r\n parametroId: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<{\r\n}>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ParametroComunControllerService.ConsultarPath, 'get');\r\n if (params) {\r\n rb.path('aplicacionId', params.aplicacionId, {});\r\n rb.path('parametroId', params.parametroId, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<{\r\n }>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite obtener los datos de un parámetro.\r\n *\r\n * Permite obtener los datos de un parámetro según Municipalidad, aplicación y id del parámetro.\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `consultar$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n consultar(params: {\r\n aplicacionId: number;\r\n parametroId: number;\r\n context?: HttpContext\r\n }\r\n): Observable<{\r\n}> {\r\n\r\n return this.consultar$Response(params).pipe(\r\n map((r: StrictHttpResponse<{\r\n}>) => r.body as {\r\n})\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation consultarParametroGlobal\r\n */\r\n static readonly ConsultarParametroGlobalPath = '/parametros/consultar-global/{moduloId}/{tipoParametroId}';\r\n\r\n /**\r\n * Permite obtener los datos de un tipo de parámetro.\r\n *\r\n * Permite obtener los datos de un tipo de parámetro según modulo y tipo parámetro.\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `consultarParametroGlobal()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n consultarParametroGlobal$Response(params: {\r\n moduloId: number;\r\n tipoParametroId: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<{\r\n}>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ParametroComunControllerService.ConsultarParametroGlobalPath, 'get');\r\n if (params) {\r\n rb.path('moduloId', params.moduloId, {});\r\n rb.path('tipoParametroId', params.tipoParametroId, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<{\r\n }>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite obtener los datos de un tipo de parámetro.\r\n *\r\n * Permite obtener los datos de un tipo de parámetro según modulo y tipo parámetro.\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `consultarParametroGlobal$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n consultarParametroGlobal(params: {\r\n moduloId: number;\r\n tipoParametroId: number;\r\n context?: HttpContext\r\n }\r\n): Observable<{\r\n}> {\r\n\r\n return this.consultarParametroGlobal$Response(params).pipe(\r\n map((r: StrictHttpResponse<{\r\n}>) => r.body as {\r\n})\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listar\r\n */\r\n static readonly ListarPath = '/parametros/';\r\n\r\n /**\r\n * Permite obtener todos los parámetros de sistema.\r\n *\r\n * Permite obtener todos los parámetros de sistema.\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listar()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listar$Response(params?: {\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<{\r\n}>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, ParametroComunControllerService.ListarPath, 'get');\r\n if (params) {\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<{\r\n }>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite obtener todos los parámetros de sistema.\r\n *\r\n * Permite obtener todos los parámetros de sistema.\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listar$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listar(params?: {\r\n context?: HttpContext\r\n }\r\n): Observable<{\r\n}> {\r\n\r\n return this.listar$Response(params).pipe(\r\n map((r: StrictHttpResponse<{\r\n}>) => r.body as {\r\n})\r\n );\r\n }\r\n\r\n}\r\n","/* tslint:disable */\r\n/* eslint-disable */\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpResponse, HttpContext } from '@angular/common/http';\r\nimport { BaseService } from '../base-service';\r\nimport { ApiConfiguration } from '../api-configuration';\r\nimport { StrictHttpResponse } from '../strict-http-response';\r\nimport { RequestBuilder } from '../request-builder';\r\nimport { Observable } from 'rxjs';\r\nimport { map, filter } from 'rxjs/operators';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CacheControllerService extends BaseService {\r\n constructor(\r\n config: ApiConfiguration,\r\n http: HttpClient\r\n ) {\r\n super(config, http);\r\n }\r\n\r\n /**\r\n * Path part for operation clearCache\r\n */\r\n static readonly ClearCachePath = '/cache/clear/{cacheName}';\r\n\r\n /**\r\n * Limpia la CACHE de los Párametros del sistema.\r\n *\r\n * Limpia la CACHE de los Párametros según el nombre del mismo.\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `clearCache()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n clearCache$Response(params: {\r\n cacheName: string;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<{\r\n}>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, CacheControllerService.ClearCachePath, 'get');\r\n if (params) {\r\n rb.path('cacheName', params.cacheName, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'blob',\r\n accept: '*/*',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<{\r\n }>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Limpia la CACHE de los Párametros del sistema.\r\n *\r\n * Limpia la CACHE de los Párametros según el nombre del mismo.\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `clearCache$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n clearCache(params: {\r\n cacheName: string;\r\n context?: HttpContext\r\n }\r\n): Observable<{\r\n}> {\r\n\r\n return this.clearCache$Response(params).pipe(\r\n map((r: StrictHttpResponse<{\r\n}>) => r.body as {\r\n})\r\n );\r\n }\r\n\r\n}\r\n","/* tslint:disable */\r\n/* eslint-disable */\r\nimport { Injectable } from '@angular/core';\r\n\r\n/**\r\n * Global configuration\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ApiConfiguration {\r\n rootUrl: string = 'https://apps2desa.mineco.gob.pe/v1/nsrtm-services/gestionarchivo';\r\n}\r\n\r\n/**\r\n * Parameters for `ApiModule.forRoot()`\r\n */\r\nexport interface ApiConfigurationParams {\r\n rootUrl?: string;\r\n}\r\n","/* tslint:disable */\r\n/* eslint-disable */\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { ApiConfiguration } from './api-configuration';\r\n\r\n/**\r\n * Base class for services\r\n */\r\n@Injectable()\r\nexport class BaseService {\r\n constructor(\r\n protected config: ApiConfiguration,\r\n protected http: HttpClient\r\n ) {\r\n }\r\n\r\n private _rootUrl: string = '';\r\n\r\n /**\r\n * Returns the root url for all operations in this service. If not set directly in this\r\n * service, will fallback to `ApiConfiguration.rootUrl`.\r\n */\r\n get rootUrl(): string {\r\n return this._rootUrl || this.config.rootUrl;\r\n }\r\n\r\n /**\r\n * Sets the root URL for API operations in this service.\r\n */\r\n set rootUrl(rootUrl: string) {\r\n this._rootUrl = rootUrl;\r\n }\r\n}\r\n","/* tslint:disable */\r\n/* eslint-disable */\r\nimport { HttpRequest, HttpParameterCodec, HttpParams, HttpHeaders, HttpContext } from '@angular/common/http';\r\n\r\n/**\r\n * Custom parameter codec to correctly handle the plus sign in parameter\r\n * values. See https://github.com/angular/angular/issues/18261\r\n */\r\nclass ParameterCodec implements HttpParameterCodec {\r\n encodeKey(key: string): string {\r\n return encodeURIComponent(key);\r\n }\r\n\r\n encodeValue(value: string): string {\r\n return encodeURIComponent(value);\r\n }\r\n\r\n decodeKey(key: string): string {\r\n return decodeURIComponent(key);\r\n }\r\n\r\n decodeValue(value: string): string {\r\n return decodeURIComponent(value);\r\n }\r\n}\r\nconst ParameterCodecInstance = new ParameterCodec();\r\n\r\n/**\r\n * Defines the options for appending a parameter\r\n */\r\ninterface ParameterOptions {\r\n style?: string;\r\n explode?: boolean;\r\n}\r\n\r\n/**\r\n * Base class for a parameter\r\n */\r\nabstract class Parameter {\r\n constructor(public name: string, public value: any, public options: ParameterOptions, defaultStyle: string, defaultExplode: boolean) {\r\n this.options = options || {};\r\n if (this.options.style === null || this.options.style === undefined) {\r\n this.options.style = defaultStyle;\r\n }\r\n if (this.options.explode === null || this.options.explode === undefined) {\r\n this.options.explode = defaultExplode;\r\n }\r\n }\r\n\r\n serializeValue(value: any, separator = ','): string {\r\n if (value === null || value === undefined) {\r\n return '';\r\n } else if (value instanceof Array) {\r\n return value.map(v => this.serializeValue(v).split(separator).join(encodeURIComponent(separator))).join(separator);\r\n } else if (typeof value === 'object') {\r\n const array: string[] = [];\r\n for (const key of Object.keys(value)) {\r\n let propVal = value[key];\r\n if (propVal !== null && propVal !== undefined) {\r\n propVal = this.serializeValue(propVal).split(separator).join(encodeURIComponent(separator));\r\n if (this.options.explode) {\r\n array.push(`${key}=${propVal}`);\r\n } else {\r\n array.push(key);\r\n array.push(propVal);\r\n }\r\n }\r\n }\r\n return array.join(separator);\r\n } else {\r\n return String(value);\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * A parameter in the operation path\r\n */\r\nclass PathParameter extends Parameter {\r\n constructor(name: string, value: any, options: ParameterOptions) {\r\n super(name, value, options, 'simple', false);\r\n }\r\n\r\n append(path: string): string {\r\n let value = this.value;\r\n if (value === null || value === undefined) {\r\n value = '';\r\n }\r\n let prefix = this.options.style === 'label' ? '.' : '';\r\n let separator = this.options.explode ? prefix === '' ? ',' : prefix : ',';\r\n let alreadySerialized = false;\r\n if (this.options.style === 'matrix') {\r\n // The parameter name is just used as prefix, except in some cases...\r\n prefix = `;${this.name}=`;\r\n if (this.options.explode && typeof value === 'object') {\r\n prefix = ';';\r\n if (value instanceof Array) {\r\n // For arrays we have to repeat the name for each element\r\n value = value.map(v => `${this.name}=${this.serializeValue(v, ';')}`);\r\n value = value.join(';');\r\n alreadySerialized = true;\r\n } else {\r\n // For objects we have to put each the key / value pairs\r\n value = this.serializeValue(value, ';');\r\n alreadySerialized = true\r\n }\r\n }\r\n }\r\n value = prefix + (alreadySerialized ? value : this.serializeValue(value, separator));\r\n // Replace both the plain variable and the corresponding variant taking in the prefix and explode into account\r\n path = path.replace(`{${this.name}}`, value);\r\n path = path.replace(`{${prefix}${this.name}${this.options.explode ? '*' : ''}}`, value);\r\n return path;\r\n }\r\n\r\n // @ts-ignore\r\n serializeValue(value: any, separator = ','): string {\r\n var result = typeof value === 'string' ? encodeURIComponent(value) : super.serializeValue(value, separator);\r\n result = result.replace(/%3D/g, '=');\r\n result = result.replace(/%3B/g, ';');\r\n result = result.replace(/%2C/g, ',');\r\n return result;\r\n }\r\n}\r\n\r\n/**\r\n * A parameter in the query\r\n */\r\nclass QueryParameter extends Parameter {\r\n constructor(name: string, value: any, options: ParameterOptions) {\r\n super(name, value, options, 'form', true);\r\n }\r\n\r\n append(params: HttpParams): HttpParams {\r\n if (this.value instanceof Array) {\r\n // Array serialization\r\n if (this.options.explode) {\r\n for (const v of this.value) {\r\n params = params.append(this.name, this.serializeValue(v));\r\n }\r\n } else {\r\n const separator = this.options.style === 'spaceDelimited'\r\n ? ' ' : this.options.style === 'pipeDelimited'\r\n ? '|' : ',';\r\n return params.append(this.name, this.serializeValue(this.value, separator));\r\n }\r\n } else if (this.value !== null && typeof this.value === 'object') {\r\n // Object serialization\r\n if (this.options.style === 'deepObject') {\r\n // Append a parameter for each key, in the form `name[key]`\r\n for (const key of Object.keys(this.value)) {\r\n const propVal = this.value[key];\r\n if (propVal !== null && propVal !== undefined) {\r\n params = params.append(`${this.name}[${key}]`, this.serializeValue(propVal));\r\n }\r\n }\r\n } else if (this.options.explode) {\r\n // Append a parameter for each key without using the parameter name\r\n for (const key of Object.keys(this.value)) {\r\n const propVal = this.value[key];\r\n if (propVal !== null && propVal !== undefined) {\r\n params = params.append(key, this.serializeValue(propVal));\r\n }\r\n }\r\n } else {\r\n // Append a single parameter whose values are a comma-separated list of key,value,key,value...\r\n const array: any[] = [];\r\n for (const key of Object.keys(this.value)) {\r\n const propVal = this.value[key];\r\n if (propVal !== null && propVal !== undefined) {\r\n array.push(key);\r\n array.push(propVal);\r\n }\r\n }\r\n params = params.append(this.name, this.serializeValue(array));\r\n }\r\n } else if (this.value !== null && this.value !== undefined) {\r\n // Plain value\r\n params = params.append(this.name, this.serializeValue(this.value));\r\n }\r\n return params;\r\n }\r\n}\r\n\r\n/**\r\n * A parameter in the HTTP request header\r\n */\r\nclass HeaderParameter extends Parameter {\r\n constructor(name: string, value: any, options: ParameterOptions) {\r\n super(name, value, options, 'simple', false);\r\n }\r\n\r\n append(headers: HttpHeaders): HttpHeaders {\r\n if (this.value !== null && this.value !== undefined) {\r\n if (this.value instanceof Array) {\r\n for (const v of this.value) {\r\n headers = headers.append(this.name, this.serializeValue(v));\r\n }\r\n } else {\r\n headers = headers.append(this.name, this.serializeValue(this.value));\r\n }\r\n }\r\n return headers;\r\n }\r\n}\r\n\r\n/**\r\n * Helper to build http requests from parameters\r\n */\r\nexport class RequestBuilder {\r\n\r\n private _path = new Map<string, PathParameter>();\r\n private _query = new Map<string, QueryParameter>();\r\n private _header = new Map<string, HeaderParameter>();\r\n _bodyContent: any | null;\r\n _bodyContentType?: string;\r\n\r\n constructor(\r\n public rootUrl: string,\r\n public operationPath: string,\r\n public method: string) {\r\n }\r\n\r\n /**\r\n * Sets a path parameter\r\n */\r\n path(name: string, value: any, options?: ParameterOptions): void {\r\n this._path.set(name, new PathParameter(name, value, options || {}));\r\n }\r\n\r\n /**\r\n * Sets a query parameter\r\n */\r\n query(name: string, value: any, options?: ParameterOptions): void {\r\n this._query.set(name, new QueryParameter(name, value, options || {}));\r\n }\r\n\r\n /**\r\n * Sets a header parameter\r\n */\r\n header(name: string, value: any, options?: ParameterOptions): void {\r\n this._header.set(name, new HeaderParameter(name, value, options || {}));\r\n }\r\n\r\n /**\r\n * Sets the body content, along with the content type\r\n */\r\n body(value: any, contentType = 'application/json'): void {\r\n if (value instanceof Blob) {\r\n this._bodyContentType = value.type;\r\n } else {\r\n this._bodyContentType = contentType;\r\n }\r\n if (this._bodyContentType === 'application/x-www-form-urlencoded' && value !== null && typeof value === 'object') {\r\n // Handle URL-encoded data\r\n const pairs: Array<[string, string]> = [];\r\n for (const key of Object.keys(value)) {\r\n let val = value[key];\r\n if (!(val instanceof Array)) {\r\n val = [val];\r\n }\r\n for (const v of val) {\r\n const formValue = this.formDataValue(v);\r\n if (formValue !== null) {\r\n pairs.push([key, formValue]);\r\n }\r\n }\r\n }\r\n this._bodyContent = pairs.map(p => `${encodeURIComponent(p[0])}=${encodeURIComponent(p[1])}`).join('&');\r\n } else if (this._bodyContentType === 'multipart/form-data') {\r\n // Handle multipart form data\r\n const formData = new FormData();\r\n if (value !== null && value !== undefined) {\r\n for (const key of Object.keys(value)) {\r\n const val = value[key];\r\n if (val instanceof Array) {\r\n for (const v of val) {\r\n const toAppend = this.formDataValue(v);\r\n if (toAppend !== null) {\r\n formData.append(key, toAppend);\r\n }\r\n }\r\n } else {\r\n const toAppend = this.formDataValue(val);\r\n if (toAppend !== null) {\r\n formData.set(key, toAppend);\r\n }\r\n }\r\n }\r\n }\r\n this._bodyContent = formData;\r\n } else {\r\n // The body is the plain content\r\n this._bodyContent = value;\r\n }\r\n }\r\n\r\n private formDataValue(value: any): any {\r\n if (value === null || value === undefined) {\r\n return null;\r\n }\r\n if (value instanceof Blob) {\r\n return value;\r\n }\r\n if (typeof value === 'object') {\r\n return JSON.stringify(value);\r\n }\r\n return String(value);\r\n }\r\n\r\n /**\r\n * Builds the request with the current set parameters\r\n */\r\n build<T = any>(options?: {\r\n /** Which content types to accept */\r\n accept?: string;\r\n\r\n /** The expected response type */\r\n responseType?: 'json' | 'text' | 'blob' | 'arraybuffer';\r\n\r\n /** Whether to report progress on uploads / downloads */\r\n reportProgress?: boolean;\r\n\r\n /** Allow passing HttpContext for HttpClient */\r\n context?: HttpContext;\r\n }): HttpRequest<T> {\r\n\r\n options = options || {};\r\n\r\n // Path parameters\r\n let path = this.operationPath;\r\n for (const pathParam of this._path.values()) {\r\n path = pathParam.append(path);\r\n }\r\n const url = this.rootUrl + path;\r\n\r\n // Query parameters\r\n let httpParams = new HttpParams({\r\n encoder: ParameterCodecInstance\r\n });\r\n for (const queryParam of this._query.values()) {\r\n httpParams = queryParam.append(httpParams);\r\n }\r\n\r\n // Header parameters\r\n let httpHeaders = new HttpHeaders();\r\n if (options.accept) {\r\n httpHeaders = httpHeaders.append('Accept', options.accept);\r\n }\r\n for (const headerParam of this._header.values()) {\r\n httpHeaders = headerParam.append(httpHeaders);\r\n }\r\n\r\n // Request content headers\r\n if (this._bodyContentType && !(this._bodyContent instanceof FormData)) {\r\n httpHeaders = httpHeaders.set('Content-Type', this._bodyContentType);\r\n }\r\n\r\n // Perform the request\r\n return new HttpRequest<T>(this.method.toUpperCase(), url, this._bodyContent, {\r\n params: httpParams,\r\n headers: httpHeaders,\r\n responseType: options.responseType,\r\n reportProgress: options.reportProgress,\r\n context: options.context\r\n });\r\n }\r\n}\r\n","/* tslint:disable */\r\n/* eslint-disable */\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpResponse, HttpContext } from '@angular/common/http';\r\nimport { BaseService } from '../base-service';\r\nimport { ApiConfiguration } from '../api-configuration';\r\nimport { StrictHttpResponse } from '../strict-http-response';\r\nimport { RequestBuilder } from '../request-builder';\r\nimport { Observable } from 'rxjs';\r\nimport { map, filter } from 'rxjs/operators';\r\n\r\nimport { CustomPageDatosArchivoProjection } from '../models/custom-page-datos-archivo-projection';\r\nimport { GestionArchivoResponse } from '../models/gestion-archivo-response';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class GestionArchivoControllerService extends BaseService {\r\n constructor(\r\n config: ApiConfiguration,\r\n http: HttpClient\r\n ) {\r\n super(config, http);\r\n }\r\n\r\n /**\r\n * Path part for operation agregarArchivo\r\n */\r\n static readonly AgregarArchivoPath = '/gestion-archivos/subir';\r\n\r\n /**\r\n * Agregar archivo.\r\n *\r\n * Permite agregar directorio\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `agregarArchivo()` instead.\r\n *\r\n * This method sends `multipart/form-data` and handles request body of type `multipart/form-data`.\r\n */\r\n agregarArchivo$Response(params?: {\r\n context?: HttpContext\r\n body?: {\r\n'request': string;\r\n'file'?: Blob;\r\n}\r\n }\r\n): Observable<StrictHttpResponse<{\r\n}>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, GestionArchivoControllerService.AgregarArchivoPath, 'post');\r\n if (params) {\r\n rb.body(params.body, 'multipart/form-data');\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<{\r\n }>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Agregar archivo.\r\n *\r\n * Permite agregar directorio\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `agregarArchivo$Response()` instead.\r\n *\r\n * This method sends `multipart/form-data` and handles request body of type `multipart/form-data`.\r\n */\r\n agregarArchivo(params?: {\r\n context?: HttpContext\r\n body?: {\r\n'request': string;\r\n'file'?: Blob;\r\n}\r\n }\r\n): Observable<{\r\n}> {\r\n\r\n return this.agregarArchivo$Response(params).pipe(\r\n map((r: StrictHttpResponse<{\r\n}>) => r.body as {\r\n})\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation cargarArchivoTrama\r\n */\r\n static readonly CargarArchivoTramaPath = '/gestion-archivos/cargar-archivo-trama';\r\n\r\n /**\r\n * Cargar archivo por funcionalidad.\r\n *\r\n * Permite Cargar archivo por funcionalidad\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `cargarArchivoTrama()` instead.\r\n *\r\n * This method sends `multipart/form-data` and handles request body of type `multipart/form-data`.\r\n */\r\n cargarArchivoTrama$Response(params?: {\r\n context?: HttpContext\r\n body?: {\r\n'request': string;\r\n'file'?: Blob;\r\n}\r\n }\r\n): Observable<StrictHttpResponse<{\r\n}>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, GestionArchivoControllerService.CargarArchivoTramaPath, 'post');\r\n if (params) {\r\n rb.body(params.body, 'multipart/form-data');\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<{\r\n }>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Cargar archivo por funcionalidad.\r\n *\r\n * Permite Cargar archivo por funcionalidad\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `cargarArchivoTrama$Response()` instead.\r\n *\r\n * This method sends `multipart/form-data` and handles request body of type `multipart/form-data`.\r\n */\r\n cargarArchivoTrama(params?: {\r\n context?: HttpContext\r\n body?: {\r\n'request': string;\r\n'file'?: Blob;\r\n}\r\n }\r\n): Observable<{\r\n}> {\r\n\r\n return this.cargarArchivoTrama$Response(params).pipe(\r\n map((r: StrictHttpResponse<{\r\n}>) => r.body as {\r\n})\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation cargarArchivosMasivo\r\n */\r\n static readonly CargarArchivosMasivoPath = '/gestion-archivos/cargar-archivo-trama-masivo';\r\n\r\n /**\r\n * Permite la carga de archivos masivo.\r\n *\r\n * Permite la carga de archivos masivo\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `cargarArchivosMasivo()` instead.\r\n *\r\n * This method sends `multipart/form-data` and handles request body of type `multipart/form-data`.\r\n */\r\n cargarArchivosMasivo$Response(params?: {\r\n context?: HttpContext\r\n body?: {\r\n'request': string;\r\n'files': Array<Blob>;\r\n}\r\n }\r\n): Observable<StrictHttpResponse<void>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, GestionArchivoControllerService.CargarArchivosMasivoPath, 'post');\r\n if (params) {\r\n rb.body(params.body, 'multipart/form-data');\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'text',\r\n accept: '*/*',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return (r as HttpResponse<any>).clone({ body: undefined }) as StrictHttpResponse<void>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite la carga de archivos masivo.\r\n *\r\n * Permite la carga de archivos masivo\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `cargarArchivosMasivo$Response()` instead.\r\n *\r\n * This method sends `multipart/form-data` and handles request body of type `multipart/form-data`.\r\n */\r\n cargarArchivosMasivo(params?: {\r\n context?: HttpContext\r\n body?: {\r\n'request': string;\r\n'files': Array<Blob>;\r\n}\r\n }\r\n): Observable<void> {\r\n\r\n return this.cargarArchivosMasivo$Response(params).pipe(\r\n map((r: StrictHttpResponse<void>) => r.body as void)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation obtenerDetalleArchivo\r\n */\r\n static readonly ObtenerDetalleArchivoPath = '/gestion-archivos/obtener';\r\n\r\n /**\r\n * Retorna el detalle del archivo.\r\n *\r\n * Permite obtener el detalle de un archivo\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `obtenerDetalleArchivo()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n obtenerDetalleArchivo$Response(params: {\r\n id_archivo: number;\r\n anio: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<GestionArchivoResponse>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, GestionArchivoControllerService.ObtenerDetalleArchivoPath, 'get');\r\n if (params) {\r\n rb.query('id_archivo', params.id_archivo, {});\r\n rb.query('anio', params.anio, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<GestionArchivoResponse>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Retorna el detalle del archivo.\r\n *\r\n * Permite obtener el detalle de un archivo\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `obtenerDetalleArchivo$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n obtenerDetalleArchivo(params: {\r\n id_archivo: number;\r\n anio: number;\r\n context?: HttpContext\r\n }\r\n): Observable<GestionArchivoResponse> {\r\n\r\n return this.obtenerDetalleArchivo$Response(params).pipe(\r\n map((r: StrictHttpResponse<GestionArchivoResponse>) => r.body as GestionArchivoResponse)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation obtenerContenidoArchivo\r\n */\r\n static readonly ObtenerContenidoArchivoPath = '/gestion-archivos/obtener-contenido';\r\n\r\n /**\r\n * Retorna el contenido del archivo.\r\n *\r\n * Permite descargar el archivo\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `obtenerContenidoArchivo()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n obtenerContenidoArchivo$Response(params: {\r\n id_laserfiche: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Blob>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, GestionArchivoControllerService.ObtenerContenidoArchivoPath, 'get');\r\n if (params) {\r\n rb.query('id_laserfiche', params.id_laserfiche, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'blob',\r\n accept: 'application/octet-stream',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Blob>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Retorna el contenido del archivo.\r\n *\r\n * Permite descargar el archivo\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `obtenerContenidoArchivo$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n obtenerContenidoArchivo(params: {\r\n id_laserfiche: number;\r\n context?: HttpContext\r\n }\r\n): Observable<Blob> {\r\n\r\n return this.obtenerContenidoArchivo$Response(params).pipe(\r\n map((r: StrictHttpResponse<Blob>) => r.body as Blob)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation obtenerContenidoArchivoPorId\r\n */\r\n static readonly ObtenerContenidoArchivoPorIdPath = '/gestion-archivos/obtener-contenido-archivo';\r\n\r\n /**\r\n * Retorna el contenido del archivo.\r\n *\r\n * Permite descargar el archivo\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `obtenerContenidoArchivoPorId()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n obtenerContenidoArchivoPorId$Response(params: {\r\n id_archivo: number;\r\n anio: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Blob>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, GestionArchivoControllerService.ObtenerContenidoArchivoPorIdPath, 'get');\r\n if (params) {\r\n rb.query('id_archivo', params.id_archivo, {});\r\n rb.query('anio', params.anio, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'blob',\r\n accept: 'application/octet-stream',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Blob>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Retorna el contenido del archivo.\r\n *\r\n * Permite descargar el archivo\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `obtenerContenidoArchivoPorId$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n obtenerContenidoArchivoPorId(params: {\r\n id_archivo: number;\r\n anio: number;\r\n context?: HttpContext\r\n }\r\n): Observable<Blob> {\r\n\r\n return this.obtenerContenidoArchivoPorId$Response(params).pipe(\r\n map((r: StrictHttpResponse<Blob>) => r.body as Blob)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation listarArchivos\r\n */\r\n static readonly ListarArchivosPath = '/gestion-archivos/listar';\r\n\r\n /**\r\n * Permite listar los archivos de una Declaracion / Liquidacion.\r\n *\r\n * Permite listar los archivos de una Declaracion / Liquidacion\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `listarArchivos()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarArchivos$Response(params: {\r\n numero_dec_liq: number;\r\n medio_digital_id: number;\r\n procesoModuloId: number;\r\n anio: number;\r\n campo2: string;\r\n campo3: string;\r\n page?: number;\r\n page_size?: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<CustomPageDatosArchivoProjection>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, GestionArchivoControllerService.ListarArchivosPath, 'get');\r\n if (params) {\r\n rb.query('numero_dec_liq', params.numero_dec_liq, {});\r\n rb.query('medio_digital_id', params.medio_digital_id, {});\r\n rb.query('procesoModuloId', params.procesoModuloId, {});\r\n rb.query('anio', params.anio, {});\r\n rb.query('campo2', params.campo2, {});\r\n rb.query('campo3', params.campo3, {});\r\n rb.query('page', params.page, {});\r\n rb.query('page_size', params.page_size, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<CustomPageDatosArchivoProjection>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite listar los archivos de una Declaracion / Liquidacion.\r\n *\r\n * Permite listar los archivos de una Declaracion / Liquidacion\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `listarArchivos$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n listarArchivos(params: {\r\n numero_dec_liq: number;\r\n medio_digital_id: number;\r\n procesoModuloId: number;\r\n anio: number;\r\n campo2: string;\r\n campo3: string;\r\n page?: number;\r\n page_size?: number;\r\n context?: HttpContext\r\n }\r\n): Observable<CustomPageDatosArchivoProjection> {\r\n\r\n return this.listarArchivos$Response(params).pipe(\r\n map((r: StrictHttpResponse<CustomPageDatosArchivoProjection>) => r.body as CustomPageDatosArchivoProjection)\r\n );\r\n }\r\n\r\n /**\r\n * Path part for operation anularArchivo\r\n */\r\n static readonly AnularArchivoPath = '/gestion-archivos/anular/{archivoId}/{anio}';\r\n\r\n /**\r\n * Permite anula un archivo.\r\n *\r\n * Anula un archivo\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `anularArchivo()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n anularArchivo$Response(params: {\r\n archivoId: number;\r\n anio: number;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<{\r\n}>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, GestionArchivoControllerService.AnularArchivoPath, 'delete');\r\n if (params) {\r\n rb.path('archivoId', params.archivoId, {});\r\n rb.path('anio', params.anio, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'json',\r\n accept: 'application/json',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<{\r\n }>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite anula un archivo.\r\n *\r\n * Anula un archivo\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `anularArchivo$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n anularArchivo(params: {\r\n archivoId: number;\r\n anio: number;\r\n context?: HttpContext\r\n }\r\n): Observable<{\r\n}> {\r\n\r\n return this.anularArchivo$Response(params).pipe(\r\n map((r: StrictHttpResponse<{\r\n}>) => r.body as {\r\n})\r\n );\r\n }\r\n\r\n}\r\n","/* tslint:disable */\r\n/* eslint-disable */\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpResponse, HttpContext } from '@angular/common/http';\r\nimport { BaseService } from '../base-service';\r\nimport { ApiConfiguration } from '../api-configuration';\r\nimport { StrictHttpResponse } from '../strict-http-response';\r\nimport { RequestBuilder } from '../request-builder';\r\nimport { Observable } from 'rxjs';\r\nimport { map, filter } from 'rxjs/operators';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DescargaDocumentoControllerService extends BaseService {\r\n constructor(\r\n config: ApiConfiguration,\r\n http: HttpClient\r\n ) {\r\n super(config, http);\r\n }\r\n\r\n /**\r\n * Path part for operation descargarDocumento\r\n */\r\n static readonly DescargarDocumentoPath = '/descarga-documentos/descargar/{parametro}';\r\n\r\n /**\r\n * Permite descargar un documento.\r\n *\r\n * Descarga publica de documentos\r\n *\r\n * This method provides access to the full `HttpResponse`, allowing access to response headers.\r\n * To access only the response body, use `descargarDocumento()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n descargarDocumento$Response(params: {\r\n parametro: string;\r\n context?: HttpContext\r\n }\r\n): Observable<StrictHttpResponse<Blob>> {\r\n\r\n const rb = new RequestBuilder(this.rootUrl, DescargaDocumentoControllerService.DescargarDocumentoPath, 'get');\r\n if (params) {\r\n rb.path('parametro', params.parametro, {});\r\n }\r\n\r\n return this.http.request(rb.build({\r\n responseType: 'blob',\r\n accept: 'application/octet-stream',\r\n context: params?.context\r\n })).pipe(\r\n filter((r: any) => r instanceof HttpResponse),\r\n map((r: HttpResponse<any>) => {\r\n return r as StrictHttpResponse<Blob>;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Permite descargar un documento.\r\n *\r\n * Descarga publica de documentos\r\n *\r\n * This method provides access to only to the response body.\r\n * To access the full response (for headers, for example), `descargarDocumento$Response()` instead.\r\n *\r\n * This method doesn't expect any request body.\r\n */\r\n descargarDocumento(params: {\r\n parametro: string;\r\n context?: HttpContext\r\n }\r\n): Observable<Blob> {\r\n\r\n return this.descargarDocumento$Response(params).pipe(\r\n map((r: StrictHttpResponse<Blob>) => r.body as Blob)\r\n );\r\n }\r\n\r\n}\r\n","/**\r\n * @description componente boton usando las clases de bootstrap\r\n * @version 1.0.0\r\n */\r\n\r\nimport {\r\n\tComponent,\r\n\tInput,\r\n\tChangeDetectionStrategy,\r\n\tHostBinding,\r\n} from '@angular/core';\r\n\r\ntype IColor =\r\n\t| 'primary'\r\n\t| 'secondary'\r\n\t| 'success'\r\n\t| 'warning'\r\n\t| 'danger'\r\n\t| 'info'\r\n\t| 'light'\r\n\t| 'dark';\r\n\r\ntype IVariant = 'flat' | 'outlined';\r\n\r\ntype ISize = 'small' | 'medium' | 'large';\r\n\r\n@Component({\r\n\tselector: 'nsrtm-button',\r\n\ttemplateUrl: 'nsrtm-button.component.html',\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class NsrtmButtonComponent {\r\n\t@Input() texto = 'Aceptar';\r\n\t@Input() disabled = false;\r\n\t@Input() loading = false;\r\n\t@Input() loadingTexto = 'Guardado...';\r\n\t@Input() esIcono = false;\r\n\t@Input() icon = 'save'; // icono feather\r\n\t@Input() color: IColor = 'primary'; // por ahora estos colores\r\n\t@Input() variant: IVariant = 'flat'; // variantes del boton\r\n\t@Input() size: ISize = 'medium';\r\n\t@Input() classes: string = ''; // clases adicionales\r\n\t@Input() block: boolean = false; // ajusta el width al 100% de su contenedor\r\n\r\n\t@HostBinding('style.pointer-events') get pEvents(): string {\r\n\t\tif (this.disabled) {\r\n\t\t\treturn 'none';\r\n\t\t}\r\n\t\treturn 'auto';\r\n\t}\r\n\r\n\t@HostBinding('style.display') get pDisplay(): string {\r\n\t\tif (this.block) {\r\n\t\t\treturn 'block';\r\n\t\t}\r\n\t\treturn 'inline-block';\r\n\t}\r\n\r\n\tgetClasses() {\r\n\t\tconst classes = ['btn'];\r\n\r\n\t\t// clase para variant\r\n\t\tconst classVariant = this.getClassVariantColor(this.variant);\r\n\t\tif (classVariant) classes.push(classVariant);\r\n\r\n\t\t// clase para size\r\n\t\tconst classSize = this.getClassSize(this.size);\r\n\t\tif (classSize) classes.push(classSize);\r\n\r\n\t\tif (this.esIcono) classes.push('btn-icon');\r\n\r\n\t\tif (this.block) classes.push('w-100 d-flex');\r\n\r\n\t\tif (this.classes.trim().length > 0) classes.push(this.classes);\r\n\r\n\t\treturn classes.join(' ');\r\n\t}\r\n\r\n\tprivate getClassVariantColor(variant: IVariant): string {\r\n\t\tif (variant === 'outlined') {\r\n\t\t\treturn `btn-outline-${this.color}`;\r\n\t\t}\r\n\r\n\t\t// flat variant\r\n\t\treturn `btn-${this.color}`;\r\n\t}\r\n\r\n\tprivate getClassSize(size: ISize) {\r\n\t\tswitch (size) {\r\n\t\t\tcase 'small':\r\n\t\t\t\treturn 'btn-sm';\r\n\t\t\tcase 'large':\r\n\t\t\t\treturn 'btn-lg';\r\n\t\t\tdefault:\r\n\t\t\t\treturn '';\r\n\t\t}\r\n\t}\r\n\r\n\tget localTexto() {\r\n\t\tif (this.esIcono) return '';\r\n\r\n\t\treturn this.texto;\r\n\t}\r\n\r\n\tget isDisabled() {\r\n\t\treturn this.loading || this.disabled;\r\n\t}\r\n\r\n\tget isIcon() {\r\n\t\treturn typeof this.icon === 'string' && this.icon.trim().length > 0;\r\n\t}\r\n\r\n\tget localDisabled() {\r\n\t\treturn this.loading;\r\n\t}\r\n}\r\n","<button type=\"button\" [class]=\"getClasses()\" [disabled]=\"isDisabled\">\r\n\t<span *ngIf=\"isIcon\" [class]=\"['feather', 'icon-' + icon]\"></span>\r\n\r\n\t<span [class]=\"{ 'ms-1': localTexto }\">{{\r\n\t\tloading ? loadingTexto : localTexto\r\n\t}}</span>\r\n\r\n\t<ng-container *ngIf=\"loading\">\r\n\t\t<span class=\"spinner-border spinner-border-sm ms-1\" role=\"status\"></span>\r\n\t</ng-container>\r\n</button>\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ToastLoadingService {\r\n\tshowToast = false;\r\n\r\n\tconstructor() {}\r\n\r\n\tmostrar() {\r\n\t\tthis.showToast = true;\r\n\t}\r\n\r\n\tocultar() {\r\n\t\tthis.showToast = false;\r\n\t}\r\n}\r\n","import {\r\n\tComponent,\r\n\tInput,\r\n\tOnInit,\r\n\tChangeDetectionStrategy,\r\n\tViewEncapsulation,\r\n} from '@angular/core';\r\nimport { ToastLoadingService } from './toast-loading.service';\r\n\r\n@Component({\r\n\tselector: 'toast-loading',\r\n\ttemplateUrl: 'toast-loading.component.html',\r\n\tstyleUrls: ['./toast-loading.component.scss'],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\tencapsulation: ViewEncapsulation.None,\r\n})\r\nexport class ToastLoadingComponent implements OnInit {\r\n\t@Input() show = false;\r\n\t@Input() descripcion = 'Descargando archivo...';\r\n\r\n\tconstructor(private _toastLoadingService: ToastLoadingService) {\r\n\t\t// not implemented\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\t// not implemented\r\n\t}\r\n\r\n\tget showToast() {\r\n\t\treturn this._toastLoadingService.showToast;\r\n\t}\r\n}\r\n","<ngb-toast\r\n\tclass=\"toast-loading alert alert-info m-0 p-0\"\r\n\t[autohide]=\"false\"\r\n\t*ngIf=\"show\"\r\n\t(hide)=\"show = false\"\r\n>\r\n\t<div class=\"container-fluid px-0\">\r\n\t\t<div class=\"row align-items-center gx-2\">\r\n\t\t\t<div class=\"col d-flex align-items-center\">\r\n\t\t\t\t<span\r\n\t\t\t\t\tclass=\"spinner-border spinner-border-sm me-2 text-info\"\r\n\t\t\t\t></span>\r\n\t\t\t\t<span class=\"text-info\">{{ descripcion }}</span>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"col-auto\">\r\n\t\t\t\t<!-- <button\r\n\t\t\t\t\tclass=\"btn btn-icon btn-outline-secondary\"\r\n\t\t\t\t\tngbTooltip=\"Cancelar\"\r\n\t\t\t\t\tplacement=\"bottom\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<span class=\"feather icon-x\"></span>\r\n\t\t\t\t</button> -->\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</ngb-toast>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport {DocumentoTabla} from '../nsrtm-dialog-upload-files.utils'\r\nimport { Subject } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-nsrtm-grupo-botones-documento',\r\n templateUrl: './nsrtm-grupo-botones-documento.component.html',\r\n styleUrls: ['./nsrtm-grupo-botones-documento.component.css']\r\n})\r\nexport class NsrtmGrupoBotonesDocumentoComponent implements OnInit {\r\n\r\n @Input()\r\n\tshowAgregar?: boolean;\r\n\t@Input()\r\n\tshowAnular?: boolean;\r\n\r\n\t@Input()\r\n\titemSeleccionado?: DocumentoTabla;\r\n\t@Output()\r\n\tcrear = new EventEmitter<File>();\r\n\r\n\t@Output()\r\n\tver = new EventEmitter<DocumentoTabla>();\r\n\r\n\t@Output()\r\n\tdescargar = new EventEmitter<DocumentoTabla>();\r\n\r\n\t@Output()\r\n\tanular = new EventEmitter<DocumentoTabla>();\r\n\r\n\tonDestroy$ = new Subject<boolean>();\r\n\r\n\tshowToast = false;\r\n\r\n\tconstructor() {}\r\n\r\n\tngOnInit() {}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.onDestroy$.next(true);\r\n\t\tthis.onDestroy$.complete();\r\n\t}\r\n\r\n\tonVer(item?: DocumentoTabla) {\r\n\t\tif (item) this.ver.emit(item);\r\n\t}\r\n\r\n\tonDescargar(item?: DocumentoTabla) {\r\n\t\tif (item) this.descargar.emit(item);\r\n\t}\r\n\r\n\tonAnular(item?: DocumentoTabla) {\r\n\t\tif (item) this.anular.emit(item);\r\n\t}\r\n\r\n\tonFileSelected(event: any) {\r\n\t\tconst file: File = event.target.files[0];\r\n\t\tif (file) this.crear.emit(file);\r\n\t}\r\n\r\n\tisDeshabilitado(item?: DocumentoTabla) {\r\n\t\tif (!item) return true;\r\n\r\n\t\tif (item.extension.toUpperCase() != 'PDF') return true;\r\n\t\treturn false;\r\n\t}\r\n\r\n}\r\n","<div class=\"d-flex gap-2\">\r\n\t<input\r\n\t\tstyle=\"display: none\"\r\n\t\ttype=\"file\"\r\n\t\tclass=\"file-input\"\r\n\t\t(change)=\"onFileSelected($event)\"\r\n\t\t#fileUpload\r\n\t/>\r\n\t<nsrtm-button\r\n\t\t*ngIf=\"showAgregar\"\r\n\t\tcolor=\"primary\"\r\n\t\tvariant=\"outlined\"\r\n\t\ticon=\"folder-plus\"\r\n\t\t[esIcono]=\"true\"\r\n\t\tplacement=\"bottom\"\r\n\t\tngbTooltip=\"Nuevo\"\r\n\t\t(click)=\"fileUpload.click()\"\r\n\t></nsrtm-button>\r\n\t<nsrtm-button\r\n\t\tcolor=\"secondary\"\r\n\t\tvariant=\"outlined\"\r\n\t\ticon=\"search\"\r\n\t\t[esIcono]=\"true\"\r\n\t\tplacement=\"bottom\"\r\n\t\tngbTooltip=\"Visualizar\"\r\n\t\t[disabled]=\"isDeshabilitado(itemSeleccionado)\"\r\n\t\t(click)=\"onVer(itemSeleccionado)\"\r\n\t>\r\n\t</nsrtm-button>\r\n\t<nsrtm-button\r\n\t\tcolor=\"secondary\"\r\n\t\tvariant=\"outlined\"\r\n\t\ticon=\"download\"\r\n\t\t[esIcono]=\"true\"\r\n\t\tplacement=\"bottom\"\r\n\t\tngbTooltip=\"Descargar\"\r\n\t\t[disabled]=\"!itemSeleccionado\"\r\n\t\t(click)=\"onDescargar(itemSeleccionado)\"\r\n\t>\r\n\t</nsrtm-button>\r\n\t<nsrtm-button\r\n\t\t*ngIf=\"showAnular\"\r\n\t\tcolor=\"secondary\"\r\n\t\tvariant=\"outlined\"\r\n\t\ticon=\"trash-2\"\r\n\t\t[esIcono]=\"true\"\r\n\t\tplacement=\"bottom\"\r\n\t\tngbTooltip=\"Anular documento\"\r\n\t\t[disabled]=\"!itemSeleccionado\"\r\n\t\t(click)=\"onAnular(itemSeleccionado)\"\r\n\t></nsrtm-button>\r\n</div>\r\n\r\n<toast-loading [show]=\"showToast\"></toast-loading>\r\n","/**\r\n * Componente mostrar contenido sin resultados, sin datos.\r\n * Utilizar principalmente cuando no se encontraros datos, cuando la lista esta vacia, etc.\r\n * @author jerson\r\n */\r\n\r\nimport { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n\tselector: 'nsrtm-no-results',\r\n\ttemplateUrl: './no-results.component.html',\r\n\tstyleUrls: ['./no-results.component.scss'],\r\n\tencapsulation: ViewEncapsulation.None,\r\n})\r\nexport class NoResultsComponent implements OnInit {\r\n\t@Input() message: string = 'No se encontraron resultados!';\r\n\r\n\tconstructor() {\r\n\t\t// method not implement\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\t// method not implement\r\n\t}\r\n}\r\n","<div class=\"no-results\">\r\n <div>\r\n <span class=\"no-results__icon feather icon-box\"></span>\r\n </div>\r\n <p class=\"no-results__text\">{{ message }}</p>\r\n</div>\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'nsrtm-loading',\r\n templateUrl: './loading.component.html',\r\n styleUrls: ['./loading.component.scss'],\r\n})\r\n/**\r\n * Clase del componente Modal componente.\r\n *\r\n * @class ModalComponent\r\n */\r\nexport class LoadingComponent {\r\n /**\r\n * Declaración de variables\r\n */\r\n @Input() message: string | undefined =\r\n 'Estamos cargando la información solicitada';\r\n}\r\n","<div class=\"w-100 text-center p-3\">\r\n <div class=\"lds-spinner\">\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n </div>\r\n <h6>\r\n Estamos cargando la información solicitada,\r\n <strong>espere por favor.</strong>\r\n </h6>\r\n</div>\r\n","import {\r\n\tComponent,\r\n\tOnChanges,\r\n\tOutput,\r\n\tInput,\r\n\tEventEmitter,\r\n\tChangeDetectionStrategy,\r\n\tSimpleChanges,\r\n} from '@angular/core';\r\n\r\nexport type IChangePaginate = {\r\n\tpage: number;\r\n\tpageSize: number;\r\n};\r\n\r\nexport const initialPagination: IChangePaginate = {\r\n\tpage: 1,\r\n\tpageSize: 10,\r\n};\r\n\r\n@Component({\r\n\tselector: 'table-footer-pagination',\r\n\ttemplateUrl: 'table-footer-pagination.component.html',\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class TableFooterPaginationComponent implements OnChanges {\r\n\t@Input() totalItems = 0;\r\n\t@Input() pageSize = initialPagination.pageSize;\r\n\t@Input() page = initialPagination.page;\r\n\t@Input() totalItemsPerPage = 0;\r\n\r\n\t@Output() changePaginate = new EventEmitter<IChangePaginate>();\r\n\r\n\tlocalPage = this.page;\r\n\tlocalPageSize = this.pageSize;\r\n\r\n\tpageSizes = [10, 25, 100];\r\n\tto = 1;\r\n\tfrom = this.pageSize;\r\n\r\n\tconstructor() {\r\n\t\t// not implements\r\n\t}\r\n\r\n\tngOnChanges(changes: SimpleChanges) {\r\n\t\tthis.calPaginationPerPage(this.localPage, this.localPageSize);\r\n\t}\r\n\r\n\tonChangePageSize(pageSize: number) {\r\n\t\tthis.localPageSize = pageSize;\r\n\t\tthis.calPaginationPerPage(this.localPage, pageSize);\r\n\t\tthis.changePaginate.emit({ page: this.localPage, pageSize });\r\n\t}\r\n\r\n\tonChangePaginate(page: number) {\r\n\t\tthis.localPage = page;\r\n\t\tthis.calPaginationPerPage(this.localPage, this.localPageSize);\r\n\t\tthis.changePaginate.emit({ page, pageSize: this.localPageSize });\r\n\t}\r\n\r\n\tprivate calPaginationPerPage(page: number, pageSize: number) {\r\n\t\tthis.to = pageSize * page - pageSize + 1;\r\n\t\tthis.from = pageSize * page - (pageSize - this.totalItemsPerPage);\r\n\t}\r\n}\r\n","<div class=\"table-footer border-top px-2\" [ngClass]=\"{ 'd-none': !totalItems }\">\r\n\t<div class=\"d-flex align-items-center\">\r\n\t\t<span class=\"label-regular me-2\">Filas</span>\r\n\t\t<select\r\n\t\t\tclass=\"form-control form-select\"\r\n\t\t\t[(ngModel)]=\"localPageSize\"\r\n\t\t\t(ngModelChange)=\"onChangePageSize($event)\"\r\n\t\t>\r\n\t\t\t<option *ngFor=\"let size of pageSizes\" [ngValue]=\"size\">\r\n\t\t\t\t{{ size }}\r\n\t\t\t</option>\r\n\t\t</select>\r\n\t</div>\r\n\t<div class=\"content-pagination\">\r\n\t\t<span class=\"label-regular\"\r\n\t\t\t>{{ to }} a {{ from }} de {{ totalItems }} registros</span\r\n\t\t>\r\n\t\t<ngb-pagination\r\n\t\t\t[maxSize]=\"3\"\r\n\t\t\t[rotate]=\"true\"\r\n\t\t\t[ellipses]=\"false\"\r\n\t\t\t[collectionSize]=\"totalItems\"\r\n\t\t\t[page]=\"localPage\"\r\n\t\t\t[pageSize]=\"localPageSize\"\r\n\t\t\t(pageChange)=\"onChangePaginate($event)\"\r\n\t\t>\r\n\t\t\t<ng-template ngbPaginationPrevious>\r\n\t\t\t\t<span class=\"feather icon-chevron-left\"></span>\r\n\t\t\t</ng-template>\r\n\t\t\t<ng-template ngbPaginationNext>\r\n\t\t\t\t<span class=\"feather icon-chevron-right\"></span>\r\n\t\t\t</ng-template>\r\n\t\t</ngb-pagination>\r\n\t</div>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport {DocumentoTabla} from '../nsrtm-dialog-upload-files.utils'\r\nimport {IChangePaginate} from '../../app/shared/table-footer-pagination/table-footer-pagination.component'\r\n\r\n@Component({\r\n selector: 'app-nsrtm-tabla-documento',\r\n templateUrl: './nsrtm-tabla-documento.component.html',\r\n styleUrls: ['./nsrtm-tabla-documento.component.css']\r\n})\r\nexport class NsrtmTablaDocumentoComponent {\r\n\r\n @Input()\r\n\tdatasource: DocumentoTabla[] = [];\r\n\r\n\t@Input()\r\n\tloading = false;\r\n\r\n\t@Input()\r\n\ttotalItems = 0;\r\n\r\n\t@Input()\r\n\tpage = 1;\r\n\r\n\t@Input()\r\n\tpageSize = 10;\r\n\r\n\t@Input()\r\n\tfilaSeleccionada?: DocumentoTabla;\r\n\r\n\t@Output()\r\n\tseleccionar = new EventEmitter<DocumentoTabla>();\r\n\r\n\t@Output()\r\n\tpaginar = new EventEmitter<IChangePaginate>();\r\n\r\n\t@Output()\r\n\tsetFolio = new EventEmitter<DocumentoTabla>();\r\n\r\n\tonSeleccionarFila(fila: DocumentoTabla) {\r\n\t\tthis.seleccionar.emit(fila);\r\n\t}\r\n\r\n\tonChangePaginate(event: IChangePaginate) {\r\n\t\tif (!this.totalItems) return;\r\n\r\n\t\tconst { page, pageSize } = event;\r\n\r\n\t\t// hack para evitar lanzar el request cuando la página es > 1 y se cambia de pageSize\r\n\t\t// solo aplicado cuando la pagination es desde backend\r\n\t\tif (pageSize !== this.pageSize && page > 1) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.paginar.emit(event);\r\n\t}\r\n\r\n\tget itemId() {\r\n\t\treturn Number(this.filaSeleccionada?.index ?? 0);\r\n\t}\r\n\r\n\tgetKiloBytes(tamanio: number) {\r\n\t\treturn (Number(tamanio) / 1024 / 1024).toFixed(3);\r\n\t}\r\n\r\n\tchange(item: DocumentoTabla, event: any) {\r\n\t\titem.folio = event.target.value;\r\n\t\tthis.setFolio.emit(item);\r\n\t}\r\n\r\n}\r\n","<div\r\n\tclass=\"table-responsive\"\r\n\t[ngClass]=\"{\r\n\t\t'table-sticky table-sticky--height': datasource.length > 10\r\n\t}\"\r\n>\r\n\t<table class=\"table tbl-grid m-0 head-no-rounded\">\r\n\t\t<caption class=\"d-none\">\r\n\t\t\tTabla Registros Vehicular Activos\r\n\t\t</caption>\r\n\t\t<thead>\r\n\t\t\t<tr>\r\n\t\t\t\t<th scope=\"col\" class=\"text-center min-w-60px w-80px\">ITEM</th>\r\n\t\t\t\t<th scope=\"col\" class=\"text-center\">NOMBRE DEL ARCHIVO</th>\r\n\t\t\t\t<th scope=\"col\" class=\"text-center\">FECHA</th>\r\n\t\t\t\t<th scope=\"col\" class=\"text-center\">TAMAÑO(Mb)</th>\r\n\t\t\t\t<th scope=\"col\" class=\"text-center\">FOLIO</th>\r\n\t\t\t</tr>\r\n\t\t</thead>\r\n\t\t<tbody *ngIf=\"!loading\">\r\n\t\t\t<tr\r\n\t\t\t\t*ngFor=\"let item of datasource; index as i\"\r\n\t\t\t\t[class]=\"'c-pointer tbl-row tbl-row-' + i\"\r\n\t\t\t\t[ngClass]=\"{\r\n\t\t\t\t\tactive: item.index === itemId\r\n\t\t\t\t}\"\r\n\t\t\t\t(click)=\"onSeleccionarFila(item)\"\r\n\t\t\t>\r\n\t\t\t\t<td class=\"text-center\">{{ item.index }}</td>\r\n\t\t\t\t<td class=\"text-center\">{{ item.nombre }}</td>\r\n\t\t\t\t<td class=\"text-center\">{{ item.fechaUpload }}</td>\r\n\t\t\t\t<td class=\"text-center\">\r\n\t\t\t\t\t{{ getKiloBytes(item.tamanio) }}\r\n\t\t\t\t</td>\r\n\t\t\t\t<td class=\"text-center col-md-2\">\r\n\t\t\t\t\t<input\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\tmaxlength=\"10\"\r\n\t\t\t\t\t\t[value]=\"item.folio ? item.folio : ''\"\r\n\t\t\t\t\t\t[disabled]=\"item.laserficheId ? true : false\"\r\n\t\t\t\t\t\t(change)=\"change(item, $event)\"\r\n\t\t\t\t\t\tdigitOnly\r\n\t\t\t\t\t/>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t</tbody>\r\n\t</table>\r\n\r\n\t<ng-container *ngIf=\"!loading && !totalItems\">\r\n\t\t<nsrtm-no-results></nsrtm-no-results>\r\n\t</ng-container>\r\n\r\n\t<ng-container *ngIf=\"loading\">\r\n\t\t<nsrtm-loading></nsrtm-loading>\r\n\t</ng-container>\r\n</div>\r\n<!-- PAGINATE -->\r\n<table-footer-pagination\r\n\t[totalItems]=\"totalItems\"\r\n\t[totalItemsPerPage]=\"datasource.length\"\r\n\t(changePaginate)=\"onChangePaginate($event)\"\r\n\t[page]=\"page\"\r\n\t[pageSize]=\"pageSize\"\r\n></table-footer-pagination>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { AbstractControl, FormBuilder, FormGroup } from '@angular/forms';\r\nimport { NgbActiveModal, NgbDate, NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AlertService } from '../app/shared/alert/alert.service';\r\nimport { ValidationFormService } from '../app/core/services/validation-form.service';\r\nimport {DialogConfirmService} from '../app/shared/dialog-confirm/dialog-confirm.service';\r\nimport {SpinnerService} from '../app/shared/spinner/spinner.service';\r\nimport {ComunesRegistroControllerService} from '../app/api/comunes-registro/services';\r\nimport {ParametroComunControllerService} from '../app/api/parametro-comun/services';\r\nimport {GestionArchivoControllerService} from '../app/api/gestionarchivo/services';\r\nimport {DocumentoTipoProjection} from '../app/api/comunes-registro/models'\r\nimport {CustomPageDatosArchivoProjection,DatosArchivoProjection} from '../app/api/gestionarchivo/models'\r\nimport {IChangePaginate} from '../app/shared/table-footer-pagination/table-footer-pagination.component'\r\nimport {parseStringDateFormatUser} from '../app/utils/calendar'\r\nimport {NsrtmDialogVisorDocumentoComponent} from './nsrtm-dialog-visor-documento/nsrtm-dialog-visor-documento.component'\r\nimport {\r\n\tDocSustentoModel,\r\n\tDocumentoTabla,\r\n\tMEGA_BYTES,\r\n\tPESO_MAXIMO_ARCHIVO_MODULO_ID,\r\n\tPESO_MAXIMO_TIPO_PARAMETRO_ID,\r\n\tPROCESO_MODULO_ID,\r\n\tTIPO_ARCHIVO_ID,\r\n} from './nsrtm-dialog-upload-files.utils';\r\nimport {\r\n\tBehaviorSubject,\r\n\tSubject,\r\n\tSubscription,\r\n\tfinalize,\r\n\ttakeUntil,\r\n} from 'rxjs';\r\n\r\ntype IQueryFilter = {} & {\r\n\tpage: number;\r\n\tpageSize?: number;\r\n};\r\n\r\n@Component({\r\n selector: 'app-nsrtm-dialog-upload-files',\r\n templateUrl: './nsrtm-dialog-upload-files.component.html',\r\n styleUrls: ['./nsrtm-dialog-upload-files.component.css']\r\n})\r\nexport class NsrtmDialogUploadFilesComponent implements OnInit {\r\n\r\n @Input()\r\n\tdirectorioId!: number;\r\n\r\n\t@Input()\r\n\ttipoProcesoId!: number;\r\n\r\n\t@Input()\r\n\tprocesoModuloId!: number;\r\n\r\n\t@Input()\r\n\taplicacionId!: number;\r\n\r\n\t@Input()\r\n\tmedioDigitalParametroId!: number;\r\n\r\n\t@Input()\r\n\tversion!: number;\r\n\r\n\t@Input()\r\n\tidDj!: number;\r\n\r\n\t@Input()\r\n\tcontribuyenteNumero!: number;\r\n\r\n\t@Input()\r\n\tcondicionContribuyenteId!: number;\r\n\r\n\t@Input()\r\n\ttipoArchivoDigitalId!: number;\r\n\r\n\t@Input()\r\n\tlistaIdDocSustento!: number[];\r\n\r\n\t@Input()\r\n\tshowAgregar: boolean = true;\r\n\r\n\t@Input()\r\n\tshowAnular: boolean = true;\r\n\r\n\tidMedioDigital: number = 0;\r\n\tpesoMaximoArchivo: number = 0;\r\n\tlistaDocSustento: DocSustentoModel[] = [];\r\n\tdatasourceDocumentos: DocumentoTabla[] = [];\r\n\tdocumentoSeleccionado?: DocumentoTabla;\r\n\ttotalItems = 0;\r\n\tprivate _queryFilter = new BehaviorSubject<IQueryFilter | null>(null);\r\n\r\n\tsubmitted = false;\r\n\tloading = false;\r\n\r\n\trefSub!: Subscription;\r\n\r\n\tformulario!: FormGroup;\r\n\r\n\tonDestroy$ = new Subject<boolean>();\r\n\r\n constructor(\r\n private _fb: FormBuilder,\r\n\t\tprivate _alertService: AlertService,\r\n\t\tprivate _modalService: NgbModal,\r\n\t\tpublic _activeModal: NgbActiveModal,\r\n\t\tprivate _validationFormService: ValidationFormService,\r\n\t\tprivate _dialogConfirm: DialogConfirmService,\r\n\t\tprivate spinner: SpinnerService,\r\n\t\tprivate comunesRegistroController: ComunesRegistroControllerService,\r\n\t\tprivate parametroController: ParametroComunControllerService,\r\n\t\tprivate _gestionArchivoControllerService: GestionArchivoControllerService\r\n ) { }\r\n\r\n ngOnInit() {\r\n\t\tlocalStorage.setItem(\"LIBRERIA\",\"1\");\r\n\t\tthis.obtenerPesoMaximoAnexo();\r\n\t\tthis.obtenerParametroMedioDigital();\r\n\t\tthis.obtenerDocSustento();\r\n\t\tthis._crearFormulario();\r\n\t\tthis.docSustento?.setValue(this.listaIdDocSustento);\r\n\t\tthis._queryFilter.subscribe((query: any) => {\r\n\t\t\t//if (query) this._obtenerBusqueda(query);\r\n\t\t});\r\n\t\t\r\n\t}\r\n\r\n\tobtenerDocSustento() {\r\n\t\tthis.comunesRegistroController\r\n\t\t\t.listarDocSustentoTipo({\r\n\t\t\t\tarr_tip_doc_sustento_id: this.listaIdDocSustento.toString(),\r\n\t\t\t})\r\n\t\t\t.pipe(takeUntil(this.onDestroy$))\r\n\t\t\t.subscribe({\r\n\t\t\t\tnext: (response: Array<DocumentoTipoProjection>) => {\r\n\t\t\t\t\tif (response) {\r\n\t\t\t\t\t\tthis.listaDocSustento = response;\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t}\r\n\r\n\tobtenerParametroMedioDigital() {\r\n\t\tthis.spinner.show();\r\n\t\tthis.parametroController\r\n\t\t\t.consultar({\r\n\t\t\t\taplicacionId: this.aplicacionId,\r\n\t\t\t\tparametroId: this.medioDigitalParametroId,\r\n\t\t\t})\r\n\t\t\t.pipe(\r\n\t\t\t\ttakeUntil(this.onDestroy$),\r\n\t\t\t\tfinalize(() => this.spinner.hide())\r\n\t\t\t)\r\n\t\t\t.subscribe({\r\n\t\t\t\tnext: (response: any) => {\r\n\t\t\t\t\tif (response && response?.data) {\r\n\t\t\t\t\t\tthis.idMedioDigital = response.data?.valorNumerico;\r\n\t\t\t\t\t\tthis.obtenerDocsLaserfiche();\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t}\r\n\r\n\tobtenerPesoMaximoAnexo() {\r\n\t\tthis.spinner.show();\r\n\t\tthis.parametroController\r\n\t\t\t.consultarParametroGlobal({\r\n\t\t\t\tmoduloId: PESO_MAXIMO_ARCHIVO_MODULO_ID,\r\n\t\t\t\ttipoParametroId: PESO_MAXIMO_TIPO_PARAMETRO_ID,\r\n\t\t\t})\r\n\t\t\t.pipe(\r\n\t\t\t\ttakeUntil(this.onDestroy$),\r\n\t\t\t\tfinalize(() => this.spinner.hide())\r\n\t\t\t)\r\n\t\t\t.subscribe({\r\n\t\t\t\tnext: (response: any) => {\r\n\t\t\t\t\tif (response && response?.data) {\r\n\t\t\t\t\t\tthis.pesoMaximoArchivo = response.data?.valorNumerico;\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t}\r\n\r\n\tsetFolio(item: DocumentoTabla) {\r\n\t\tthis.datasourceDocumentos[item.index - 1] = item;\r\n\t}\r\n\tobtenerDocsLaserfiche() {\r\n\t\tthis.datasourceDocumentos = [];\r\n\t\tthis._gestionArchivoControllerService\r\n\t\t\t.listarArchivos({\r\n\t\t\t\tnumero_dec_liq: this.idDj,\r\n\t\t\t\tmedio_digital_id: this.idMedioDigital,\r\n\t\t\t\tprocesoModuloId: this.procesoModuloId,\r\n\t\t\t\tanio: Number(new Date().getFullYear()),\r\n\t\t\t\tcampo2:\r\n\t\t\t\t\tthis.procesoModuloId == PROCESO_MODULO_ID.DJ_CONDICION\r\n\t\t\t\t\t\t? this.contribuyenteNumero.toString()\r\n\t\t\t\t\t\t: '',\r\n\t\t\t\tcampo3:\r\n\t\t\t\t\tthis.procesoModuloId == PROCESO_MODULO_ID.DJ_CONDICION\r\n\t\t\t\t\t\t? this.condicionContribuyenteId.toString()\r\n\t\t\t\t\t\t: '',\r\n\t\t\t})\r\n\t\t\t.pipe(takeUntil(this.onDestroy$))\r\n\t\t\t.subscribe({\r\n\t\t\t\tnext: (response: CustomPageDatosArchivoProjection) => {\r\n\t\t\t\t\tresponse.data?.forEach((it: DatosArchivoProjection) => {\r\n\t\t\t\t\t\tconst extension = it.nombreOriginal?.split('.').pop();\r\n\t\t\t\t\t\tconst anio = Number(it.fecha?.split('/').pop());\r\n\r\n\t\t\t\t\t\tthis.datasourceDocumentos.push({\r\n\t\t\t\t\t\t\tindex: this.datasourceDocumentos.length + 1,\r\n\t\t\t\t\t\t\tlaserficheId: it.archivoId,\r\n\t\t\t\t\t\t\tnombre: it.nombreOriginal ? it.nombreOriginal : '',\r\n\t\t\t\t\t\t\tfechaUpload: it.fecha ? it.fecha : '',\r\n\t\t\t\t\t\t\ttamanio: it.pesoArchivo ? it.pesoArchivo : 0,\r\n\t\t\t\t\t\t\tanioUpload: anio ? anio : 0,\r\n\t\t\t\t\t\t\textension: extension ? extension : 'S/E',\r\n\t\t\t\t\t\t\tfolio: it.folio,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.totalItems = this.datasourceDocumentos.length;\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t}\r\n\r\n\tprivate _crearFormulario() {\r\n\t\tthis.formulario = this._fb.group({\r\n\t\t\tdocSustento: [null],\r\n\t\t});\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis.refSub?.unsubscribe();\r\n\t}\r\n\r\n\tonSubmit() {\r\n\t\tthis.submitted = true;\r\n\t\tconst data = this.datasourceDocumentos.filter(\r\n\t\t\t(it: DocumentoTabla) => !it.laserficheId\r\n\t\t);\r\n\r\n\t\tconst docsSinFolios = this.datasourceDocumentos.filter(\r\n\t\t\t(it: DocumentoTabla) => it.folio == null || it.folio == undefined\r\n\t\t);\r\n\r\n\t\tif (!data.length) {\r\n\t\t\tthis._alertService.error('Debe anexar al menos un nuevo documento.');\r\n\t\t} else {\r\n\t\t\tif (docsSinFolios.length) {\r\n\t\t\t\tthis._alertService.error('Debe ingresar el número de folios.');\r\n\t\t\t} else this.guardarDocumentosAplicacion();\r\n\t\t}\r\n\t}\r\n\r\n\tguardarDocumentosAplicacion() {\r\n\t\tthis.loading;\r\n\t\tlet request: any[] = [];\r\n\t\tlet listFiles: File[] = [];\r\n\t\tthis.datasourceDocumentos.forEach((it: DocumentoTabla) => {\r\n\t\t\tif (!it.laserficheId) {\r\n\t\t\t\tconst tipoArchivo = TIPO_ARCHIVO_ID.find(\r\n\t\t\t\t\t(tipo) => tipo.key == it.extension\r\n\t\t\t\t);\r\n\t\t\t\trequest.push({\r\n\t\t\t\t\tanio: it.anioUpload,\r\n\t\t\t\t\tdirectorioId: this.directorioId,\r\n\t\t\t\t\ttipoProcesoId: this.tipoProcesoId,\r\n\t\t\t\t\tprocesoModuloId: this.procesoModuloId,\r\n\t\t\t\t\ttipoArchivoId: tipoArchivo?.value,\r\n\t\t\t\t\tversion: this.version,\r\n\t\t\t\t\tfolio: it.folio,\r\n\t\t\t\t\tidDJ: this.idDj,\r\n\t\t\t\t\tmedioDigitalId: this.idMedioDigital,\r\n\t\t\t\t\ttipoArchivoDigitalId: this.tipoArchivoDigitalId,\r\n\t\t\t\t\tcampo2:\r\n\t\t\t\t\t\tthis.procesoModuloId == PROCESO_MODULO_ID.DJ_CONDICION\r\n\t\t\t\t\t\t\t? this.contribuyenteNumero\r\n\t\t\t\t\t\t\t: null,\r\n\t\t\t\t\tcampo3:\r\n\t\t\t\t\t\tthis.procesoModuloId == PROCESO_MODULO_ID.DJ_CONDICION\r\n\t\t\t\t\t\t\t? this.condicionContribuyenteId\r\n\t\t\t\t\t\t\t: null,\r\n\t\t\t\t});\r\n\t\t\t\tif (it.file) listFiles.push(it.file);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis.spinner.show();\r\n\t\tthis._gestionArchivoControllerService\r\n\t\t\t.cargarArchivosMasivo({\r\n\t\t\t\tbody: {\r\n\t\t\t\t\trequest: JSON.stringify(request),\r\n\t\t\t\t\tfiles: listFiles,\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t\t.pipe(\r\n\t\t\t\tfinalize(() => this.spinner.hide()),\r\n\t\t\t\ttakeUntil(this.onDestroy$)\r\n\t\t\t)\r\n\t\t\t.subscribe({\r\n\t\t\t\tnext: (response: any) => {\r\n\t\t\t\t\tthis.close(this.datasourceDocumentos);\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t}\r\n\r\n\tclose(response?: any) {\r\n\t\tthis._activeModal.close(response);\r\n\t}\r\n\r\n\tesControlInvalido(input?: AbstractControl | null) {\r\n\t\treturn (\r\n\t\t\tinput &&\r\n\t\t\tthis._validationFormService.isControlInvalid(input, this.submitted)\r\n\t\t);\r\n\t}\r\n\r\n\tonSeleccionarDocumento(documento: DocumentoTabla) {\r\n\t\tthis.documentoSeleccionado = documento;\r\n\t}\r\n\r\n\tonChangePaginacion(event: IChangePaginate) {\r\n\t\tconst merge = {\r\n\t\t\t//...this.actualFiltro,\r\n\t\t\tpage: event.page,\r\n\t\t\tpageSize: event.pageSize,\r\n\t\t};\r\n\r\n\t\tthis._queryFilter.next(merge);\r\n\r\n\t\tthis.limpiarItemSeleccionado();\r\n\t}\r\n\r\n\tprivate limpiarItemSeleccionado() {\r\n\t\tthis.documentoSeleccionado = undefined;\r\n\t}\r\n\r\n\tonCrearDocumento(file: File) {\r\n\t\tconst extension = file.name.split('.').pop()?.toUpperCase();\r\n\t\tconst tipoArchivo = TIPO_ARCHIVO_ID.find((tipo) => tipo.key == extension);\r\n\r\n\t\tif (!tipoArchivo) {\r\n\t\t\tthis._alertService.error(\r\n\t\t\t\t'Solo se puede anexar archivos con extension PDF, DOCX, DOC, XLSX, XLS, JPEG, ZIP, RAR o JPG.'\r\n\t\t\t);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (file.size > this.pesoMaximoArchivo * MEGA_BYTES) {\r\n\t\t\tthis._alertService.error(\r\n\t\t\t\t'Solo se puede anexar archivos con peso máximo a ' +\r\n\t\t\t\t\tthis.pesoMaximoArchivo +\r\n\t\t\t\t\t'Mb.'\r\n\t\t\t);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst reader = new FileReader();\r\n\t\treader.onload = () => {\r\n\t\t\tif (reader.result) {\r\n\t\t\t\tvar blob = new Blob([reader.result]);\r\n\t\t\t\tconst date: Date = new Date();\r\n\t\t\t\tlet doc: DocumentoTabla = {\r\n\t\t\t\t\tindex: this.datasourceDocumentos.length + 1,\r\n\t\t\t\t\tnombre: file.name,\r\n\t\t\t\t\tcontenido: blob,\r\n\t\t\t\t\tfechaUpload: parseStringDateFormatUser(\r\n\t\t\t\t\t\tnew NgbDate(\r\n\t\t\t\t\t\t\tdate.getFullYear(),\r\n\t\t\t\t\t\t\tdate.getMonth(),\r\n\t\t\t\t\t\t\tdate.getDay()\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t),\r\n\t\t\t\t\tanioUpload: date.getFullYear(),\r\n\t\t\t\t\ttamanio: file.size,\r\n\t\t\t\t\textension: extension ? extension.toUpperCase() : 'S/E',\r\n\t\t\t\t\tfile: file,\r\n\t\t\t\t};\r\n\t\t\t\tthis.datasourceDocumentos.push(doc);\r\n\t\t\t\tthis.totalItems = this.datasourceDocumentos.length;\r\n\t\t\t}\r\n\t\t};\r\n\t\tif (file) {\r\n\t\t\treader.readAsArrayBuffer(file);\r\n\t\t}\r\n\t}\r\n\r\n\tonDescargarDocumento(documento: DocumentoTabla) {\r\n\t\tif (!documento.laserficheId) {\r\n\t\t\tthis.descargarDocumentoMemoria(documento);\r\n\t\t} else {\r\n\t\t\tthis.descargarDocumentoLaserfiche(documento);\r\n\t\t}\r\n\t}\r\n\r\n\tdescargarDocumentoMemoria(documento: DocumentoTabla) {\r\n\t\tvar blob = documento.contenido;\r\n\t\tif (blob) {\r\n\t\t\tconst a = document.createElement('a');\r\n\t\t\tconst objectUrl = URL.createObjectURL(blob);\r\n\t\t\ta.href = objectUrl;\r\n\t\t\ta.download = documento.nombre ? documento.nombre : '';\r\n\t\t\ta.click();\r\n\t\t\tURL.revokeObjectURL(objectUrl);\r\n\t\t}\r\n\t}\r\n\r\n\tdescargarDocumentoLaserfiche(documento: DocumentoTabla) {\r\n\t\tthis._gestionArchivoControllerService\r\n\t\t\t.obtenerContenidoArchivoPorId({\r\n\t\t\t\tid_archivo: Number(documento.laserficheId),\r\n\t\t\t\tanio: documento.anioUpload,\r\n\t\t\t})\r\n\t\t\t.pipe(takeUntil(this.onDestroy$))\r\n\t\t\t.subscribe({\r\n\t\t\t\tnext: (response: Blob) => {\r\n\t\t\t\t\tif (response) {\r\n\t\t\t\t\t\tconst a = document.createElement('a');\r\n\t\t\t\t\t\tconst objectUrl = URL.createObjectURL(response);\r\n\t\t\t\t\t\ta.href = objectUrl;\r\n\t\t\t\t\t\ta.download = documento.nombre ? documento.nombre : '';\r\n\t\t\t\t\t\ta.click();\r\n\t\t\t\t\t\tURL.revokeObjectURL(objectUrl);\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t}\r\n\r\n\tonVerDocumento(documento: DocumentoTabla) {\r\n\t\tif (!documento.laserficheId) {\r\n\t\t\tthis.verDocumentoMemoria(documento);\r\n\t\t} else {\r\n\t\t\tthis.verDocumentoLaserfiche(documento);\r\n\t\t}\r\n\t}\r\n\r\n\tverDocumentoMemoria(documento: DocumentoTabla) {\r\n\t\tvar blob = documento.contenido;\r\n\t\tif (blob) {\r\n\t\t\tconst modalRef = this._modalService.open(\r\n\t\t\t\tNsrtmDialogVisorDocumentoComponent,\r\n\t\t\t\t{\r\n\t\t\t\t\tcentered: true,\r\n\t\t\t\t\tbackdrop: 'static',\r\n\t\t\t\t\tkeyboard: false,\r\n\t\t\t\t\tfullscreen: true,\r\n\t\t\t\t\tscrollable: true,\r\n\t\t\t\t\tsize: 'xl',\r\n\t\t\t\t}\r\n\t\t\t);\r\n\r\n\t\t\tmodalRef.componentInstance.contenido = blob;\r\n\t\t\tmodalRef.componentInstance.extension = documento.extension;\r\n\r\n\t\t\tmodalRef.closed.subscribe({\r\n\t\t\t\tnext: (response) => {\r\n\t\t\t\t\tif (response) {\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\terror: (error) => {\r\n\t\t\t\t\tthis._alertService.error(error.message);\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tverDocumentoLaserfiche(documento: DocumentoTabla) {\r\n\t\tthis._gestionArchivoControllerService\r\n\t\t\t.obtenerContenidoArchivoPorId({\r\n\t\t\t\tid_archivo: Number(documento.laserficheId),\r\n\t\t\t\tanio: documento.anioUpload,\r\n\t\t\t})\r\n\t\t\t.pipe(takeUntil(this.onDestroy$))\r\n\t\t\t.subscribe({\r\n\t\t\t\tnext: (response: Blob) => {\r\n\t\t\t\t\tif (response) {\r\n\t\t\t\t\t\tconst modalRef = this._modalService.open(\r\n\t\t\t\t\t\t\tNsrtmDialogVisorDocumentoComponent,\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tcentered: true,\r\n\t\t\t\t\t\t\t\tbackdrop: 'static',\r\n\t\t\t\t\t\t\t\tkeyboard: false,\r\n\t\t\t\t\t\t\t\tsize: 'lg',\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t);\r\n\r\n\t\t\t\t\t\tmodalRef.componentInstance.contenido = response;\r\n\t\t\t\t\t\tmodalRef.componentInstance.extension = documento.extension;\r\n\r\n\t\t\t\t\t\tmodalRef.closed.subscribe({\r\n\t\t\t\t\t\t\tnext: (response) => {\r\n\t\t\t\t\t\t\t\tif (response) {\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\terror: (error) => {\r\n\t\t\t\t\t\t\t\tthis._alertService.error(error.message);\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t}\r\n\r\n\tonAnularDocumento(documento: DocumentoTabla) {\r\n\t\tthis._dialogConfirm\r\n\t\t\t.confirm({\r\n\t\t\t\ttitle: '¿Cancelar el documento anexo?',\r\n\t\t\t\tmessage: '',\r\n\t\t\t})\r\n\t\t\t.closed.subscribe({\r\n\t\t\t\tnext: (response) => {\r\n\t\t\t\t\tif (response) {\r\n\t\t\t\t\t\tif (!documento.laserficheId) {\r\n\t\t\t\t\t\t\tthis.anularDocumentoMemoria(documento);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tthis.anularDocumentoLaserfiche(documento);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t}\r\n\r\n\tanularDocumentoMemoria(documento: DocumentoTabla) {\r\n\t\tthis.datasourceDocumentos.splice(documento.index - 1, 1);\r\n\t\tthis.datasourceDocumentos.forEach((it, index) => {\r\n\t\t\tit.index = index + 1;\r\n\t\t});\r\n\t\tthis.documentoSeleccionado = undefined;\r\n\t}\r\n\r\n\tanularDocumentoLaserfiche(documento: DocumentoTabla) {\r\n\t\tthis._gestionArchivoControllerService\r\n\t\t\t.anularArchivo({\r\n\t\t\t\tarchivoId: Number(documento.laserficheId),\r\n\t\t\t\tanio: documento.anioUpload,\r\n\t\t\t})\r\n\t\t\t.pipe(takeUntil(this.onDestroy$))\r\n\t\t\t.subscribe({\r\n\t\t\t\tnext: (response: any) => {\r\n\t\t\t\t\tif (response) {\r\n\t\t\t\t\t\tthis._alertService.success(response.message);\r\n\t\t\t\t\t\tthis.obtenerDocsLaserfiche();\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t}\r\n\r\n\tget page() {\r\n\t\treturn this._queryFilter.value?.page;\r\n\t}\r\n\r\n\tget pageSize() {\r\n\t\treturn this._queryFilter.value?.pageSize;\r\n\t}\r\n\r\n\tget docSustento() {\r\n\t\treturn this.formulario.get('docSustento');\r\n\t}\r\n\r\n}\r\n","<div class=\"modal-header\">\r\n\t<h6 class=\"modal-title w-100\" id=\"title\">Documentoooos anexos</h6>\r\n\t<button\r\n\t\ttype=\"button\"\r\n\t\tclass=\"btn-close\"\r\n\t\taria-label=\"Close\"\r\n\t\t(click)=\"close()\"\r\n\t></button>\r\n</div>\r\n<div class=\"modal-body\">\r\n\t<div class=\"siaf-card shadow-none p-0\">\r\n\t\t<div class=\"container-fluid px-0\">\r\n\t\t\t<div class=\"row gx-3 align-items-baseline\"></div>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"siaf-card\">\r\n\t\t<div class=\"p-content d-flex justify-content-between align-items-center\">\r\n\t\t\t<span class=\"title-group-uppercase\">Listado de documentos anexos</span>\r\n\t\t\t<app-nsrtm-grupo-botones-documento\r\n\t\t\t\t[showAgregar]=\"showAgregar\"\r\n\t\t\t\t[showAnular]=\"showAnular\"\r\n\t\t\t\t[itemSeleccionado]=\"documentoSeleccionado\"\r\n\t\t\t\t(crear)=\"onCrearDocumento($event)\"\r\n\t\t\t\t(ver)=\"onVerDocumento($event)\"\r\n\t\t\t\t(descargar)=\"onDescargarDocumento($event)\"\r\n\t\t\t\t(anular)=\"onAnularDocumento($event)\"\r\n\t\t\t>\r\n\t\t\t</app-nsrtm-grupo-botones-documento>\r\n\t\t</div>\r\n\t\t<app-nsrtm-tabla-documento\r\n\t\t\t[datasource]=\"datasourceDocumentos\"\r\n\t\t\t[loading]=\"loading\"\r\n\t\t\t[totalItems]=\"totalItems\"\r\n\t\t\t[page]=\"page!\"\r\n\t\t\t[pageSize]=\"pageSize!\"\r\n\t\t\t[filaSeleccionada]=\"documentoSeleccionado\"\r\n\t\t\t(seleccionar)=\"onSeleccionarDocumento($event)\"\r\n\t\t\t(setFolio)=\"setFolio($event)\"\r\n\t\t\t(paginar)=\"onChangePaginacion($event)\"\r\n\t\t>\r\n\t\t</app-nsrtm-tabla-documento>\r\n\t</div>\r\n\t<br />\r\n\t<div class=\"siaf-card mt-1\">\r\n\t\t<form [formGroup]=\"formulario\" autocomplete=\"off\">\r\n\t\t\t<div class=\"container-fluid px-0\">\r\n\t\t\t\t<ng-container *ngIf=\"listaDocSustento.length > 0\">\r\n\t\t\t\t\t<div class=\"col-12 mb-1\">\r\n\t\t\t\t\t\t<span class=\"title-group-uppercase\"\r\n\t\t\t\t\t\t\t>DOCUMENTOS DE SUSTENTO</span\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"row gx-3 align-items-baseline\">\r\n\t\t\t\t\t\t<div class=\"col-12 col-sm-6 col-md-9\">\r\n\t\t\t\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t\t\t\t<label class=\"form-label\" for=\"docSustento\"\r\n\t\t\t\t\t\t\t\t\t>Documento(s) de sustento</label\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t<ng-select\r\n\t\t\t\t\t\t\t\t\tid=\"docSustento\"\r\n\t\t\t\t\t\t\t\t\tformControlName=\"docSustento\"\r\n\t\t\t\t\t\t\t\t\tbindValue=\"maestroId\"\r\n\t\t\t\t\t\t\t\t\tbindLabel=\"descripcion\"\r\n\t\t\t\t\t\t\t\t\t[searchable]=\"false\"\r\n\t\t\t\t\t\t\t\t\t[clearable]=\"false\"\r\n\t\t\t\t\t\t\t\t\t[multiple]=\"true\"\r\n\t\t\t\t\t\t\t\t\t[items]=\"listaDocSustento\"\r\n\t\t\t\t\t\t\t\t\t[closeOnSelect]=\"false\"\r\n\t\t\t\t\t\t\t\t\t[readonly]=\"true\"\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<ng-template\r\n\t\t\t\t\t\t\t\t\t\tng-option-tmp\r\n\t\t\t\t\t\t\t\t\t\tlet-item=\"item\"\r\n\t\t\t\t\t\t\t\t\t\tlet-item$=\"item$\"\r\n\t\t\t\t\t\t\t\t\t\tlet-index=\"index\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\t\t\t\tid=\"item-sustento-{{ index }}\"\r\n\t\t\t\t\t\t\t\t\t\t\ttype=\"checkbox\"\r\n\t\t\t\t\t\t\t\t\t\t\t[checked]=\"item$.selected\"\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"form-check-input\"\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t{{ item.descripcion }}\r\n\t\t\t\t\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t\t\t\t</ng-select>\r\n\t\t\t\t\t\t\t\t<val-errors controlName=\"docSustento\"></val-errors>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</div>\r\n\t\t</form>\r\n\t</div>\r\n</div>\r\n<div class=\"modal-footer\">\r\n\t<button\r\n\t\ttype=\"button\"\r\n\t\tclass=\"btn-cancel\"\r\n\t\tdata-dismiss=\"modal\"\r\n\t\t(click)=\"close()\"\r\n\t>\r\n\t\t<span class=\"feather icon-x me-1\"></span>\r\n\t\tCancelar\r\n\t</button>\r\n\t<button\r\n\t\ttype=\"button\"\r\n\t\tclass=\"btn btn-primary\"\r\n\t\t[disabled]=\"loading\"\r\n\t\tngbAutofocus\r\n\t\t(click)=\"onSubmit()\"\r\n\t>\r\n\t\t<span\r\n\t\t\tclass=\"feather icon-save me-1\"\r\n\t\t\t*ngIf=\"!loading; else iconLoading\"\r\n\t\t></span>\r\n\t\t<ng-template #iconLoading>\r\n\t\t\t<div class=\"spinner-border spinner-border-sm me-2\" role=\"status\"></div>\r\n\t\t</ng-template>\r\n\t\t{{ loading ? \"Grabando...\" : \"Grabar\" }}\r\n\t</button>\r\n</div>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n\tselector: 'app-nsrtm-loading',\r\n\ttemplateUrl: './nsrtm-loading.component.html',\r\n\tstyleUrls: ['./nsrtm-loading.component.scss'],\r\n})\r\n\r\n/**\r\n * Clase del componente Loading componente.\r\n *\r\n * @class LoadingComponent\r\n */\r\nexport class NsrtmLoadingComponent implements OnInit {\r\n\t/**\r\n\t * Declaración de variables\r\n\t */\r\n\t@Input() message: string | undefined =\r\n\t\t'Estamos cargando la información solicitada';\r\n\r\n\tconstructor() {\r\n\t\t// method not implement\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\t// method not implement\r\n\t}\r\n}\r\n","<div class=\"w-100 text-center p-3\">\r\n\t<div class=\"lds-spinner\">\r\n\t\t<div></div>\r\n\t\t<div></div>\r\n\t\t<div></div>\r\n\t\t<div></div>\r\n\t\t<div></div>\r\n\t\t<div></div>\r\n\t\t<div></div>\r\n\t\t<div></div>\r\n\t</div>\r\n\t<h6>\r\n\t\t<span>{{message}}</span>,<br/>\r\n\t\t<strong>espere por favor.</strong>\r\n\t</h6>\r\n</div>","import { Injectable } from '@angular/core';\r\nimport {\r\n\tHttpErrorResponse,\r\n\tHttpEvent,\r\n\tHttpHandler,\r\n\tHttpInterceptor,\r\n\tHttpRequest,\r\n} from '@angular/common/http';\r\nimport { Observable, from, of, throwError } from 'rxjs';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport {\r\n\tIHttpResponseError,\r\n\tTIPO_MENSAJE_ERR_VAL,\r\n} from '../models/error-detalle.model';\r\n\r\n// type ErrorHandle = {\r\n// \tstatus?: number;\r\n// \tmessage?: string;\r\n// };\r\n\r\nconst getStructError$ = (\r\n\thttpError: HttpErrorResponse\r\n): Observable<IHttpResponseError> => {\r\n\t//console.log('httpError', httpError);\r\n\tconst { error, status, message } = httpError;\r\n\r\n\tif (error instanceof Blob) {\r\n\t\treturn readBlobAsJson(error);\r\n\t}\r\n\r\n\tif (status > 500 || status < 400)\r\n\t\treturn of({\r\n\t\t\tmensaje: message,\r\n\t\t\terrores: [],\r\n\t\t\tcodigo: status.toString(),\r\n\t\t\ttipMen: TIPO_MENSAJE_ERR_VAL.DANGER,\r\n\t\t});\r\n\r\n\tif (status === 403) {\r\n\t\treturn of({\r\n\t\t\tmensaje: message,\r\n\t\t\terrores: [],\r\n\t\t\tcodigo: status.toString(),\r\n\t\t\ttipMen: TIPO_MENSAJE_ERR_VAL.DANGER,\r\n\t\t});\r\n\t}\r\n\r\n\tif (status === 500) {\r\n\t\treturn of({\r\n\t\t\tmensaje: error?.mensaje || message,\r\n\t\t\terrores: [],\r\n\t\t\tcodigo: status.toString(),\r\n\t\t\ttipMen: TIPO_MENSAJE_ERR_VAL.DANGER,\r\n\t\t});\r\n\t}\r\n\r\n\treturn of(error);\r\n};\r\n\r\nconst readBlobAsJson = (blob: Blob): Observable<IHttpResponseError> => {\r\n\treturn from(readBlobAsText(blob)).pipe(\r\n\t\tmap((jsonString) => JSON.parse(jsonString) as IHttpResponseError)\r\n\t);\r\n};\r\n\r\nconst readBlobAsText = (blob: Blob): Promise<string> => {\r\n\treturn new Promise((resolve, reject) => {\r\n\t\tconst reader = new FileReader();\r\n\r\n\t\treader.onload = () => {\r\n\t\t\tconst text = reader.result as string;\r\n\t\t\tresolve(text);\r\n\t\t};\r\n\r\n\t\treader.onerror = reject;\r\n\r\n\t\treader.readAsText(blob);\r\n\t});\r\n};\r\n\r\n@Injectable()\r\nexport class ErrorCatchingInterceptor implements HttpInterceptor {\r\n\tconstructor() {}\r\n\r\n\tintercept(\r\n\t\trequest: HttpRequest<unknown>,\r\n\t\tnext: HttpHandler\r\n\t): Observable<HttpEvent<any>> {\r\n\t\treturn next.handle(request).pipe(\r\n\t\t\tcatchError((httpError: HttpErrorResponse) => {\r\n\t\t\t\treturn getStructError$(httpError).pipe(\r\n\t\t\t\t\tswitchMap((error: IHttpResponseError) => {\r\n\t\t\t\t\t\treturn throwError(() => error);\r\n\t\t\t\t\t})\r\n\t\t\t\t);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nconst keyStorageTerminal = 'IPLOCAL-NSRTM';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class SessionTerminalService {\r\n\tconstructor() {\r\n\t\t// method not implemented\r\n\t}\r\n\r\n\tobtenerSesionTerminal(): string {\r\n\t\tconst sessionTerminal = window.localStorage.getItem(keyStorageTerminal);\r\n\r\n\t\tif (!sessionTerminal) return '0.0.0.0';\r\n\r\n\t\treturn sessionTerminal;\r\n\t}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n\tHttpInterceptor,\r\n\tHttpRequest,\r\n\tHttpHandler,\r\n\tHttpEvent,\r\n} from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { SessionTerminalService } from '../services/session-terminal.service';\r\n\r\n@Injectable()\r\nexport class AuthInterceptorService implements HttpInterceptor {\r\n\tconstructor(private sessionTerminal: SessionTerminalService) {}\r\n\r\n\tintercept(\r\n\t\treq: HttpRequest<any>,\r\n\t\tnext: HttpHandler\r\n\t): Observable<HttpEvent<any>> {\r\n\t\t//1.- obtener token\r\n\t\tconst token: string | null | undefined = localStorage\r\n\t\t\t.getItem('TKN-NSRTM')\r\n\t\t\t?.replace(/['\"]+/g, '');\r\n\r\n\t\t//2.- obtener ip\r\n\t\tconst auditoriaRequest = {\r\n\t\t\tterminal: this.sessionTerminal.obtenerSesionTerminal(),\r\n\t\t};\r\n\r\n\t\tlet request = req;\r\n\r\n\t\tif (token) {\r\n\t\t\trequest = req.clone({\r\n\t\t\t\tsetHeaders: {\r\n\t\t\t\t\tauthorization: `Bearer ${token}`,\r\n\t\t\t\t\t'client-nsrtm': JSON.stringify(auditoriaRequest),\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t}\r\n\t\treturn next.handle(request);\r\n\t}\r\n}\r\n","import { HTTP_INTERCEPTORS } from '@angular/common/http';\r\n\r\nimport { ErrorCatchingInterceptor } from './error.interceptor';\r\nimport { AuthInterceptorService } from './token.interceptor';\r\n\r\nexport const httpInterceptorProviders = [\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: ErrorCatchingInterceptor,\r\n multi: true,\r\n },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: AuthInterceptorService,\r\n multi: true,\r\n },\r\n];\r\n","import { NgModule, LOCALE_ID } from \"@angular/core\";\r\nimport { NsrtmGestionArchivoNpmComponent } from \"./nsrtm-gestion-archivo-npm.component\";\r\nimport { NgSelectModule } from \"@ng-select/ng-select\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { NsrtmDialogUploadFilesComponent } from \"../nsrtm-dialog-upload-files/nsrtm-dialog-upload-files.component\";\r\nimport {\r\n NgbPaginationModule,\r\n NgbToastModule,\r\n} from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { DigitOnlyModule } from \"@uiowa/digit-only\";\r\nimport { NgxMaskModule } from \"ngx-mask\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { ValdemortModule } from \"ngx-valdemort\";\r\nimport { NsrtmDialogVisorDocumentoComponent } from \"../nsrtm-dialog-upload-files/nsrtm-dialog-visor-documento/nsrtm-dialog-visor-documento.component\";\r\nimport { NsrtmGrupoBotonesDocumentoComponent } from \"../nsrtm-dialog-upload-files/nsrtm-grupo-botones-documento/nsrtm-grupo-botones-documento.component\";\r\nimport { NsrtmButtonComponent } from \"../app/shared/ui/nsrtm-button/nsrtm-button.component\";\r\nimport { ToastLoadingComponent } from \"../app/shared/toast-loading/toast-loading.component\";\r\nimport { NsrtmTablaDocumentoComponent } from \"../nsrtm-dialog-upload-files/nsrtm-tabla-documento/nsrtm-tabla-documento.component\";\r\nimport { NoResultsComponent } from \"../app/shared/no-results/no-results.component\";\r\nimport { NsrtmLoadingComponent } from \"../app/shared/nsrtm-loading/nsrtm-loading.component\";\r\nimport { LoadingComponent } from \"../app/shared/loading/loading.component\";\r\nimport { TableFooterPaginationComponent } from \"../app/shared/table-footer-pagination/table-footer-pagination.component\";\r\nimport { httpInterceptorProviders } from \"../app/core/interceptors\";\r\nimport { PdfViewerModule } from \"ng2-pdf-viewer\";\r\n\r\n@NgModule({\r\n declarations: [\r\n NsrtmGestionArchivoNpmComponent,\r\n NsrtmDialogUploadFilesComponent,\r\n NsrtmDialogVisorDocumentoComponent,\r\n NsrtmGrupoBotonesDocumentoComponent,\r\n NsrtmButtonComponent,\r\n ToastLoadingComponent,\r\n NsrtmTablaDocumentoComponent,\r\n NoResultsComponent,\r\n NsrtmLoadingComponent,\r\n LoadingComponent,\r\n TableFooterPaginationComponent,\r\n ],\r\n imports: [\r\n NgSelectModule,\r\n NgbPaginationModule,\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n DigitOnlyModule,\r\n NgxMaskModule.forRoot(),\r\n NgbToastModule,\r\n RouterModule,\r\n ValdemortModule,\r\n PdfViewerModule,\r\n ],\r\n exports: [\r\n NsrtmGestionArchivoNpmComponent,\r\n NsrtmDialogUploadFilesComponent,\r\n NsrtmGrupoBotonesDocumentoComponent,\r\n NsrtmButtonComponent,\r\n ToastLoadingComponent,\r\n NsrtmTablaDocumentoComponent,\r\n NoResultsComponent,\r\n NsrtmLoadingComponent,\r\n LoadingComponent,\r\n TableFooterPaginationComponent,\r\n ],\r\n providers: [\r\n httpInterceptorProviders,\r\n { provide: LOCALE_ID, useValue: \"es-PE\" },\r\n ],\r\n})\r\nexport class NsrtmGestionArchivoNpmModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NsrtmDialogUploadFilesComponent } from './nsrtm-dialog-upload-files.component';\r\nimport { IPropsUploadFiles } from './nsrtm-dialog-upload-files.utils';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class NsrtmDialogUploadFilesService {\r\n\tconstructor(private _modalService: NgbModal) {}\r\n\r\n\topenDialogUploadFiles(props: IPropsUploadFiles) {\r\n\t\tconst modalRef = this._modalService.open(NsrtmDialogUploadFilesComponent, {\r\n\t\t\tbackdrop: 'static',\r\n\t\t\tcentered: true,\r\n\t\t\tkeyboard: false,\r\n\t\t\tsize: 'lg',\r\n\t\t});\r\n\r\n\t\tmodalRef.componentInstance.directorioId = props.directorioId;\r\n\t\tmodalRef.componentInstance.tipoProcesoId = props.tipoProcesoId;\r\n\t\tmodalRef.componentInstance.procesoModuloId = props.procesoModuloId;\r\n\t\tmodalRef.componentInstance.aplicacionId = props.aplicacionId;\r\n\t\tmodalRef.componentInstance.medioDigitalParametroId =\r\n\t\t\tprops.medioDigitalParametroId;\r\n\t\tmodalRef.componentInstance.version = props.version;\r\n\t\tmodalRef.componentInstance.idDj = props.idDj;\r\n\r\n\t\tmodalRef.componentInstance.tipoArchivoDigitalId =\r\n\t\t\tprops.tipoArchivoDigitalId;\r\n\t\tmodalRef.componentInstance.listaIdDocSustento = props.listaIdDocSustento;\r\n\t\tmodalRef.componentInstance.contribuyenteNumero =\r\n\t\t\tprops.contribuyenteNumero;\r\n\t\tmodalRef.componentInstance.condicionContribuyenteId =\r\n\t\t\tprops.condicionContribuyenteId;\r\n\t\tmodalRef.componentInstance.showAgregar = props.showAgregar;\r\n\t\tmodalRef.componentInstance.showAnular = props.showAnular;\r\n\r\n\t\treturn modalRef.closed;\r\n\t}\r\n}\r\n","/*\r\n * Public API Surface of nsrtm-gestion-archivo-npm\r\n */\r\n\r\nexport * from \"./lib/nsrtm-gestion-archivo-npm.service\";\r\nexport * from \"./lib/nsrtm-gestion-archivo-npm.component\";\r\nexport * from \"./lib/nsrtm-gestion-archivo-npm.module\";\r\nexport * from \"./nsrtm-dialog-upload-files/nsrtm-dialog-upload-files.component.service\";\r\nexport * from \"./nsrtm-dialog-upload-files/nsrtm-dialog-upload-files.component\";\r\nexport * from \"./app/shared/loading/loading.component\";\r\nexport * from \"./app/shared/nsrtm-loading/nsrtm-loading.component\";\r\nexport * from \"./app/shared/no-results/no-results.component\";\r\nexport * from \"./nsrtm-dialog-upload-files/nsrtm-tabla-documento/nsrtm-tabla-documento.component\";\r\nexport * from \"./nsrtm-dialog-upload-files/nsrtm-grupo-botones-documento/nsrtm-grupo-botones-documento.component\";\r\nexport * from \"./app/shared/ui/nsrtm-button/nsrtm-button.component\";\r\nexport * from \"./app/shared/table-footer-pagination/table-footer-pagination.component\";\r\nexport * from \"./app/shared/toast-loading/toast-loading.component\";\r\nexport * from \"./nsrtm-dialog-upload-files/nsrtm-dialog-upload-files.utils\";\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.AlertService","ApiConfiguration","BaseService","i1.ApiConfiguration","i2","ParameterCodec","ParameterCodecInstance","Parameter","PathParameter","QueryParameter","HeaderParameter","RequestBuilder","i1","i1.ToastLoadingService","i3","i2.NsrtmButtonComponent","i3.ToastLoadingComponent","i3.NoResultsComponent","i4.LoadingComponent","i5.TableFooterPaginationComponent","i4.ValidationFormService","i5.DialogConfirmService","i6.SpinnerService","i7.ComunesRegistroControllerService","i8.ParametroComunControllerService","i9.GestionArchivoControllerService","i11","i13.NsrtmGrupoBotonesDocumentoComponent","i14.NsrtmTablaDocumentoComponent","i1.SessionTerminalService"],"mappings":"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"}