import moment from 'moment-timezone';

export interface Meet {
  id: number | null;
  id_captacion: number | null;
  id_usuario: number | null;
  titulo: string;
  fecha: string;
  hora: string;
  duracion: number;
  invitados: (number | Invitado)[]; // ids
  estado?: EstadoMeet;
}

export type Invitado = { id: number; nombre: string };

export enum EstadoMeet {
  CANCELADA = -1,
  PLANIFICADA = 0,
  INICIADA = 1,
  FINALIZADA = 2,
}

export interface RawMeet {
  ID_VISITA: number | null;
  ID_CAPTACION: number | null;
  ID_USUARIO: number | null;
  TITULO: string;
  FECHA_VISITA: Date;
  HORA_VISITA: string; // Date;
  DURACION: number;
  INVITADOS: number[]; // ids
}

export function toRawMeet(meet: Meet): RawMeet {
  return {
    ID_VISITA: meet.id,
    ID_CAPTACION: meet.id_captacion,
    ID_USUARIO: meet.id_usuario,
    TITULO: meet.titulo,
    FECHA_VISITA: moment(meet.fecha, 'DD/MM/YYYY').toDate(),
    HORA_VISITA: meet.hora,
    DURACION: meet.duracion,
    INVITADOS: meet.invitados as number[],
  };
}
