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 interface UpdateTenantConfigRequest { tenantConfiguration: Record; needsRefresh?: boolean; isOnlyTenantSettings?: boolean; } export class TenantApi extends Api { static tenantsUrl = "v1/tenants"; static async fetchCurrentTenantConfig(): Promise< AxiosPromise > { return Api.get(`${TenantApi.tenantsUrl}/current`); } static async updateTenantConfig( request: UpdateTenantConfigRequest, ): Promise> { return Api.put(`${TenantApi.tenantsUrl}`, request.tenantConfiguration); } } export default TenantApi;