28 lines
1.1 KiB
TypeScript
28 lines
1.1 KiB
TypeScript
import { useCompanyQueryScope, useDataSource } from "@erp/core/hooks";
|
|
import { companyQueryKey } from "@erp/core/query";
|
|
import { useIdentityAuthSession } from "@erp/identity/client";
|
|
import { type DefaultError, useQuery } from "@tanstack/react-query";
|
|
|
|
import { findAuditEntryById } from "../api/find-audit-entry-by-id.api";
|
|
import type { AuditEntryDetail } from "../entities/audit-entry-detail.entity";
|
|
|
|
import { auditQueryKeys } from "./audit-query-keys";
|
|
|
|
export const useAuditEntry = (id: string | null) => {
|
|
const queryScope = useCompanyQueryScope();
|
|
const dataSource = useDataSource();
|
|
const { activeCompany } = useIdentityAuthSession();
|
|
const companyId = activeCompany?.id ?? "none";
|
|
|
|
return useQuery<AuditEntryDetail, DefaultError>({
|
|
queryKey: companyQueryKey(queryScope, auditQueryKeys.detail(companyId, id ?? "none")),
|
|
queryFn: ({ signal }) => {
|
|
if (!id) {
|
|
throw new Error("auditEntryId is required");
|
|
}
|
|
return findAuditEntryById(dataSource, { id, signal });
|
|
},
|
|
enabled: activeCompany !== null && id !== null,
|
|
});
|
|
};
|