import { type Ref, defineComponent, inject, ref } from 'vue'; import { useRoute, useRouter } from 'vue-router'; import UserAccountService from './user-account.service'; import { type IUserAccount } from '@/shared/model/user-account.model'; import { useAlertService } from '@/shared/alert/alert.service'; export default defineComponent({ compatConfig: { MODE: 3 }, name: 'UserAccountDetails', setup() { const userAccountService = inject('userAccountService', () => new UserAccountService()); const alertService = inject('alertService', () => useAlertService(), true); const route = useRoute(); const router = useRouter(); const previousState = () => router.go(-1); const userAccount: Ref = ref({}); const retrieveUserAccount = async userAccountId => { try { const res = await userAccountService().find(userAccountId); userAccount.value = res; } catch (error) { alertService.showHttpError(error.response); } }; if (route.params?.userAccountId) { retrieveUserAccount(route.params.userAccountId); } return { alertService, userAccount, previousState, }; }, });