From 7cf1e713c958e5a4c2e1cc03815a5ac0c6f6b8c3 Mon Sep 17 00:00:00 2001 From: David Arranz Date: Mon, 26 Aug 2024 17:22:43 +0200 Subject: [PATCH] . --- .../domain/entities/Quotes/QuoteStatus.ts | 31 ++++++++++++++----- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/server/src/contexts/sales/domain/entities/Quotes/QuoteStatus.ts b/server/src/contexts/sales/domain/entities/Quotes/QuoteStatus.ts index 3c278fd..d2ce1ce 100644 --- a/server/src/contexts/sales/domain/entities/Quotes/QuoteStatus.ts +++ b/server/src/contexts/sales/domain/entities/Quotes/QuoteStatus.ts @@ -10,9 +10,11 @@ import Joi from "joi"; export enum QUOTE_STATUS { DRAFT = "draft", - EMITTED = "emitted", - SENT = "sent", + READY = "ready", + DELIVERED = "delivered", + ACCEPTED = "accepted", REJECTED = "rejected", + ARCHIVED = "archived", } export interface IQuoteStatusOptions extends IValueObjectOptions {} @@ -21,7 +23,14 @@ export class QuoteStatus extends ValueObject { protected static validate(value: string, options: IValueObjectOptions) { const rule = Joi.string() - .valid(QUOTE_STATUS.DRAFT, QUOTE_STATUS.EMITTED, QUOTE_STATUS.SENT, QUOTE_STATUS.REJECTED) + .valid( + QUOTE_STATUS.DRAFT, + QUOTE_STATUS.READY, + QUOTE_STATUS.DELIVERED, + QUOTE_STATUS.ACCEPTED, + QUOTE_STATUS.REJECTED, + QUOTE_STATUS.DRAFT + ) .label(options.label ? options.label : "status"); return RuleValidator.validate(rule, value); @@ -35,18 +44,26 @@ export class QuoteStatus extends ValueObject { return new QuoteStatus(QUOTE_STATUS.DRAFT); } - public static createEmitted(): QuoteStatus { - return new QuoteStatus(QUOTE_STATUS.EMITTED); + public static createReady(): QuoteStatus { + return new QuoteStatus(QUOTE_STATUS.READY); } - public static createSent(): QuoteStatus { - return new QuoteStatus(QUOTE_STATUS.SENT); + public static createDelivered(): QuoteStatus { + return new QuoteStatus(QUOTE_STATUS.DELIVERED); + } + + public static createAccepted(): QuoteStatus { + return new QuoteStatus(QUOTE_STATUS.ACCEPTED); } public static createRejected(): QuoteStatus { return new QuoteStatus(QUOTE_STATUS.REJECTED); } + public static createArchived(): QuoteStatus { + return new QuoteStatus(QUOTE_STATUS.ARCHIVED); + } + public static create(status: string, options: IQuoteStatusOptions = {}) { const _options = { label: "status",