feature/research-di #1
@ -30,6 +30,7 @@
|
||||
"react-dom": "19.0.0-rc-69d4b800-20241021",
|
||||
"react-i18next": "^15.1.0",
|
||||
"reflect-metadata": "^0.2.2",
|
||||
"server-only": "^0.0.1",
|
||||
"tailwind-merge": "^2.5.4",
|
||||
"tailwindcss-animate": "^1.0.7",
|
||||
"tsyringe": "^4.8.0",
|
||||
|
@ -1,5 +1,7 @@
|
||||
import fetchSummaryInfoUsecase from "@/feature/core/summary-info/domain/usecase/fetch-summary-info-usecase";
|
||||
import { connection } from "next/server";
|
||||
|
||||
export default function cardsController() {
|
||||
connection();
|
||||
return fetchSummaryInfoUsecase();
|
||||
}
|
||||
|
@ -1,5 +1,7 @@
|
||||
import fetchCustomerInvoicesUsecase from "@/feature/core/customer-invoice/domain/usecase/fetch-customer-invoices-usecase";
|
||||
import { connection } from "next/server";
|
||||
|
||||
export default function latestInvoicesController() {
|
||||
connection();
|
||||
return fetchCustomerInvoicesUsecase();
|
||||
}
|
||||
|
@ -1,3 +1,4 @@
|
||||
import "server-only";
|
||||
import { ApiEither } from "@/feature/common/data/api-task";
|
||||
import serverDi from "@/feature/common/server-di";
|
||||
import CustomerInvoice from "@/feature/core/customer-invoice/domain/entity/customer-invoice";
|
||||
@ -5,12 +6,10 @@ import CustomerInvoiceRepo, {
|
||||
customerInvoiceRepoKey,
|
||||
} from "@/feature/core/customer-invoice/domain/i-repo/customer-invoice-repo";
|
||||
import { customerInvoiceModuleKey } from "@/feature/core/customer-invoice/invoice-module-key";
|
||||
import { connection } from "next/server";
|
||||
|
||||
export default async function fetchCustomerInvoicesUsecase(): Promise<
|
||||
export default function fetchCustomerInvoicesUsecase(): Promise<
|
||||
ApiEither<CustomerInvoice[]>
|
||||
> {
|
||||
connection();
|
||||
const repo = serverDi(customerInvoiceModuleKey).resolve<CustomerInvoiceRepo>(
|
||||
customerInvoiceRepoKey,
|
||||
);
|
||||
|
@ -1,3 +1,4 @@
|
||||
import "server-only";
|
||||
import serverDi from "@/feature/common/server-di";
|
||||
import { customerKey } from "@/feature/core/customer/customer-key";
|
||||
import CustomerRepo, {
|
||||
|
@ -1,5 +1,4 @@
|
||||
"use server";
|
||||
|
||||
import "server-only";
|
||||
import { ApiEither } from "@/feature/common/data/api-task";
|
||||
import serverDi from "@/feature/common/server-di";
|
||||
import { customerKey } from "@/feature/core/customer/customer-key";
|
||||
@ -7,12 +6,10 @@ import Customer from "@/feature/core/customer/domain/entity/customer";
|
||||
import CustomerRepo, {
|
||||
customerRepoKey,
|
||||
} from "@/feature/core/customer/domain/i-repo/customer-repo";
|
||||
import { connection } from "next/server";
|
||||
|
||||
export default function fetchCustomersUsecase(
|
||||
query: string,
|
||||
): Promise<ApiEither<Customer[]>> {
|
||||
connection();
|
||||
const repo = serverDi(customerKey).resolve<CustomerRepo>(customerRepoKey);
|
||||
|
||||
return repo.fetchList(query)();
|
||||
|
@ -1,12 +1,11 @@
|
||||
"use server";
|
||||
|
||||
import "server-only";
|
||||
import serverDi from "@/feature/common/server-di";
|
||||
import InvoiceRepo, {
|
||||
invoiceRepoKey,
|
||||
} from "@/feature/core/invoice/domain/i-repo/invoice-repo";
|
||||
import { invoiceModuleKey } from "@/feature/core/invoice/invoice-module-key";
|
||||
|
||||
export default async function fetchAllInvoicesAmountUsecase(): Promise<number> {
|
||||
export default function fetchAllInvoicesAmountUsecase(): Promise<number> {
|
||||
const repo = serverDi(invoiceModuleKey).resolve<InvoiceRepo>(invoiceRepoKey);
|
||||
|
||||
return repo.fetchAllInvoicesAmount();
|
||||
|
@ -1,3 +1,4 @@
|
||||
import "server-only";
|
||||
import serverDi from "@/feature/common/server-di";
|
||||
import InvoiceRepo, {
|
||||
invoiceRepoKey,
|
||||
@ -5,7 +6,7 @@ import InvoiceRepo, {
|
||||
import InvoiceStatusSummary from "@/feature/core/invoice/domain/value-object/invoice-status";
|
||||
import { invoiceModuleKey } from "@/feature/core/invoice/invoice-module-key";
|
||||
|
||||
export default async function fetchInvoicesStatusSummary(): Promise<InvoiceStatusSummary> {
|
||||
export default function fetchInvoicesStatusSummary(): Promise<InvoiceStatusSummary> {
|
||||
const repo = serverDi(invoiceModuleKey).resolve<InvoiceRepo>(invoiceRepoKey);
|
||||
return repo.fetchInvoicesStatusSummary();
|
||||
}
|
||||
|
@ -1,3 +1,4 @@
|
||||
import "server-only";
|
||||
import serverDi from "@/feature/common/server-di";
|
||||
import Revenue from "@/feature/core/revenue/domain/entity/revenue";
|
||||
import RevenueRepo, {
|
||||
@ -5,7 +6,7 @@ import RevenueRepo, {
|
||||
} from "@/feature/core/revenue/domain/i-repo/revenue-repo";
|
||||
import { revenueModuleKey } from "@/feature/core/revenue/domain/revenue-module-key";
|
||||
|
||||
export default async function fetchRevenuesUsecase(): Promise<Revenue[]> {
|
||||
export default function fetchRevenuesUsecase(): Promise<Revenue[]> {
|
||||
const repo = serverDi(revenueModuleKey).resolve<RevenueRepo>(revenueRepoKey);
|
||||
return repo.fetchRevenues();
|
||||
}
|
||||
|
@ -1,14 +1,12 @@
|
||||
import "server-only";
|
||||
import serverDi from "@/feature/common/server-di";
|
||||
import fetchCustomersAmountUsecase from "@/feature/core/customer/domain/usecase/fetch-customers-amount-usecase";
|
||||
import fetchAllInvoicesAmountUsecase from "@/feature/core/invoice/domain/usecase/fetch-all-invoices-amount-usecase";
|
||||
import fetchInvoicesStatusSummary from "@/feature/core/invoice/domain/usecase/fetch-invoices-status-summary";
|
||||
import { summaryInfoModuleKey } from "@/feature/core/summary-info/domain/summary-info-module-key";
|
||||
import SummaryInfo from "@/feature/core/summary-info/domain/value-object/summary-info";
|
||||
import { connection } from "next/server";
|
||||
|
||||
export default async function fetchSummaryInfoUsecase(): Promise<SummaryInfo> {
|
||||
connection();
|
||||
|
||||
try {
|
||||
const summaryInfoDi = serverDi(summaryInfoModuleKey);
|
||||
const invoicesAmountPromise = summaryInfoDi.resolve<
|
||||
|
@ -3663,6 +3663,11 @@ semver@^7.3.5, semver@^7.6.0, semver@^7.6.3:
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143"
|
||||
integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==
|
||||
|
||||
server-only@^0.0.1:
|
||||
version "0.0.1"
|
||||
resolved "https://registry.yarnpkg.com/server-only/-/server-only-0.0.1.tgz#0f366bb6afb618c37c9255a314535dc412cd1c9e"
|
||||
integrity sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==
|
||||
|
||||
set-blocking@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
|
||||
|
Loading…
x
Reference in New Issue
Block a user