es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La verificación de tipo de Prisma falla para objetos desestructurados y agregados.

Estoy usando Prisma como un ORM seguro dentro de mi entorno node typescript. Cuando paso un objeto reestructurado a una llamada update

ts
const params = {incorrect_param: true};
const data = await prisma.document.update({
where: { id },
data: {
…params,
// verified: true, // when this is uncommented, type-checking fails
},
});

resalta correctamente que params no es el tipo correcto para actualizar el documento. Sin embargo, cuando descomento la línea updated_at, los errores desaparecen y no puede ser verificado en el tipo check en absoluto. ¿Alguien tiene idea de lo que estoy haciendo mal aquí? El error ocurre cuando se agrega cualquier línea adicional más allá del objeto reestructurado params.

Para contextualizar, mi esquema para el documento es el siguiente:

prisma
model identity_document_verification {
id BigInt @id @default(autoincrement())
created_at DateTime @default(now()) @db.Timestamptz(6)
updated_at DateTime @default(now()) @db.Timestamptz(6)
user_id String @db.Uuid
submission_id BigInt @unique(map: "idv_i_submission_id") @default(autoincrement())
verified Boolean?
submission submission @relation(fields: [submission_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
user user @relation(fields: [user_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
}

Estoy usando prisma@3.5.0 y next@11.1 ¡Gracias de antemano!

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Parece que al comentar la línea verified, se está asignando un valor a un campo válido en el modelo identity_document_verification. Sin embargo, el campo updated_at también es válido en el modelo, por lo que al agregar esa línea, no causa ningún tipo de error ya que es una actualización válida.

    Para solucionar este problema, debes asegurarte de que las propiedades que estás pasando a la llamada de actualización sean campos válidos en el modelo. Puedes consultar la documentación de Prisma para verificar los campos correctos del modelo y sus tipos de datos.

    Además, se recomienda utilizar comprobaciones estrictas de nulidad en la configuración de TypeScript para evitar errores de tipo inesperados.

    Por último, podría ser útil verificar el código de cliente Prisma generado para ver si está generando los tipos correctos para tu esquema de Prisma.

    Espero que esto ayude!

Comments are closed.