No tengo idea de cómo formular esta pregunta y, para ser honesto, cuando lo pienso, debería tener una respuesta realmente simple, pero por alguna razón, no pude encontrar la mejor manera de hacerlo.
Estoy creando una aplicación React Native con un backend Prisma. No quiero involucrar al front-end en absoluto para resolver esto. Tengo un modelo de sesión que tiene una fecha del evento y es un parámetro Completado. Me gustaría poder actualizar isCompleted cuando la fecha del evento esté en el pasado automáticamente. El backend se ejecuta en el servidor Heroku, sin configurar un trabajo cron u otra cosa, ¿es posible hacerlo?
aquí está el modelo y el código de actualización que tengo, pero no estoy seguro de dónde vincularlo para asegurarme de que siempre actualice todas las sesiones según la hora.
export const SessionUpdate = { updateSessionCompletion: async (parent, args, context): Promise<any> => { try { const session = await prisma.session.findUnique({ where: { id: args.id, }, }); if (session && session.date < new Date()) { console.log(session.date, new Date()); return await prisma.session.update({ where: { id: args.id, }, data: { isCompleted: true, }, }); } } catch (error) { console.log(error); } }, } model Session { id String @id @default(dbgenerated()) @map("_id") @db.ObjectId createdAt DateTime @default(now()) // updatedAt DateTime @updatedAt isCompleted Boolean @default(false) title String date DateTime isCanceled Boolean @default(false) }