export const buildConfigEndpoints = API => ({ /** * Saves a global config. * @param config the config to save */ saveConfig: async config => { return await API.post({ url: "/api/global/configs", body: config, }) }, /** * Gets a global config of a certain type. * @param type the type to fetch */ getConfig: async type => { return await API.get({ url: `/api/global/configs/${type}`, }) }, /** * Gets the config for a certain tenant. * @param tenantId the tenant ID to get the config for */ getTenantConfig: async tenantId => { return await API.get({ url: `/api/global/configs/public?tenantId=${tenantId}`, }) }, /** * Gets the OIDC config for a certain tenant. * @param tenantId the tenant ID to get the config for */ getOIDCConfig: async tenantId => { return await API.get({ url: `/api/global/configs/public/oidc?tenantId=${tenantId}`, }) }, /** * Gets the checklist for a specific tenant. * @param tenantId the tenant ID to get the checklist for */ getChecklist: async tenantId => { return await API.get({ url: `/api/global/configs/checklist?tenantId=${tenantId}`, }) }, /** * Updates the company logo for the environment. * @param data the logo form data */ uploadLogo: async data => { return await API.post({ url: "/api/global/configs/upload/settings/logoUrl", body: data, json: false, }) }, /** * Uploads a logo for an OIDC provider. * @param name the name of the OIDC provider * @param data the logo form data to upload */ uploadOIDCLogo: async ({ name, data }) => { return await API.post({ url: `/api/global/configs/upload/logos_oidc/${name}`, body: data, json: false, }) }, /** * Gets the list of OIDC logos. */ getOIDCLogos: async () => { return await API.get({ url: "/api/global/configs/logos_oidc", }) }, })