import type { AdminUser, Audit } from '@entities' import { endpointMaker } from '@services' import type { FilterType, HttpClient, IncludeType } from '@services' import type { ApiError, Response } from '@types' export type GetAuditByIdInput = { model: 'house' | 'change_request' | 'export' id: string attribute: string | null include?: IncludeType filter?: FilterType pagination?: { per: string page: string } } export type GetAuditByIdIncluded = { adminUsers: AdminUser | AdminUser[] } const getAuditById = (http: HttpClient) => ({ query: ( input: GetAuditByIdInput, ): Promise> => { const attr = input.attribute ? `/${input.attribute}` : '' const query = endpointMaker({ filter: input.filter, includes: input.include, pagination: input.pagination, }) return http.get(`v3/admin/audits/${input.model}/${input.id}${attr}${query}`) }, }) export default getAuditById