feature/research-di #1
@ -1,11 +1,11 @@
|
||||
import getCustomerInvoiceDi from "@/feature/customer-invoice/data/module/customer-invoice-di";
|
||||
import { customerInvoiceModuleKey } from "@/feature/customer-invoice/invoice-module-key";
|
||||
import { customerKey } from "@/feature/customer/customer-key";
|
||||
import getCustomerDi from "@/feature/customer/data/module/customer-di";
|
||||
import getCustomerInvoiceDi from "@/feature/core/customer-invoice/data/module/customer-invoice-di";
|
||||
import { customerInvoiceModuleKey } from "@/feature/core/customer-invoice/invoice-module-key";
|
||||
import { customerKey } from "@/feature/core/customer/customer-key";
|
||||
import getCustomerDi from "@/feature/core/customer/data/module/customer-di";
|
||||
import { testModuleKey } from "@/feature/domain/test/test-module-key";
|
||||
import getTestModule from "@/feature/infra/test/module/test-module";
|
||||
import getInvoiceDi from "@/feature/invoice/data/module/invoice-di";
|
||||
import { invoiceModuleKey } from "@/feature/invoice/invoice-module-key";
|
||||
import getInvoiceDi from "@/feature/core/invoice/data/module/invoice-di";
|
||||
import { invoiceModuleKey } from "@/feature/core/invoice/invoice-module-key";
|
||||
import { DependencyContainer } from "tsyringe";
|
||||
|
||||
export default function serverDi(module: string): DependencyContainer {
|
||||
|
@ -1,7 +1,7 @@
|
||||
import di from "@/bootstrap/di/init-di";
|
||||
import { customerInvoiceRepoKey } from "@/feature/customer-invoice/domain/i-repo/customer-invoice-repo";
|
||||
import fetchCustomerInvoicesUsecase from "@/feature/customer-invoice/domain/usecase/fetch-customer-invoices-usecase";
|
||||
import CustomerDbRepo from "@/feature/customer/data/repo/customer-db-repo";
|
||||
import { customerInvoiceRepoKey } from "@/feature/core/customer-invoice/domain/i-repo/customer-invoice-repo";
|
||||
import fetchCustomerInvoicesUsecase from "@/feature/core/customer-invoice/domain/usecase/fetch-customer-invoices-usecase";
|
||||
import CustomerDbRepo from "@/feature/core/customer/data/repo/customer-db-repo";
|
||||
import { DependencyContainer } from "tsyringe";
|
||||
|
||||
export default function getCustomerInvoiceDi(): DependencyContainer {
|
@ -1,7 +1,7 @@
|
||||
import { formatCurrency } from "@/app/lib/utils";
|
||||
import { sql } from "@/bootstrap/db/db";
|
||||
import CustomerInvoice from "@/feature/customer-invoice/domain/entity/customer-invoice";
|
||||
import CustomerInvoiceRepo from "@/feature/customer-invoice/domain/i-repo/customer-invoice-repo";
|
||||
import CustomerInvoice from "@/feature/core/customer-invoice/domain/entity/customer-invoice";
|
||||
import CustomerInvoiceRepo from "@/feature/core/customer-invoice/domain/i-repo/customer-invoice-repo";
|
||||
import { connection } from "next/server";
|
||||
import postgres from "postgres";
|
||||
|
@ -0,0 +1,7 @@
|
||||
import CustomerInvoice from "@/feature/core/customer-invoice/domain/entity/customer-invoice"
|
||||
|
||||
export default interface CustomerInvoiceRepo {
|
||||
fetchList(): Promise<CustomerInvoice[]>
|
||||
}
|
||||
|
||||
export const customerInvoiceRepoKey = "customerInvoiceRepoKey"
|
@ -1,8 +1,8 @@
|
||||
"use server"
|
||||
import serverDi from "@/feature/common/server-di";
|
||||
import CustomerInvoice from "@/feature/customer-invoice/domain/entity/customer-invoice";
|
||||
import CustomerInvoiceRepo, { customerInvoiceRepoKey } from "@/feature/customer-invoice/domain/i-repo/customer-invoice-repo";
|
||||
import { customerInvoiceModuleKey } from "@/feature/customer-invoice/invoice-module-key";
|
||||
import CustomerInvoice from "@/feature/core/customer-invoice/domain/entity/customer-invoice";
|
||||
import CustomerInvoiceRepo, { customerInvoiceRepoKey } from "@/feature/core/customer-invoice/domain/i-repo/customer-invoice-repo";
|
||||
import { customerInvoiceModuleKey } from "@/feature/core/customer-invoice/invoice-module-key";
|
||||
|
||||
export default function fetchCustomerInvoicesUsecase(): Promise<CustomerInvoice[]> {
|
||||
const repo = serverDi(customerInvoiceModuleKey).resolve<CustomerInvoiceRepo>(customerInvoiceRepoKey)
|
@ -1,7 +1,7 @@
|
||||
import di from "@/bootstrap/di/init-di";
|
||||
import CustomerDbRepo from "@/feature/customer/data/repo/customer-db-repo";
|
||||
import { customerRepoKey } from "@/feature/customer/domain/i-repo/customer-repo";
|
||||
import fetchCustomersUsecase from "@/feature/customer/domain/usecase/fetch-customers-usecase";
|
||||
import CustomerDbRepo from "@/feature/core/customer/data/repo/customer-db-repo";
|
||||
import { customerRepoKey } from "@/feature/core/customer/domain/i-repo/customer-repo";
|
||||
import fetchCustomersUsecase from "@/feature/core/customer/domain/usecase/fetch-customers-usecase";
|
||||
import { DependencyContainer } from "tsyringe";
|
||||
|
||||
export default function getCustomerDi(): DependencyContainer {
|
@ -1,7 +1,7 @@
|
||||
import { formatCurrency } from "@/app/lib/utils";
|
||||
import { sql } from "@/bootstrap/db/db";
|
||||
import Customer from "@/feature/customer/domain/entity/customer";
|
||||
import CustomerRepo from "@/feature/customer/domain/i-repo/customer-repo";
|
||||
import Customer from "@/feature/core/customer/domain/entity/customer";
|
||||
import CustomerRepo from "@/feature/core/customer/domain/i-repo/customer-repo";
|
||||
import { connection } from "next/server";
|
||||
import postgres from "postgres";
|
||||
|
@ -1,4 +1,4 @@
|
||||
import Customer from "@/feature/customer/domain/entity/customer"
|
||||
import Customer from "@/feature/core/customer/domain/entity/customer"
|
||||
|
||||
export default interface CustomerRepo {
|
||||
fetchList(query: string): Promise<Customer[]>
|
@ -1,6 +1,6 @@
|
||||
import serverDi from "@/feature/common/server-di";
|
||||
import { customerKey } from "@/feature/customer/customer-key";
|
||||
import CustomerRepo, { customerRepoKey } from "@/feature/customer/domain/i-repo/customer-repo";
|
||||
import { customerKey } from "@/feature/core/customer/customer-key";
|
||||
import CustomerRepo, { customerRepoKey } from "@/feature/core/customer/domain/i-repo/customer-repo";
|
||||
|
||||
export default function fetchCustomersAmountUsecase(): Promise<number> {
|
||||
const repo = serverDi(customerKey).resolve<CustomerRepo>(customerRepoKey)
|
@ -1,9 +1,9 @@
|
||||
"use server"
|
||||
|
||||
import serverDi from "@/feature/common/server-di";
|
||||
import { customerKey } from "@/feature/customer/customer-key";
|
||||
import Customer from "@/feature/customer/domain/entity/customer";
|
||||
import CustomerRepo, { customerRepoKey } from "@/feature/customer/domain/i-repo/customer-repo";
|
||||
import { customerKey } from "@/feature/core/customer/customer-key";
|
||||
import Customer from "@/feature/core/customer/domain/entity/customer";
|
||||
import CustomerRepo, { customerRepoKey } from "@/feature/core/customer/domain/i-repo/customer-repo";
|
||||
|
||||
export default function fetchCustomersUsecase(query: string): Promise<Customer[]> {
|
||||
const repo = serverDi(customerKey).resolve<CustomerRepo>(customerRepoKey)
|
@ -1,6 +1,6 @@
|
||||
import di from "@/bootstrap/di/init-di";
|
||||
import invoiceDbRepo from "@/feature/invoice/data/repo/invoice-db-repo";
|
||||
import { invoiceRepoKey } from "@/feature/invoice/domain/i-repo/invoice-repo";
|
||||
import invoiceDbRepo from "@/feature/core/invoice/data/repo/invoice-db-repo";
|
||||
import { invoiceRepoKey } from "@/feature/core/invoice/domain/i-repo/invoice-repo";
|
||||
import { DependencyContainer } from "tsyringe";
|
||||
|
||||
export default function getInvoiceDi(): DependencyContainer {
|
@ -1,7 +1,7 @@
|
||||
import { formatCurrency } from "@/app/lib/utils";
|
||||
import { sql } from "@/bootstrap/db/db";
|
||||
import InvoiceRepo from "@/feature/invoice/domain/i-repo/invoice-repo";
|
||||
import InvoiceStatusSummary from "@/feature/invoice/domain/value-object/invoice-status";
|
||||
import InvoiceRepo from "@/feature/core/invoice/domain/i-repo/invoice-repo";
|
||||
import InvoiceStatusSummary from "@/feature/core/invoice/domain/value-object/invoice-status";
|
||||
import postgres from "postgres";
|
||||
|
||||
type InvoiceSummaryDbResponse = {paid: string, pending: string}
|
@ -1,4 +1,4 @@
|
||||
import InvoiceStatusSummary from "@/feature/invoice/domain/value-object/invoice-status"
|
||||
import InvoiceStatusSummary from "@/feature/core/invoice/domain/value-object/invoice-status"
|
||||
|
||||
export default interface InvoiceRepo {
|
||||
fetchAllInvoicesAmount(): Promise<number>
|
@ -1,7 +1,7 @@
|
||||
"use server"
|
||||
import serverDi from "@/feature/common/server-di";
|
||||
import InvoiceRepo, { invoiceRepoKey } from "@/feature/invoice/domain/i-repo/invoice-repo";
|
||||
import { invoiceModuleKey } from "@/feature/invoice/invoice-module-key";
|
||||
import InvoiceRepo, { invoiceRepoKey } from "@/feature/core/invoice/domain/i-repo/invoice-repo";
|
||||
import { invoiceModuleKey } from "@/feature/core/invoice/invoice-module-key";
|
||||
|
||||
export default function fetchAllInvoicesAmountUsecase(): Promise<number> {
|
||||
const repo = serverDi(invoiceModuleKey).resolve<InvoiceRepo>(invoiceRepoKey)
|
@ -0,0 +1,9 @@
|
||||
import serverDi from "@/feature/common/server-di";
|
||||
import InvoiceRepo, { invoiceRepoKey } from "@/feature/core/invoice/domain/i-repo/invoice-repo";
|
||||
import InvoiceStatusSummary from "@/feature/core/invoice/domain/value-object/invoice-status";
|
||||
import { invoiceModuleKey } from "@/feature/core/invoice/invoice-module-key";
|
||||
|
||||
export default function fetchInvoicesStatusSummary(): Promise<InvoiceStatusSummary> {
|
||||
const repo = serverDi(invoiceModuleKey).resolve<InvoiceRepo>(invoiceRepoKey)
|
||||
return repo.fetchInvoicesStatusSummary()
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
import CustomerInvoice from "@/feature/customer-invoice/domain/entity/customer-invoice"
|
||||
|
||||
export default interface CustomerInvoiceRepo {
|
||||
fetchList(): Promise<CustomerInvoice[]>
|
||||
}
|
||||
|
||||
export const customerInvoiceRepoKey = "customerInvoiceRepoKey"
|
@ -1,9 +0,0 @@
|
||||
import serverDi from "@/feature/common/server-di";
|
||||
import InvoiceRepo, { invoiceRepoKey } from "@/feature/invoice/domain/i-repo/invoice-repo";
|
||||
import InvoiceStatusSummary from "@/feature/invoice/domain/value-object/invoice-status";
|
||||
import { invoiceModuleKey } from "@/feature/invoice/invoice-module-key";
|
||||
|
||||
export default function fetchInvoicesStatusSummary(): Promise<InvoiceStatusSummary> {
|
||||
const repo = serverDi(invoiceModuleKey).resolve<InvoiceRepo>(invoiceRepoKey)
|
||||
return repo.fetchInvoicesStatusSummary()
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
import Customer from "@/feature/customer/domain/entity/customer";
|
||||
import Customer from "@/feature/core/customer/domain/entity/customer";
|
||||
import { faker } from "@faker-js/faker";
|
||||
|
||||
export default class CustomerFakeFactory {
|
||||
|
@ -1,9 +1,9 @@
|
||||
import CustomerRepo, { customerRepoKey } from "@/feature/customer/domain/i-repo/customer-repo";
|
||||
import CustomerRepo, { customerRepoKey } from "@/feature/core/customer/domain/i-repo/customer-repo";
|
||||
import { getMock } from "@/test/common/mock/mock-factory";
|
||||
import { describe } from "vitest";
|
||||
import { faker } from "@faker-js/faker";
|
||||
import CustomerFakeFactory from "@/test/common/fake-factory/customer/customer-fake-factory";
|
||||
import fetchCustomersUsecase from "@/feature/customer/domain/usecase/fetch-customers-usecase";
|
||||
import fetchCustomersUsecase from "@/feature/core/customer/domain/usecase/fetch-customers-usecase";
|
||||
import mockDi from "@/test/common/mock/mock-di";
|
||||
/* -------------------------------------------------------------------------- */
|
||||
/* Faking */
|
||||
|
Loading…
x
Reference in New Issue
Block a user