import { useBaseModel, UseBaseModelType } from './use-base-model'; import { useBelongsTo, UseBelongsTo } from './use-belongs-to'; import { ApiKeys, AddressData, FormData, UserData, PersonData } from '../types'; import { useHasMany, UseHasMany } from './use-has-many'; export type UseAddressModelType = UseBaseModelType & { form: UseBelongsTo; user: UseBelongsTo; persons: UseHasMany; }; export const useAddresses = (): UseAddressModelType => { const modelHooks = useBaseModel(ApiKeys.ADDRESSES); const form = useBelongsTo(modelHooks.model, 'form'); const user = useBelongsTo(modelHooks.model, 'user'); const persons = useHasMany(modelHooks.model, 'persons'); return { ...modelHooks, form, user, persons, }; };