diff --git a/server/src/contexts/catalog/domain/entities/Article.ts b/server/src/contexts/catalog/domain/entities/Article.ts index d17eed0..94cc0f1 100644 --- a/server/src/contexts/catalog/domain/entities/Article.ts +++ b/server/src/contexts/catalog/domain/entities/Article.ts @@ -55,7 +55,7 @@ export class Article extends AggregateRoot implements IArticle { return this._id; } - get catalog_name(): Slug { + get catalog_name(): Name { return this.props.catalog_name; } diff --git a/server/src/contexts/sales/infrastructure/Sales.context.ts b/server/src/contexts/sales/infrastructure/Sales.context.ts index f087b8e..f1af694 100644 --- a/server/src/contexts/sales/infrastructure/Sales.context.ts +++ b/server/src/contexts/sales/infrastructure/Sales.context.ts @@ -1,9 +1,32 @@ +import { RepositoryManager } from "@/contexts/common/domain"; import { IContext } from "@/contexts/common/infrastructure"; +import { createSequelizeAdapter } from "@/contexts/common/infrastructure/sequelize"; import { Dealer, IQuoteReferenceGeneratorService } from "../domain"; export interface ISalesContext extends IContext { - services: { + services?: { QuoteReferenceGeneratorService: IQuoteReferenceGeneratorService; }; dealer?: Dealer; } + +export class SalesContext { + private static instance: SalesContext | null = null; + + public static getInstance(): ISalesContext { + if (!SalesContext.instance) { + SalesContext.instance = new SalesContext({ + adapter: createSequelizeAdapter(), + repositoryManager: RepositoryManager.getInstance(), + }); + } + + return SalesContext.instance.context; + } + + private context: ISalesContext; + + private constructor(context: ISalesContext) { + this.context = context; + } +} diff --git a/server/src/contexts/sales/infrastructure/express/controllers/quotes/updateQuote/presenter/UpdateQuote.presenter.ts b/server/src/contexts/sales/infrastructure/express/controllers/quotes/updateQuote/presenter/UpdateQuote.presenter.ts index 8bbcbd3..8ff72e2 100644 --- a/server/src/contexts/sales/infrastructure/express/controllers/quotes/updateQuote/presenter/UpdateQuote.presenter.ts +++ b/server/src/contexts/sales/infrastructure/express/controllers/quotes/updateQuote/presenter/UpdateQuote.presenter.ts @@ -18,6 +18,7 @@ export const UpdateQuotePresenter: IUpdateQuotePresenter = { status: quote.status.toString(), date: quote.date.toISO8601(), reference: quote.reference.toString(), + customer_reference: quote.customerReference.toString(), customer_information: quote.customer.toString(), lang_code: quote.language.toString(), currency_code: quote.currency.toString(), diff --git a/server/src/contexts/sales/infrastructure/mappers/dealer.mapper.ts b/server/src/contexts/sales/infrastructure/mappers/dealer.mapper.ts index 8ef3870..cdc5cbe 100644 --- a/server/src/contexts/sales/infrastructure/mappers/dealer.mapper.ts +++ b/server/src/contexts/sales/infrastructure/mappers/dealer.mapper.ts @@ -70,7 +70,7 @@ class DealerMapper default_notes: source.additionalInfo.get("default_notes")?.toString() ?? "", default_legal_terms: source.additionalInfo.get("default_legal_terms")?.toString() ?? "", default_quote_validity: source.additionalInfo.get("default_quote_validity")?.toString() ?? "", - default_tax: source.additionalInfo.get("default_tax")?.toString() ?? "", + default_tax: Number(source.additionalInfo.get("default_tax") ?? 0), }; } } diff --git a/server/src/infrastructure/sequelize/initData.ts b/server/src/infrastructure/sequelize/initData.ts index 5240f20..a98c63d 100644 --- a/server/src/infrastructure/sequelize/initData.ts +++ b/server/src/infrastructure/sequelize/initData.ts @@ -1,14 +1,15 @@ +import { SalesContext } from "@/contexts/sales/infrastructure"; import { registerDealerRepository } from "@/contexts/sales/infrastructure/Dealer.repository"; import { initializeAdmin, initializeSampleDealer, initializeSampleUser, } from "@/contexts/users/application/userServices"; -import { UserContext } from "@/contexts/users/infrastructure/User.context"; import { registerUserRepository } from "@/contexts/users/infrastructure/User.repository"; export const insertUsers = async () => { - const context = UserContext.getInstance(); + const context = SalesContext.getInstance(); + registerUserRepository(context); registerDealerRepository(context);