import { fetcher } from 'pankow'; function create(origin, accessToken) { return { async getGlobalProfileConfig() { let error, result; try { result = await fetcher.get(`${origin}/api/v1/user_directory/profile_config`, { access_token: accessToken }); } catch (e) { error = e; } if (error || result.status !== 200) return [error || result]; return [null, result.body]; }, async setGlobalProfileConfig(config) { let error, result; try { result = await fetcher.post(`${origin}/api/v1/user_directory/profile_config`, config, { access_token: accessToken }); } catch (e) { error = e; } if (error || result.status !== 200) return [error || result]; return [null]; }, async getExternalLdapConfig() { let error, result; try { result = await fetcher.get(`${origin}/api/v1/external_ldap/config`, { access_token: accessToken }); } catch (e) { error = e; } if (error || result.status !== 200) return [error || result]; return [null, result.body]; }, async setExternalLdapConfig(config) { let error, result; try { result = await fetcher.post(`${origin}/api/v1/external_ldap/config`, config, { access_token: accessToken }); } catch (e) { error = e; } if (error || result.status !== 200) return [error || result]; return [null]; }, async startExternalLdapSync() { let error, result; try { result = await fetcher.post(`${origin}/api/v1/external_ldap/sync`, {}, { access_token: accessToken }); } catch (e) { error = e; } if (error || result.status !== 202) return [error || result]; return [null, result.body.taskId]; }, async getExposedLdapConfig() { let error, result; try { result = await fetcher.get(`${origin}/api/v1/directory_server/config`, { access_token: accessToken }); } catch (e) { error = e; } if (error || result.status !== 200) return [error || result]; return [null, result.body]; }, async setExposedLdapConfig(config) { const data = { enabled: config.enabled, allowlist: config.allowlist, secret: config.secret, }; let error, result; try { result = await fetcher.post(`${origin}/api/v1/directory_server/config`, data, { access_token: accessToken }); } catch (e) { error = e; } if (error || result.status !== 202) return [error || result]; return [null]; }, }; } export default { create, };