debug(check-in): log upsert + verify lettura post-write
Diagnostica temporanea: la POST /me/check-ins ritorna 201 ma il record non appare in DB. Aggiunto log prima/dopo upsert + rilettura immediata per individuare se il middleware prisma-field-encryption rollba silenziosamente.
This commit is contained in:
1 parent
a5d8dc355d
commit
bf6be656bd
1 file changed
+8
@@ -68,6 +68,7 @@ export const checkInRoutes: FastifyPluginAsync = async (fastify) => {
|
|||||||
const date = new Date(data.date);
|
const date = new Date(data.date);
|
||||||
date.setHours(0, 0, 0, 0);
|
date.setHours(0, 0, 0, 0);
|
||||||
|
|
||||||
|
request.log.info({ userId, date, body: data }, '[check-in] upsert START');
|
||||||
const item = await fastify.prisma.dailyCheckIn.upsert({
|
const item = await fastify.prisma.dailyCheckIn.upsert({
|
||||||
where: { userId_date: { userId, date } },
|
where: { userId_date: { userId, date } },
|
||||||
create: {
|
create: {
|
||||||
@@ -87,6 +88,13 @@ export const checkInRoutes: FastifyPluginAsync = async (fastify) => {
|
|||||||
notes: data.notes ?? null,
|
notes: data.notes ?? null,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
request.log.info({ id: item.id }, '[check-in] upsert OK');
|
||||||
|
// Rilettura immediata per verificare che il record sia effettivamente
|
||||||
|
// persistito (catch silent rollback da middleware encryption).
|
||||||
|
const verify = await fastify.prisma.dailyCheckIn.findUnique({
|
||||||
|
where: { userId_date: { userId, date } },
|
||||||
|
});
|
||||||
|
request.log.info({ found: verify != null, verifyId: verify?.id }, '[check-in] verify');
|
||||||
|
|
||||||
return reply.code(201).send({ item: { id: item.id } });
|
return reply.code(201).send({ item: { id: item.id } });
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in new issue
Block a user