79350116

Date: 2025-01-12 15:12:14
Score: 0.5
Natty:
Report link

This is the solution I've come up to:

export const createTicket = (
  title: string,
  description: string,
  name: string,
  surname: string,
  email: string | null,
  phone_number: string | null,
  userId?: number
) =>
  prisma.ticket.create({
    data: {
      title,
      description,
      createdBy: userId ? { connect: { id: userId } } : undefined,
      info: {
        connectOrCreate: {
          where: userId
            ? { userId }
            : { name_surname_phone_number_email: { name, surname, phone_number, email } },
          create: { name, surname, email, phone_number, userId }
        }
      }
    }
  });

I wasn't aware of the compound unique constraint syntax.

Reasons:
  • Long answer (-0.5):
  • Has code block (-0.5):
  • Self-answer (0.5):
  • Low reputation (1):
Posted by: Sebastiano