import mongoose from 'mongoose';

import { ITasksDoc, ITasksModel } from '@/modules/tasks/tasks.interface';
import { tasksBaseSchema } from '@/modules/tasks/schemas/base.schema';
import {
  tasksCallSchema,
  tasksMeetingSchema,
  tasksOtherSchema,
  tasksSiteVisitSchema,
} from '@/modules/tasks/schemas/activity.schema';

export const Tasks = mongoose.model<ITasksDoc, ITasksModel>(
  'Tasks',
  tasksBaseSchema,
);

export const CallTask = Tasks.discriminator('call', tasksCallSchema);
export const MeetingTask = Tasks.discriminator('meeting', tasksMeetingSchema);
export const SiteVisitTask = Tasks.discriminator(
  'siteVisit',
  tasksSiteVisitSchema,
);
export const OtherTask = Tasks.discriminator('other', tasksOtherSchema);
