isPaidを更新できるように

This commit is contained in:
ろむねこ 2024-07-23 12:43:44 +09:00
parent 1290857a0a
commit b1e7c9f05f
Signed by: Fujimatsu
GPG Key ID: FA1F39A1BA37D168
2 changed files with 24 additions and 5 deletions

View File

@ -1,6 +1,6 @@
import { internalServerErrorResponse, notFoundResponse, requiredFieldMissingResponse } from '@src/models/commons/responses';
import { HistoryListResponse, HistoryResponse } from '@src/models/History';
import { getHistories } from '@src/services/historyService';
import { getHistories, updateHistoryPaidStatus } from '@src/services/historyService';
import { Router } from 'express';
import Logger from '@src/logger'
@ -32,9 +32,17 @@ parentRouter.delete("/:historyId", (req, res) => {
// TODO: 履歴削除
});
parentRouter.patch("/:childId/:historyId", (req, res) => {
res.status(501).send("WIP");
// TODO: 履歴手動追加
parentRouter.post("/:historyId/paid", (req, res) => {
const isPaid = req.query.isPaid === "true";
const historyId = req.params.historyId;
if (!historyId) {
const historyIdMissingResponse = requiredFieldMissingResponse(["historyId"]);
res.status(historyIdMissingResponse.statusCode).send(historyIdMissingResponse.body);
return;
}
updateHistoryPaidStatus(historyId, isPaid).then(() => {
res.status(200).send(); // TODO: 固定値化
});
});
export { parentRouter, commonRouter };

View File

@ -23,4 +23,15 @@ async function getHistories(childId: string, containPaid: boolean): Promise<Hist
});
}
export { getHistories };
async function updateHistoryPaidStatus(historyId: string, isPaid: boolean): Promise<void> {
await prisma.taskCompletion.update({
where: {
id: historyId,
},
data: {
is_paid: isPaid,
},
});
}
export { getHistories, updateHistoryPaidStatus }