Skip to content

Commit

Permalink
fix: update update operation types to conditionally include Prisma op…
Browse files Browse the repository at this point in the history
…erations based on field requirements
  • Loading branch information
WhyAsh5114 committed Dec 30, 2024
1 parent 86f4a74 commit 9ec4b8d
Show file tree
Hide file tree
Showing 5 changed files with 30 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,15 @@ export function addBooleanUpdateHandler(utilsFile: SourceFile, models: readonly
const booleanFields = models.flatMap(({ fields }) => fields).filter((field) => field.type === "Boolean");
if (booleanFields.length === 0) return;

let updateOperationType = "undefined | boolean | Prisma.BoolFieldUpdateOperationsInput";
let updateOperationType = "undefined | boolean";
let fieldType = "boolean";

const nonNullableBooleanFieldPresent = booleanFields.some(({ isRequired }) => isRequired);
const nullableBooleanFieldPresent = booleanFields.some(({ isRequired }) => !isRequired);

if (nonNullableBooleanFieldPresent) {
updateOperationType += " | Prisma.BoolFieldUpdateOperationsInput";
}
if (nullableBooleanFieldPresent) {
updateOperationType += " | null | Prisma.NullableBoolFieldUpdateOperationsInput";
fieldType += " | null";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,15 @@ export function addBytesUpdateHandler(utilsFile: SourceFile, models: readonly Mo
const bytesFields = models.flatMap(({ fields }) => fields).filter((field) => field.type === "Bytes");
if (bytesFields.length === 0) return;

let updateOperationType = "undefined | Uint8Array | Prisma.BytesFieldUpdateOperationsInput";
let updateOperationType = "undefined | Uint8Array";
let fieldType = "Uint8Array";

const nonNullableBytesFieldPresent = bytesFields.some(({ isRequired }) => isRequired);
const nullableBytesFieldPresent = bytesFields.some(({ isRequired }) => !isRequired);

if (nonNullableBytesFieldPresent) {
updateOperationType += " | Prisma.BytesFieldUpdateOperationsInput";
}
if (nullableBytesFieldPresent) {
updateOperationType += " | null | Prisma.NullableBytesFieldUpdateOperationsInput";
fieldType += " | null";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,15 @@ export function addDateTimeUpdateHandler(utilsFile: SourceFile, models: readonly
const dateTimeFields = models.flatMap(({ fields }) => fields).filter((field) => field.type === "DateTime");
if (dateTimeFields.length === 0) return;

let updateOperationType = "undefined | Date | string | Prisma.DateTimeFieldUpdateOperationsInput";
let updateOperationType = "undefined | Date | string";
let fieldType = "Date";

const nonNullableDateTimeFieldPresent = dateTimeFields.some(({ isRequired }) => isRequired);
const nullableDateTimeFieldPresent = dateTimeFields.some(({ isRequired }) => !isRequired);

if (nonNullableDateTimeFieldPresent) {
updateOperationType += " | Prisma.DateTimeFieldUpdateOperationsInput";
}
if (nullableDateTimeFieldPresent) {
updateOperationType += " | null | Prisma.NullableDateTimeFieldUpdateOperationsInput";
fieldType += " | null";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,15 @@ export function addIntUpdateHandler(utilsFile: SourceFile, models: readonly Mode
const intFields = models.flatMap(({ fields }) => fields).filter((field) => field.type === "Int");
if (intFields.length === 0) return;

let updateOperationType = "undefined | number | Prisma.IntFieldUpdateOperationsInput";
let updateOperationType = "undefined | number";
let fieldType = "number";

const nonNullableIntFieldPresent = intFields.some(({ isRequired }) => isRequired);
const nullableIntFieldPresent = intFields.some(({ isRequired }) => !isRequired);

if (nonNullableIntFieldPresent) {
updateOperationType += " | Prisma.IntFieldUpdateOperationsInput";
}
if (nullableIntFieldPresent) {
updateOperationType += " | null | Prisma.NullableIntFieldUpdateOperationsInput";
fieldType += " | null";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,15 @@ export function addStringUpdateHandler(utilsFile: SourceFile, models: readonly M
const stringFields = models.flatMap(({ fields }) => fields).filter((field) => field.type === "String");
if (stringFields.length === 0) return;

let updateOperationType = "undefined | string | Prisma.StringFieldUpdateOperationsInput";
let updateOperationType = "undefined | string";
let fieldType = "string";

const nonNullableStringFieldPresent = stringFields.some(({ isRequired }) => isRequired);
const nullableStringFieldPresent = stringFields.some(({ isRequired }) => !isRequired);

if (nonNullableStringFieldPresent) {
updateOperationType += " | Prisma.StringFieldUpdateOperationsInput";
}
if (nullableStringFieldPresent) {
updateOperationType += " | null | Prisma.NullableStringFieldUpdateOperationsInput";
fieldType += " | null";
Expand Down

0 comments on commit 9ec4b8d

Please sign in to comment.