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 { internalServerErrorResponse, notFoundResponse, requiredFieldMissingResponse } from '@src/models/commons/responses';
import { HistoryListResponse, HistoryResponse } from '@src/models/History'; 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 { Router } from 'express';
import Logger from '@src/logger' import Logger from '@src/logger'
@ -32,9 +32,17 @@ parentRouter.delete("/:historyId", (req, res) => {
// TODO: 履歴削除 // TODO: 履歴削除
}); });
parentRouter.patch("/:childId/:historyId", (req, res) => { parentRouter.post("/:historyId/paid", (req, res) => {
res.status(501).send("WIP"); const isPaid = req.query.isPaid === "true";
// TODO: 履歴手動追加 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 }; 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 }