Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

241
Visualizações
Property is missing in type prisma/client/index, when adding a custom type to Prisma schema

My custom type "Observations" doesn't seem to be generating correctly as I am getting this error message

Property 'observations' is missing in type 'import("/Users/thomasandrew/Documents/webApps/social-innovate/boilerplate/packages/api/node_modules/.prisma/client/index").ActionPlan' but required in type 'import("/Users/thomasandrew/Documents/webApps/social-innovate/boilerplate/packages/api/src/modules/actionPlan/actionPlan.model").ActionPlan'.ts(2741) actionPlan.model.ts(25, 5): 'observations' is declared here.

This is my Prisma schema file (removed some extraneous fields)

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[]
}

type-graphql model

@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[]
}

However even when I run prisma generate successfully, it doesn't add the 'observations' to the Action Plan. Am I missing something? Any help would be great. I also attached screenshot of generated types at node_modules/.prisma/client/index.d.ts

enter image description here.

enter image description here

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Since you have a relation between those 2, your code should provide an include argument, so that your @Resolver & @Query can populate that entity in the response.
Also, I don't know if it is inside your ActionPlanService the prisma connection (probably yes, since you get this error).
So, for example, your first query should point to the this ActionPlanService function:

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

or something similar, since I don't know how you connect with prisma in that service

about 4 years ago · Juan Pablo Isaza Relatório

0

Prisma doesn't include relationships in generated types because not all queries include them. Prisma queries do return relationships according options used, but in the generated code this is done through complex TypeScript.

But always you can define types with relationships included manually or using a combination of ReturnType<T> and Awaited<T> utilities.

Example defining manually:

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

Example using Awaited and ReturnType:

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

Where ActionPlanService is:

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

Note: Awaited<T> utility is available since TypeScript 4.5

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda