import { Archivos, ArchivosESTADO_APROBACION } from './captaciones';
import { ContactoLite } from './contacto';

export interface TipoDocumentoLite {
  id?: string; // 'ID_ARCHIVO'
  nombre?: string; // 'ID_ARCHIVO'
  codigo?: string;
  contacto?: ContactoLite;
}

export interface ArchivoLite {
  id?: string; // 'ID_ARCHIVO'
  aprobada: ArchivosESTADO_APROBACION; // 'APROBADA'
  id_producto: string; // 'ID_PRODUCTO'
  id_contacto: string; // 'ID_CONTACTO'
  id_tipo: string; // 'ID_TIPO_DOCUMENTO'
  id_ingreso: string; // 'ID_INGRESO'
  tags: string; // 'TAGS'
  location: string; // 'LOCATION'
  observacion: string; // 'OBSERVACION'
  fecha_subida: Date; // 'FECHA_SUBIDA'
  fecha_aprobado: Date; // 'FECHA_APROBADO'
  publico: boolean; // 'PUBLICO'
  principal: boolean; // 'PRINCIPAL'
  descripcion: string; // 'DESCRIPCION'
  nombre: string; // FILENAME
  estado: number; //ESTADO
  tipo_documento: TipoDocumentoLite;
  contacto?: ContactoLite;
  firmable?: boolean; // 'FIRMABLE'
  posicion?: number; // 'POSICION'
  tipo?: string;
}

export interface DialogDocumentRightSideBtn {
  name: string;
  icon?: string;
  tooltip?: string;
  half?: boolean;
  class?: string;
  size?: string;
  color?: string;
}

export interface DocumentActionBtn {
  label?: string;
  icon?: string;
  action: string;
  component?: string;
}

export enum IncidenciaTIPO {
  CONTACTO = '1',
  DOCUMENTACION = '2', // Archivos
  PRODUCTO = '3',
  UBICACION = '4', // Localización
  CUENTA_BANCARIA = '5', // Cuenta Bancaria
}

export interface DialogDocumentFooterBtn {
  name: string;
  class?: string;
  label?: string;
}

export interface DialogDocument extends Archivos {
  src: string;
  name: string;
  date: string;
  verificationDate: string;
  pendienteVerificar: boolean;
  verificado: boolean;
  incidencia: boolean;
  isPdf: boolean;
  state: number;
}

export interface DocumentState {
  color: string;
  label: string;
}
