Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

234
Views
Falta la propiedad en el tipo prisma/cliente/índice, al agregar un tipo personalizado al esquema de Prisma

Mi tipo personalizado "Observaciones" no parece generarse correctamente porque recibo este mensaje de error

Falta la propiedad 'observaciones' en el tipo 'import("/Users/thomasandrew/Documents/webApps/social-innovate/boilerplate/packages/api/node_modules/.prisma/client/index"). ActionPlan' pero requerido en el tipo 'import ("/Usuarios/thomasandrew/Documentos/webApps/social-innovate/boilerplate/packages/api/src/modules/actionPlan/actionPlan.model").ActionPlan'.ts(2741) actionPlan.model.ts(25, 5) : 'observaciones' se declara aquí.

Este es mi archivo de esquema Prisma (se eliminaron algunos campos extraños)

 model Observation { id String @id @default(dbgenerated("gen_random_uuid()")) actionPlan ActionPlan @relation(fields: [actionPlanId], references: [id]) actionPlanId String meetingDate DateTime? place String? } model ActionPlan { id String @id @default(dbgenerated("gen_random_uuid()")) @unique testName String observations Observation[] }

modelo type-graphql

 @ObjectType() export class ActionPlan extends BaseModel implements Prisma.ActionPlan { @Field() testName: string @Field() department: string @Field() code: string @Field() outcome: string @Field() hypothesis: string @Field(type => [Observation]) observations: Observation[] }

Sin embargo, incluso cuando ejecuto prisma generate con éxito, no agrega las 'observaciones' al Plan de acción. ¿Me estoy perdiendo de algo? Cualquier ayuda sería genial. También adjunté una captura de pantalla de los tipos generados en node_modules/.prisma/client/index.d.ts

ingrese la descripción de la imagen aquí .

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Dado que tiene una relación entre esos 2, su código debe proporcionar un argumento de inclusión, de modo que su @Resolver y @Query puedan completar esa entidad en la respuesta.
Además, no sé si está dentro de su ActionPlanService la conexión prisma (probablemente sí, ya que obtiene este error).
Entonces, por ejemplo, su primera consulta debe apuntar a esta función ActionPlanService :

 async getActionPlan(id: string): Promise<ActionPlan> { return await this.prismaService.actionPlan.findFirst({ where: { id, }, include: { observations: true, } });

o algo similar, ya que no se como se conecta con prisma en ese servicio

about 4 years ago · Juan Pablo Isaza Report

0

Prisma no incluye relaciones en los tipos generados porque no todas las consultas las incluyen. Las consultas de Prisma devuelven relaciones según las opciones utilizadas, pero en el código generado esto se hace a través de TypeScript complejo.

Pero siempre puede definir tipos con relaciones incluidas manualmente o usando una combinación de las utilidades ReturnType<T> y Awaited<T> .

Ejemplo de definición manual:

 type ActionPlanWithObservations = ActionPlan & { observations: Observation[] }

Ejemplo usando Awaited y ReturnType:

 type ActionPlanWithObservations = Awaited<ReturnType<ActionPlanService["getActionPlan"]>>

Donde ActionPlanService es:

 class ActionPlanService { getActionPlan(id: string) { return prisma.actionPlan.findFirst({ where: { id, }, include: { observations: true, } }) } }

Nota: La utilidad Awaited<T> está disponible desde TypeScript 4.5

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!