'use strict'; async function projectGet (ctx) { try { const models = ctx.fs.dc.models; const { type, entryName } = ctx.query; let findOption = { where: { }, order: [['id', 'DESC']] } if (type) { findOption.where.type = type } if (entryName) { findOption.where.entryName = { $like: `%${entryName}%` } } const projectRes = await models.Project.findAll(findOption) ctx.status = 200; ctx.body = projectRes } catch (error) { ctx.fs.logger.error(`path: ${ctx.path}, error: ${error}`); ctx.status = 400; ctx.body = { message: typeof error == 'string' ? error : undefined } } } async function projectEdit (ctx) { try { const models = ctx.fs.dc.models; const data = ctx.request.body; if (!data.projectId) { await models.Project.create(data) } else { await models.Project.update( data, { where: { id: data.projectId } }) } ctx.status = 204 } catch (error) { ctx.fs.logger.error(`path: ${ctx.path}, error: ${error}`); ctx.status = 400; ctx.body = { message: typeof error == 'string' ? error : undefined } } } async function projectDel (ctx) { try { const models = ctx.fs.dc.models; const { projectId } = ctx.params; await models.Project.destroy({ where: { id: projectId } }) ctx.status = 204 } catch (error) { ctx.fs.logger.error(`path: ${ctx.path}, error: ${error}`); ctx.status = 400; ctx.body = { message: typeof error == 'string' ? error : undefined } } } module.exports = { projectGet, projectEdit, projectDel, };