import type { AxiosPromise } from "axios"; import Api from "api/Api"; import type { ApiResponse } from "api/ApiResponses"; export type FetchCurrentTenantConfigResponse = ApiResponse<{ userPermissions: string[]; tenantConfiguration: Record; new: boolean; }>; export type UpdateTenantConfigResponse = ApiResponse<{ tenantConfiguration: Record; }>; export type UpdateTenantConfigRequest = { tenantConfiguration: Record; isOnlyTenantSettings: boolean; }; export class TenantApi extends Api { static tenantsUrl = "v1/tenants"; static fetchCurrentTenantConfig(): AxiosPromise { return Api.get(`${TenantApi.tenantsUrl}/current`); } static updateTenantConfig( request: UpdateTenantConfigRequest, ): AxiosPromise { return Api.put(`${TenantApi.tenantsUrl}`, request.tenantConfiguration); } } export default TenantApi;