import express from "express"

import { getList, create, update, remove } from "../services/schedules.js"

const router = express.Router()

router.get("/", async function (_req, res, next) {
	try {
		res.json(await getList())
	} catch (err) {
		console.error(`Error while getting schedules `, err instanceof Error ? err.message : String(err))
		next(err)
	}
})

router.post("/", async function (req, res, next) {
	try {
		res.json(await create(req.body))
	} catch (err) {
		console.error(`Error while creating schedule`, err instanceof Error ? err.message : String(err))
		next(err)
	}
})

router.put("/:id", async function (req, res, next) {
	try {
		res.json(await update(req.body))
	} catch (err) {
		console.error(`Error while updating schedule`, err instanceof Error ? err.message : String(err))
		next(err)
	}
})

router.delete("/:id", async function (req, res, next) {
	try {
		res.json(await remove(req.params.id))
	} catch (err) {
		console.error(`Error while deleting schedule`, err instanceof Error ? err.message : String(err))
		next(err)
	}
})

export default router
