import { ApplicationFormApi, Configuration } from '../.api-client' import type { CreateApplicationFormDto, ApplicationFormDto, PagedApplicationFormDto } from '~/.api-client' import { cleanDoubleSlashes } from 'ufo' export function useApplicationFormApi() { const appBaseUrl = useRuntimeConfig().app.baseURL const { serverApiBaseUrl, serverApiBasePath, clientProxyBasePath } = useRuntimeConfig().public const basePath = cleanDoubleSlashes( import.meta.client ? appBaseUrl + clientProxyBasePath : serverApiBaseUrl + serverApiBasePath ) const applicationFormApiClient = new ApplicationFormApi(new Configuration({ basePath })) async function createApplicationForm( createApplicationFormDto: CreateApplicationFormDto ): Promise { return applicationFormApiClient.createApplicationForm({ createApplicationFormDto }) } async function getAllApplicationForms(): Promise { return applicationFormApiClient.getAllApplicationForms() } async function getApplicationFormById(id: string): Promise { return applicationFormApiClient.getApplicationFormById({ id }) } async function updateApplicationForm( id: string, applicationFormDto: ApplicationFormDto ): Promise { return applicationFormApiClient.updateApplicationForm({ id, applicationFormDto }) } async function deleteApplicationFormById(id: string): Promise { return applicationFormApiClient.deleteApplicationForm({ id }) } return { createApplicationForm, getAllApplicationForms, getApplicationFormById, updateApplicationForm, deleteApplicationFormById } }