diff --git a/src/feature/core/invoice/domain/usecase/create-invoice-usecase.ts b/src/feature/core/invoice/domain/usecase/create-invoice-usecase.ts index 394b4ed..7c2f136 100644 --- a/src/feature/core/invoice/domain/usecase/create-invoice-usecase.ts +++ b/src/feature/core/invoice/domain/usecase/create-invoice-usecase.ts @@ -2,7 +2,7 @@ import { ApiEither } from "@/feature/common/data/api-task"; import ParamsFailure from "@/feature/common/failures/params-failure"; -// import serverDi from "@/feature/common/server-di"; +import serverDi from "@/feature/common/server-di"; import InvoiceRepo, { invoiceRepoKey, } from "@/feature/core/invoice/domain/i-repo/invoice-repo"; @@ -17,17 +17,16 @@ import { chain, fromNullable, left, map, right } from "fp-ts/lib/TaskEither"; export default async function createInvoiceUsecase( params: InvoiceParam, ): Promise> { - return right("fixed")() - // const repo = serverDi(invoiceModuleKey).resolve(invoiceRepoKey); + const repo = serverDi(invoiceModuleKey).resolve(invoiceRepoKey); - // return pipe( - // fromNullable(new ParamsFailure())(params), - // map((params) => invoiceSchema.safeParse(params)), - // chain((params) => { - // const isParamsValid = invoiceSchema.safeParse(params); - // if (!isParamsValid.success) left(new ParamsFailure()); - // return right(params.data as InvoiceParam); - // }), - // chain((params) => repo.createInvoice(params)), - // )(); + return pipe( + fromNullable(new ParamsFailure())(params), + map((params) => invoiceSchema.safeParse(params)), + chain((params) => { + const isParamsValid = invoiceSchema.safeParse(params); + if (!isParamsValid.success) left(new ParamsFailure()); + return right(params.data as InvoiceParam); + }), + chain((params) => repo.createInvoice(params)), + )(); }