87 lines
1.9 KiB
JavaScript
87 lines
1.9 KiB
JavaScript
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",
|
|
})
|
|
},
|
|
})
|