Files
project-manager/src/pages/api/v1/projects/[id]/issues/index.ts
2024-05-16 16:45:50 +02:00

35 lines
918 B
TypeScript

import type { APIRoute } from 'astro'
import ResponseBuilder from 'libs/ResponseBuilder'
import DaoFactory from 'models/DaoFactory'
export const POST: APIRoute = async (ctx) => {
const projectId = ctx.params.id!
const dao = DaoFactory.get('issue')
const stateDao = DaoFactory.get('state')
const issueCount = await dao.findAll({
project: projectId
})
const defaultState = await stateDao.findOne({
project: projectId,
preset: true
})
console.log(issueCount)
const res = await dao.create({
...(await ctx.request.json()),
project: projectId,
localid: issueCount.rowsTotal + 1,
state: defaultState?.id ?? 'empty',
labels: []
})
return new ResponseBuilder().body(res).build()
}
export const GET: APIRoute = async (ctx) => {
const projectId = ctx.params.id!
const dao = DaoFactory.get('issue')
return new ResponseBuilder()
.body((await dao.findAll({project: projectId})).data)
.build()
}