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({ 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, }); };