import { Plan, Subject } from "../db/index.js"; import * as ConvertDate from "./schedule.controller.js"; // const addPlan = async (req, res) => { // console.log('server/addPlan req.body', req.body) // try { // let end = null; // let tf = false; // const { info } = req.body // const { studyplanTitle, endDate, endTime, deadline, memo, selected } = info // console.log('제목확인', studyplanTitle) // if (deadline === "on") { // end = new Date(endDate + " " + endTime) // tf = true // } else { // end = new Date(endDate) // } // const result = await Plan.create({ // subjectId: selected, // title: studyplanTitle, // deadline: end, // memo: memo, // timeChecked: tf, // checked: false // }) // return res.json(result) // } catch (error) { // console.log(error) // return res.status(500).send(error.message || "계획저장 에러발생") // } // } // const editPlan = async (req, res) => { // const { info, id } = req.body // console.log('editPlan info', info, '|', id) // try { // let result = null // if (info.deadline === "on") { // result = await Plan.update({ // subjectId: info.selected, // title: info.studyplanTitle, // deadline: new Date(info.endDate + " " + info.endTime), // memo: info.memo, // timeChecked: true, // checked: false // }, { where: { id: id } }) // res.send(200) // } else { // result = await Plan.update({ // subjectId: info.selected, // title: info.studyplanTitle, // deadline: new Date(info.endDate), // memo: info.memo, // timeChecked: false, // checked: false // }, { // where: { id: id } // }) // } // if (!result) { // throw new Error("과목정보 수정 에러발생") // } else { // return res.send(200) // } // } catch (error) { // console.log(error) // return res.status(500).send(error.message || "계획수정 에러발생") // } // } // const getInfo = async (req, res) => { // console.log('server/getInfo req.params', req.params) // try { // let deadlineStr = null // let endTimeStr = null // const { planId } = req.params; // const findInfo = await Plan.findOne({ where: { id: planId } }) // const Info = findInfo.dataValues; // const getSubTitle = await Subject.findAll({ // attributes: ['name'], // where: { id: Info.subjectId } // }) // deadlineStr = ConvertDate.dateToString(Info.deadline, "full") // endTimeStr = ConvertDate.dateToString(Info.deadline, "time") // if (Info.timeChecked) { // res.json({ // subjectId: Info.subjectId, // subjectName: getSubTitle[0].dataValues.name, // title: Info.title, // endDate: deadlineStr, // endTime: endTimeStr, // deadline: "on", // memo: Info.memo // }) // } else { // res.json({ // subjectId: Info.subjectId, // subjectName: getSubTitle[0].dataValues.name, // title: Info.title, // endDate: deadlineStr, // deadline: "", // memo: Info.memo // }) // } // } catch (error) { // console.log(error) // return res.status(500).send(error.message || "계획 가져오기 에러발생") // } // } const getOne = async (req, res) => { try { let findPlan = null const { planId } = req.query console.log("get One", planId) if (planId) findPlan = await Plan.findOne({ where: { id: planId } }) if (!findPlan) throw new Error("학업 계획 정보를 찾지 못했습니다.") return res.json(find) } catch (error) { return res.status(500).send(error.message || "학업계획 조회 중 에러 발생") } } const create = async (req, res) => { try { let date = null let check_v = false const { studyplanTitle, endDate, endTime, memo, deadline, selected } = req.body if (deadline === "on") { date = new Date(endDate + " " + endTime) check_v = true } else date = new Date(endDate) const newPlan = await Plan.create({ title: studyplanTitle, deadline: date, memo: memo, timeChecked: check_v, subjectId: selected }) return res.json(newPlan) } catch (error) { return res.status(500).send(error.message || "학업계획 생성 중 에러 발생") } } const edit = async (req, res) => { try { const planId = req.planId let date = null let check_v = false const { studyplanTitle, endDate, endTime, memo, deadline, selected } = req.body if (deadline === "on") { date = new Date(endDate + " " + endTime) check_v = true } else date = new Date(endDate) const updated = await Plan.updated({ title: studyplanTitle, deadline: date, memo: memo, timeChecked: check_v, subjectId: selected }, { where: { id: planId } }) if (!updated) throw new Error("해당 학업계획의 일부 정보를 수정하는데 실패하였습니다.") else return res.send(200) } catch (error) { return res.status(500).send(error.message || "학업계획 수정 중 에러 발생") } } const remove = async (req, res) => { try { const planId = req.planId const deleted = await Plan.destroy({ where: { id: planId } }) if (!deleted) throw new Error("해당 과목을 삭제하는데 실패하였습니다.") else return res.send(200) } catch (error) { return res.status(500).send(error.message || "학업계획 삭제 중 에러 발생") } } const getParams = async (req, res, next) => { try { const { planId } = req.params req.planId = planId next() } catch (error) { return res.status(500).send(error.message || "일정 가져오는 중 에러 발생") } } export default { getOne, create, edit, remove, getParams // addPlan, // editPlan, // getInfo }