import { ArchivoLite, Archivos } from 'src/models';

export class ArchivosMapper {
  static toRaw(archivos: ArchivoLite[]): Partial<Archivos>[] {
    return archivos.map(
      (archivo) =>
        ({
          POSICION: archivo?.posicion || 0,
          FILETYPE: archivo?.tipo,
          ID_ARCHIVO: Number(archivo?.id),
          LOCATION: archivo?.location || '',
          FILENAME: archivo?.nombre || '',
          ID_TIPO_DOCUMENTO: Number(archivo?.id_tipo),
          DESCRIPCION: archivo?.descripcion || archivo?.tipo_documento?.nombre || '',
          OBSERVACION: archivo?.observacion || '',
          TAGS: archivo?.tags || '',
          CODIGO: archivo?.tipo_documento?.codigo || '',
          APROBADA: archivo?.aprobada,
          ESTADO: Number(archivo?.estado),
          FECHA_SUBIDA: archivo?.fecha_subida || new Date(),
          FECHA_APROBADO: archivo?.fecha_aprobado || new Date(),
          PUBLICO: archivo?.publico || false,
          PRINCIPAL: archivo?.principal || false,
          ID_CONTACTO: Number(archivo?.id_contacto),
          FIRMABLE: Boolean(archivo?.firmable),
          CONTACTO: {
            NOMBRE: archivo?.contacto?.nombre,
            APELLIDO: archivo?.contacto?.apellido,
            APELLIDO2: archivo?.contacto?.apellido2,
            NUMERO_DOC: archivo?.contacto?.identificacion,
          },
        } as Archivos)
    );
  }
}
