#ternary operator misuse: field has undefined, must have value

2 messages · Page 1 of 1 (latest)

worn wasp
#
data: {
  name: changedName ? (tutorQuery.data.name !== changedName ? changedName : Prisma.skip) : Prisma.skip,
  surname: changedSurname ? (tutorQuery.data.surname !== changedSurname ? changedSurname : Prisma.skip) : Prisma.skip,
  middlename: changedMiddlename ? (tutorQuery.data.middlename !== changedMiddlename ? changedMiddlename : Prisma.skip) : Prisma.skip,
  rank: changedRank ? (tutorQuery.data.rank!== changedRank ? changedRank : Prisma.skip) : Prisma.skip,
}

If changedSurname is undefined, Prisma.skip must be passed, however what's passed is undefined, which results in this error

 ERROR  [PrismaClientValidationError:
Invalid `prisma.tutor.update()` invocation:

{
  where: {
    id: 1
  },
  data: {
    name: "Заур",
    surname: undefined,
             ~~~~~~~~~
    middlename: undefined,
    rank: undefined
  }
}

Invalid value for argument `data`: explicitly `undefined` values are not allowed.]
#

interestingly, rank: changedRank ?? Prisma.skip works fine