Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 

35 linhas
828 B

  1. import { serverFetchJson } from "@/app/utils/fetchUtil";
  2. import { BASE_API_URL } from "@/config/api";
  3. import { cache } from "react";
  4. import "server-only";
  5. export interface InvoiceResult {
  6. id: number;
  7. projectCode: string;
  8. projectName: string;
  9. stage: String;
  10. comingPaymentMileStone: string;
  11. paymentMilestoneDate: string;
  12. resourceUsage: number;
  13. unbilledHours: number;
  14. reminder: string;
  15. }
  16. export interface InvoiceInformatio{
  17. id: number;
  18. address: string;
  19. attention: string;
  20. invoiceDate: string;
  21. dueDate: string;
  22. projectRefNo: string;
  23. }
  24. export const preloadInvoices = () => {
  25. fetchInvoices();
  26. };
  27. export const fetchInvoices = cache(async () => {
  28. return serverFetchJson<InvoiceResult[]>(`${BASE_API_URL}/invoices`, {
  29. next: { tags: ["invoices"] },
  30. });
  31. });