import { connect } from "mongoose"; import ScheduleList from "../../Models/Schedules/Schedules"; import { CreateScheduleParams, UpdateScheduleParams, DeleteScheduleParams, ISchedule, PaginateSchedulesParams, PaginateSchedulesResults, CollaboratorSchedulesView, FindSchedulesParams, ScheduleApplyParams, ScheduleApplyResult, } from "../../Models/Schedules/Schedules.Interface"; export class SchedulesService { public async createSchedule(data: CreateScheduleParams): Promise { await connect(`${process.env.DATABASE_CONNECTION}`); const newSchedule = await ScheduleList.createSchedule(data); return newSchedule; } public async updateSchedule(data: UpdateScheduleParams): Promise { await connect(`${process.env.DATABASE_CONNECTION}`); await ScheduleList.updateSchedule(data); } public async applyScheduleChanges(data: ScheduleApplyParams): Promise { await connect(`${process.env.DATABASE_CONNECTION}`); return await ScheduleList.applyScheduleChanges(data); } public async deleteSchedule(data: DeleteScheduleParams): Promise { await connect(`${process.env.DATABASE_CONNECTION}`); await ScheduleList.delete(data); } public async paginateSchedules( data: PaginateSchedulesParams ): Promise { await connect(`${process.env.DATABASE_CONNECTION}`); const schedules = await ScheduleList.paginate(data); return schedules; } public async findAllSchedulesByCollaborator( data: FindSchedulesParams ): Promise { await connect(`${process.env.DATABASE_CONNECTION}`); const schedules = await ScheduleList.findAllSchedulesByCollaborator(data); return schedules; } }