import { useBaseModel, UseBaseModelType } from './use-base-model'; import { useBelongsTo, UseBelongsTo } from './use-belongs-to'; import { useHasOne, UseHasOne } from './use-has-one'; import { useHasMany, UseHasMany } from './use-has-many'; import { ApiKeys, PersonData, UserData, FormData, CreditData, KycData, AddressData, } from '../types'; export type UsePersonModelType = UseBaseModelType & { user: UseBelongsTo; form: UseBelongsTo; address: UseBelongsTo; credits: UseHasMany; kyc: UseHasOne; }; export const usePersons = (): UsePersonModelType => { const modelHooks = useBaseModel(ApiKeys.PERSONS); const user = useBelongsTo(modelHooks.model, 'user'); const form = useBelongsTo(modelHooks.model, 'form'); const credits = useHasMany(modelHooks.model, 'credits'); const kyc = useHasOne(modelHooks.model, 'kyc'); const address = useBelongsTo(modelHooks.model, 'address'); return { ...modelHooks, user, form, credits, kyc, address, }; };