UNPKG

backendless-console-sdk

Version:

Backendless Console SDK for Node.js and browser

185 lines (139 loc) 4.95 kB
import urls from './urls' const SYSTEM_API_KEYS = ['ANDROID', 'IOS', 'JS', 'REST', 'WP', 'AS', 'BL'] function normalizeAppSettings(result) { const systemAPIKeys = [] const customAPIKeys = [] result.apiKeysMap = {} result.apiKeys.forEach(apiKey => { const systemAPIKeyIndex = SYSTEM_API_KEYS.indexOf(apiKey.deviceType) if (systemAPIKeyIndex >= 0) { systemAPIKeys[systemAPIKeyIndex] = apiKey result.apiKeysMap[apiKey.deviceType] = apiKey.apiKey } else { customAPIKeys.push(apiKey) } }) result.apiKeys = [] systemAPIKeys.forEach(apiKey => { if (apiKey) { result.apiKeys.push(apiKey) } }) result.apiKeys.push(...customAPIKeys) return result } export default req => ({ getMobileSettings(appId) { return req.get(urls.mobileSettings(appId)) }, createAndroidMobileSettings(appId, settings) { return req.post(urls.mobileSettingsAndroid(appId), settings) }, updateAndroidMobileSettings(appId, settings, id) { return req.put(urls.mobileSettingsAndroid(appId, id), settings) }, deleteAndroidMobileSettings(appId, id) { return req.delete(urls.mobileSettingsAndroid(appId, id)) }, createAppleMobileSettings(appId, settings, deviceType) { return req.post(`${urls.mobileSettings(appId)}/${deviceType}`, settings) }, updateAppleMobileSettings(appId, settings, id, deviceType) { return req.put(`${urls.mobileSettings(appId)}/${deviceType}/${id}`, settings) }, deleteAppleMobileCertificate(appId, id, deviceType) { return req.delete(`${urls.mobileSettings(appId)}/${deviceType}/${id}`) }, /** * @deprecated * */ updateDomainNames(appId, domainNames) { return req.put(`${urls.appConsole(appId)}/domaincontrolsettings`, domainNames.split(/\s+/)) }, /** * @deprecated * */ updateCustomDomain(appId, domainName) { return req.put(`${urls.appConsole(appId)}/dnsmapping`, domainName) }, //--------------------------------// //-------- CUSTOM DOMAINS --------// getCustomDomains(appId) { return req.get(`${urls.appConsole(appId)}/settings/custom-domain`) }, createCustomDomain(appId, domainData) { return req.post(`${urls.appConsole(appId)}/settings/custom-domain`, domainData) }, assignCustomDomain(appId, domainData) { return req.post(`${urls.appConsole(appId)}/settings/custom-domain/assign-generated-domain`, domainData) }, changeCustomDomain(appId, domainData) { return req.put(`${urls.appConsole(appId)}/settings/custom-domain/${domainData.id}`, domainData) }, deleteCustomDomain(appId, domainId) { return req.delete(`${urls.appConsole(appId)}/settings/custom-domain/${domainId}`) }, //-------- CUSTOM DOMAINS --------// //--------------------------------// updateIOSCert(appId, data) { return req.post(`${urls.appConsole(appId)}/ioscert`, data) }, getDataValidators() { return req.get('/console/datavalidators') }, getAppSettings(appId) { return req.get(`${urls.appConsole(appId)}/appsettings`) .then(normalizeAppSettings) }, regenerateAPIKey(appId, apiKeyId) { return req.post(`${urls.appConsole(appId)}/apikey/${apiKeyId}/regenerate`) }, getAPIKey(appId, apiKeyId) { return req.get(`${urls.appConsole(appId)}/apikey/${apiKeyId}`) }, createAPIKey(appId, apiKey) { return req.post(`${urls.appConsole(appId)}/apikey`, apiKey) }, updateAPIKey(appId, apiKeyId, apiKey) { return req.put(`${urls.appConsole(appId)}/apikey/${apiKeyId}`, apiKey) }, deleteAPIKey(appId, apiKeyId) { return req.delete(`${urls.appConsole(appId)}/apikey/${apiKeyId}`) }, getAppLogging(appId) { return req.get(`${urls.appConsole(appId)}/logging/config`) }, setAppLogging(appId, logging) { console.warn('"ApiClient.settings.setAppLogging" is deprecated method, will be removed when fixed BKNDLSS-18585') return this.setAppLoggingConfig(appId, logging) }, setAppLoggingConfig(appId, config) { return req.post(`${urls.appConsole(appId)}/logging/config`, config) }, setAppLoggingIntegration(appId, integration) { return req.post(`${urls.appConsole(appId)}/logging/integration`, integration) }, clearLoggers(appId) { return req.delete(`${urls.appConsole(appId)}/logging/loggers`) }, updateSocialParams(appId, param) { return req.post(`${urls.appConsole(appId)}/socialparams`, param) }, getLandingPageData(appId) { return req.get(urls.landingPage(appId)) }, getLandingPageTemplates(appId) { return req.get(`${urls.landingPage(appId)}/templates`) }, saveLandingPageData(appId, data) { return req.put(urls.landingPage(appId), data) }, publishLandingPageData(appId, data) { return req.post(`${urls.landingPage(appId)}/publish`, data) }, uploadLandingPageFile(appId, file, section, name) { return req.post(`${urls.landingPage(appId)}/file`) .query({ section, name }) .form({ file }) }, })