diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 344a681..89dbaf1 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -1585,6 +1585,11 @@ enum CreditNoteStatus { Success } +enum CreditNotePaybackType { + Cash + BankTransfer +} + model CreditNote { id String @id @default(cuid()) @@ -1592,7 +1597,14 @@ model CreditNote { creditNoteStatus CreditNoteStatus @default(Pending) - value Float @default(0) + value Float @default(0) + reason String? + detail String? + + paybackType CreditNotePaybackType? + paybackBank String? + paybackAccount String? + paybackAccountName String? quotation Quotation @relation(fields: [quotationId], references: [id], onDelete: Cascade) quotationId String diff --git a/src/controllers/08-credit-note-controller.ts b/src/controllers/08-credit-note-controller.ts index 971673e..2523613 100644 --- a/src/controllers/08-credit-note-controller.ts +++ b/src/controllers/08-credit-note-controller.ts @@ -24,7 +24,7 @@ import { import HttpError from "../interfaces/http-error"; import HttpStatus from "../interfaces/http-status"; import { notFoundError } from "../utils/error"; -import { CreditNoteStatus, Prisma } from "@prisma/client"; +import { CreditNotePaybackType, CreditNoteStatus, Prisma } from "@prisma/client"; import { queryOrNot } from "../utils/relation"; import { RequestWorkStatus } from "../generated/kysely/types"; @@ -52,10 +52,22 @@ const permissionCheckCompany = createPermCheck((_) => true); type CreditNoteCreate = { requestWorkId: string[]; quotationId: string; + reason?: string; + detail?: string; + paybackType?: CreditNotePaybackType; + paybackBank?: string; + paybackAccount?: string; + paybackAccountName?: string; }; type CreditNoteUpdate = { requestWorkId: string[]; quotationId: string; + reason?: string; + detail?: string; + paybackType?: CreditNotePaybackType; + paybackBank?: string; + paybackAccount?: string; + paybackAccountName?: string; }; @Route("api/v1/credit-note")