import { getDefaultClient } from '../../factory' import type { AppRenameReqVO, AppRenameRespVO, AppCreateByTenantsReqVO, AppCreateByTenantsRespVO, AppCreateEntityReqVO, AppCreateEntityRespVO, AppGetAppSchemaRespVO, AppGetSiteMapsRespVO, AppSaveSiteMapsReqVO, AppUpdateAppReqVO, AppUpdateAppRespVO, AppUpdateI18nReqVO, AppUpdateI18nRespVO, AppGetEntitiesRespVO } from '../../types/app' import type { AppDeleteWidgetsRespVO, AppGetWidgetsRespVO, AppNewWidgetsReqVO, AppNewWidgetsRespVO, AppUpdateWidgetsReqVO, AppUpdateWidgetsRespVO, AppUpdateWidgetsIngressOptionsReqVO, AppUpdateWidgetsIngressOptionsRespVO, AppPreviewWidgetsDataReqVO, AppPreviewWidgetsDataRespVO, AppWidgetsListRespVO } from '../../types/widgets' // @endpoint PUT /apps/:id/name // @controller App.AppRename export async function renameApp( id: string, data: AppRenameReqVO ): Promise { return getDefaultClient().put(`/apps/${id}/name`, data) } // @endpoint POST /apps // @controller App.CreateAppByTenants export async function createAppByTenants( data: AppCreateByTenantsReqVO ): Promise { return getDefaultClient().post('/apps', data) } // @endpoint POST /apps/:id/entities // @controller App.CreateEntity export async function createEntity( id: string, data: AppCreateEntityReqVO ): Promise { return getDefaultClient().post(`/apps/${id}/entities`, data) } // @endpoint DELETE /apps/:id // @controller App.DeleteApp export async function deleteApp( id: string ): Promise { return getDefaultClient().delete(`/apps/${id}`) } // @endpoint DELETE /apps/:app_id/widgets/:widgets_id // @controller App.DeleteWidgets export async function deleteWidgets( appId: string, widgetsId: string ): Promise { return getDefaultClient().delete(`/apps/${appId}/widgets/${widgetsId}`) } // @endpoint POST /apps/:id/schema // @controller App.GetAppSchema export async function getAppSchema( id: string | number, refresh: boolean = false ): Promise { // mock cached return getDefaultClient().post(`/apps/${id}/schema`) } // @endpoint GET /apps/:id/entities // @controller App.GetEntities export async function getEntities( id: string ): Promise { return getDefaultClient().get(`/apps/${id}/entities`) } // @endpoint GET /permissions/predefined // @controller App.GetPredefinedPermissions export async function getPredefinedPermissions(): Promise { return getDefaultClient().get('/permissions/predefined') } // @endpoint GET /apps/:id/sitemap // @controller App.GetSiteMaps export async function getSiteMaps( id: string ): Promise { return getDefaultClient().get(`/apps/${id}/sitemap`) } // @endpoint GET /apps/:app_id/widgets/:widgets_id // @controller App.GetWidgets export async function getWidgets( appId: string, widgetsId: string ): Promise { return getDefaultClient().get(`/apps/${appId}/widgets/${widgetsId}`) } // @endpoint POST /apps/:app_id/widgets // @controller App.NewWidgets export async function newWidgets( appId: string, data: AppNewWidgetsReqVO ): Promise { return getDefaultClient().post(`/apps/${appId}/widgets`, data) } // @endpoint POST /apps/:app_id/widgets-preview // @controller App.PreviewWidgetsData export async function previewWidgetsData( appId: string, data: AppPreviewWidgetsDataReqVO ): Promise { return getDefaultClient().post(`/apps/${appId}/widgets-preview`, data) } // @endpoint PUT /apps/:id/sitemap // @controller App.SaveSiteMaps export async function saveSiteMaps( id: string, data: AppSaveSiteMapsReqVO ): Promise { return getDefaultClient().put(`/apps/${id}/sitemap`, data) } // @endpoint PUT /apps/:id // @controller App.UpdateApp export async function updateApp( id: string, data: AppUpdateAppReqVO ): Promise { return getDefaultClient().put(`/apps/${id}`, data) } // @endpoint PUT /apps/:app_id/i18n // @controller App.UpdateI18n export async function updateI18n( appId: string, data: AppUpdateI18nReqVO ): Promise { return getDefaultClient().put(`/apps/${appId}/i18n`, data) } // @endpoint PUT /apps/:app_id/widgets/:widgets_id // @controller App.UpdateWidgets export async function updateWidgets( appId: string, widgetsId: string, data: AppUpdateWidgetsReqVO ): Promise { return getDefaultClient().put(`/apps/${appId}/widgets/${widgetsId}`, data) } // @endpoint PUT /apps/:app_id/widgets/:widgets_id/ingress-options // @controller App.UpdateWidgetsIngressOptions export async function updateWidgetsIngressOptions( appId: string, widgetsId: string, data: AppUpdateWidgetsIngressOptionsReqVO ): Promise { return getDefaultClient().put(`/apps/${appId}/widgets/${widgetsId}/ingress-options`, data) } // @endpoint GET /apps/:app_id/widgets // @controller App.WidgetsList export async function widgetsList( appId: string ): Promise { return getDefaultClient().get(`/apps/${appId}/widgets`) }