UNPKG

cloudways-js-client

Version:

A client library to power your applications with Cloudways API

1,588 lines (1,568 loc) 75.7 kB
"use strict"; var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/index.ts var src_exports = {}; __export(src_exports, { AddDNSMadeEasyDomains: () => AddDNSMadeEasyDomains, AddRecordToDnsMadeEasyDomain: () => AddRecordToDnsMadeEasyDomain, BotProtectionActivation: () => BotProtectionActivation, BotProtectionBadBotsList: () => BotProtectionBadBotsList, BotProtectionBadBotsWhitelisting: () => BotProtectionBadBotsWhitelisting, BotProtectionDeactivation: () => BotProtectionDeactivation, BotProtectionIpWhitelisting: () => BotProtectionIpWhitelisting, BotProtectionLoginTraffic: () => BotProtectionLoginTraffic, BotProtectionLoginTrafficSummary: () => BotProtectionLoginTrafficSummary, BotProtectionStatus: () => BotProtectionStatus, BotProtectionTraffic: () => BotProtectionTraffic, BotProtectionTrafficSummary: () => BotProtectionTrafficSummary, BotProtectionWhiteListedBots: () => BotProtectionWhiteListedBots, BotProtectionWhiteListedIps: () => BotProtectionWhiteListedIps, ClearAppCache: () => ClearAppCache, DeleteApp: () => DeleteApp, DeleteDNSMadeEasyDomains: () => DeleteDNSMadeEasyDomains, DeleteRecordfromDnsMadeEasyDomain: () => DeleteRecordfromDnsMadeEasyDomain, GetCurrentMonthDnsMadeEasyDomainUsage: () => GetCurrentMonthDnsMadeEasyDomainUsage, HtaccesUpdateCredentials: () => HtaccesUpdateCredentials, HtaccessAuthCredentials: () => HtaccessAuthCredentials, HttpMethod: () => HttpMethod, UpdateSafeupdates: () => UpdateSafeupdates, UpdateSafeupdatesStatus: () => UpdateSafeupdatesStatus, activateAddOnServer: () => activateAddOnServer, activateAddonOnAccountLevel: () => activateAddonOnAccountLevel, addApp: () => addApp, addTeamMember: () => addTeamMember, addonRequestForApplication: () => addonRequestForApplication, allowAdminer: () => allowAdminer, allowSiab: () => allowSiab, apiCall: () => apiCall, aplicationBackup: () => aplicationBackup, attachBlockStorage: () => attachBlockStorage, backupServer: () => backupServer, cancelServerTransferProcess: () => cancelServerTransferProcess, changeAppAccessState: () => changeAppAccessState, changeAutoRenewalPolicy: () => changeAutoRenewalPolicy, changeServiceState: () => changeServiceState, checkIfIpBlacklist: () => checkIfIpBlacklist, cloneApp: () => cloneApp, cloneAppToOtherServer: () => cloneAppToOtherServer, cloneServer: () => cloneServer, cloneStagingApp: () => cloneStagingApp, cloneStagingAppToOtherServer: () => cloneStagingAppToOtherServer, configureSmartCachePurge: () => configureSmartCachePurge, createAlertChannel: () => createAlertChannel, createAppCredentials: () => createAppCredentials, createDns: () => createDns, createProject: () => createProject, createSSHKey: () => createSSHKey, createServer: () => createServer, createSupervisordQueue: () => createSupervisordQueue, deactivateAddOnYourServer: () => deactivateAddOnYourServer, deactivateAnAddon: () => deactivateAnAddon, deleteAppCredential: () => deleteAppCredential, deleteCloudwaysBotChannel: () => deleteCloudwaysBotChannel, deleteCname: () => deleteCname, deleteDomain: () => deleteDomain, deleteElasticEmailDomain: () => deleteElasticEmailDomain, deleteLocalBackup: () => deleteLocalBackup, deleteLocalServerBackups: () => deleteLocalServerBackups, deleteProject: () => deleteProject, deleteSSHKey: () => deleteSSHKey, deleteServer: () => deleteServer, deleteSupervisordQueue: () => deleteSupervisordQueue, deleteTeamMember: () => deleteTeamMember, enforceHTTPS: () => enforceHTTPS, fetchTxtRecords: () => fetchTxtRecords, generateGitSsh: () => generateGitSsh, getAddonsList: () => getAddonsList, getAllAlertChannels: () => getAllAlertChannels, getAllAlerts: () => getAllAlerts, getAllTeamMember: () => getAllTeamMember, getAndWaitForOperationStatusCompleted: () => getAndWaitForOperationStatusCompleted, getAplicacionWebPRedirectionStatus: () => getAplicacionWebPRedirectionStatus, getAplicationTable: () => getAplicationTable, getAppBackupStatus: () => getAppBackupStatus, getAppCredentials: () => getAppCredentials, getAppList: () => getAppList, getAppSettingValue: () => getAppSettingValue, getApplicationAccessState: () => getApplicationAccessState, getApplicationCron: () => getApplicationCron, getApplicationDiskUsage: () => getApplicationDiskUsage, getApplicationDiskUsageGraph: () => getApplicationDiskUsageGraph, getApplicationSshAccessStatus: () => getApplicationSshAccessStatus, getApplicationTrafficAnalytics: () => getApplicationTrafficAnalytics, getApplicationTrafficDetail: () => getApplicationTrafficDetail, getBackupFrequencies: () => getBackupFrequencies, getBranchNames: () => getBranchNames, getCloudflareDetails: () => getCloudflareDetails, getClouflareCacheAnalytics: () => getClouflareCacheAnalytics, getClouflareSecurityAnalytics: () => getClouflareSecurityAnalytics, getClouflareSettings: () => getClouflareSettings, getCountriesList: () => getCountriesList, getCronList: () => getCronList, getDNSMadeEasyDomainsRecords: () => getDNSMadeEasyDomainsRecords, getDNSMadeEasyDomainsStatus: () => getDNSMadeEasyDomainsStatus, getDiskCleanupSettings: () => getDiskCleanupSettings, getDiskUsage: () => getDiskUsage, getDnsQuery: () => getDnsQuery, getElasticEmailDomains: () => getElasticEmailDomains, getFpmSettings: () => getFpmSettings, getGitDeploymentHistory: () => getGitDeploymentHistory, getGitSsh: () => getGitSsh, getMonitorDurations: () => getMonitorDurations, getMonitorTargets: () => getMonitorTargets, getMonitoringGraph: () => getMonitoringGraph, getMySQLInformation: () => getMySQLInformation, getOperationStatus: () => getOperationStatus, getPHPInformation: () => getPHPInformation, getPackageList: () => getPackageList, getPaginatedAlerts: () => getPaginatedAlerts, getProjectList: () => getProjectList, getProviderList: () => getProviderList, getRegionList: () => getRegionList, getSafeUpdatesDetail: () => getSafeUpdatesDetail, getSafeUpdatesHistory: () => getSafeUpdatesHistory, getSafeUpdatesList: () => getSafeUpdatesList, getSafeUpdatesSchedule: () => getSafeUpdatesSchedule, getSafeUpdatesSettings: () => getSafeUpdatesSettings, getSafeUpdatesStatus: () => getSafeUpdatesStatus, getServerMaintenanceWindowSettings: () => getServerMaintenanceWindowSettings, getServerSettings: () => getServerSettings, getServerSizesList: () => getServerSizesList, getServerSummary: () => getServerSummary, getServerTransferStatus: () => getServerTransferStatus, getServerUsage: () => getServerUsage, getServersList: () => getServersList, getServiceStatus: () => getServiceStatus, getSettingsList: () => getSettingsList, getSmartCachePurgeStatus: () => getSmartCachePurgeStatus, getUserAlertChannels: () => getUserAlertChannels, getVarnishSettings: () => getVarnishSettings, getVarnishStateAppLevel: () => getVarnishStateAppLevel, getWhiteListedIpsForSshSftp: () => getWhiteListedIpsForSshSftp, getWhitelistedIpsMysqlConnections: () => getWhitelistedIpsMysqlConnections, getupervisordQueueStatus: () => getupervisordQueueStatus, getupervisordQueues: () => getupervisordQueues, initializeCloudwaysApi: () => initializeCloudwaysApi, installLetsEncrypt: () => installLetsEncrypt, listApplicationVulnerabilities: () => listApplicationVulnerabilities, listDNSMadeEasyDomains: () => listDNSMadeEasyDomains, markAlertAsRead: () => markAlertAsRead, markAllAlertsAsRead: () => markAllAlertsAsRead, optimizeServerDisk: () => optimizeServerDisk, ownSslCertificate: () => ownSslCertificate, postSafeUpdatesSettings: () => postSafeUpdatesSettings, purgeDomain: () => purgeDomain, refreshApplicationVulnerabilities: () => refreshApplicationVulnerabilities, removeOwnSslCertificate: () => removeOwnSslCertificate, renewLetsEncryptManually: () => renewLetsEncryptManually, requestForServerTransfer: () => requestForServerTransfer, resetFilePermissions: () => resetFilePermissions, restartServer: () => restartServer, restartSupervisordQueue: () => restartSupervisordQueue, restoreApp: () => restoreApp, revokeLetsEncrypt: () => revokeLetsEncrypt, rollbackRestore: () => rollbackRestore, scaleBlockStorage: () => scaleBlockStorage, scaleVolumeSize: () => scaleVolumeSize, searchKnowledgeBase: () => searchKnowledgeBase, setUpCloudflareforYourApp: () => setUpCloudflareforYourApp, stagingApplicationDeploymentLogs: () => stagingApplicationDeploymentLogs, startGitClone: () => startGitClone, startGitPull: () => startGitPull, startServer: () => startServer, stopServer: () => stopServer, syncApp: () => syncApp, transferDomain: () => transferDomain, updateAppAdminPassword: () => updateAppAdminPassword, updateAppAlias: () => updateAppAlias, updateAppCname: () => updateAppCname, updateAppCredential: () => updateAppCredential, updateAppGeoIpHeaderStatus: () => updateAppGeoIpHeaderStatus, updateAppLabel: () => updateAppLabel, updateAppXMLRCPheaderStatus: () => updateAppXMLRCPheaderStatus, updateApplicationSshAccessStatus: () => updateApplicationSshAccessStatus, updateBackupSettings: () => updateBackupSettings, updateCloudflareSettings: () => updateCloudflareSettings, updateCloudwaysBotIntegration: () => updateCloudwaysBotIntegration, updateCorsHeaders: () => updateCorsHeaders, updateCronList: () => updateCronList, updateCronOptimizerStatus: () => updateCronOptimizerStatus, updateDBPassword: () => updateDBPassword, updateDeviceDetentionStatus: () => updateDeviceDetentionStatus, updateDirectPHPExecutionStatus: () => updateDirectPHPExecutionStatus, updateDiskCleanupSettings: () => updateDiskCleanupSettings, updateFPMsettings: () => updateFPMsettings, updateIgnoreQueryStringStatus: () => updateIgnoreQueryStringStatus, updateMasterPassword: () => updateMasterPassword, updateMasterUsername: () => updateMasterUsername, updateProject: () => updateProject, updateRecordOfDnsMadeEasyDomain: () => updateRecordOfDnsMadeEasyDomain, updateSSHKey: () => updateSSHKey, updateServerLabel: () => updateServerLabel, updateServerMaintenanceWindowSettings: () => updateServerMaintenanceWindowSettings, updateServerPackage: () => updateServerPackage, updateServerSettings: () => updateServerSettings, updateServerVarnishState: () => updateServerVarnishState, updateSnapshotFrecuency: () => updateSnapshotFrecuency, updateSymlink: () => updateSymlink, updateTeamMember: () => updateTeamMember, updateVarnishSettings: () => updateVarnishSettings, updateVarnishStateAppLevel: () => updateVarnishStateAppLevel, updateWebroot: () => updateWebroot, updateWhitelistedIps: () => updateWhitelistedIps, upgradeAddonPackage: () => upgradeAddonPackage, upgradeServer: () => upgradeServer, verifyDns: () => verifyDns, verifyElasticEmailDomain: () => verifyElasticEmailDomain, verifyTxtRecords: () => verifyTxtRecords }); module.exports = __toCommonJS(src_exports); // src/services/core/index.ts var import_axios = __toESM(require("axios")); // src/services/core/types.ts var HttpMethod = /* @__PURE__ */ ((HttpMethod2) => { HttpMethod2["GET"] = "GET"; HttpMethod2["POST"] = "POST"; HttpMethod2["PUT"] = "PUT"; HttpMethod2["DELETE"] = "DELETE"; HttpMethod2["PATCH"] = "PATCH"; return HttpMethod2; })(HttpMethod || {}); // src/services/core/index.ts var config = { email: "", api_key: "" }; var authToken = null; function initializeCloudwaysApi(email, apiKey) { config = { email, api_key: apiKey }; } async function getNewToken() { if (!config.email || !config.api_key) { throw new Error( "Configuration is incomplete. Please initialize with email and api_key." ); } try { const response = await import_axios.default.post( "https://api.cloudways.com/api/v1/oauth/access_token", config ); authToken = { token: response.data.access_token, expiration: Date.now() + (response.data.expires_in - 300) * 1e3 }; } catch (error) { throw new Error( `Error getting new token: ${error instanceof Error ? error.message : String(error)}` ); } } async function apiCall(endpoint, method = "GET" /* GET */, data = null) { if (!authToken || Date.now() >= authToken.expiration) { await getNewToken(); } if (!authToken) { throw new Error("No API token available."); } try { const response = await (0, import_axios.default)({ url: `https://api.cloudways.com/api/v1${endpoint}`, method, headers: { Authorization: `Bearer ${authToken.token}` }, data }); return response.data; } catch (error) { throw new Error( `API call failed: ${error instanceof Error ? error.message : String(error)}` ); } } // src/services/Lists/index.ts function getAppList() { return apiCall("/apps").then((response) => { const appList = []; for (const app in response.apps) { appList.push({ label: app, versions: response.apps[app] }); } return appList; }); } function getBackupFrequencies() { return apiCall("/backup-frequencies").then( (response) => response.frequencies ); } function getCountriesList() { return apiCall("/countries").then((response) => response); } function getMonitorDurations() { return apiCall("/monitor_durations").then((response) => response.durations); } function getMonitorTargets() { return apiCall("/monitor_targets").then((response) => { const monitorTargetsList = []; for (const provider in response) { monitorTargetsList.push({ provider, targets: response[provider] }); } return monitorTargetsList; }); } function getPackageList() { return apiCall("/packages"); } function getProviderList() { return apiCall("/providers").then((response) => response.providers); } function getRegionList() { return apiCall("/regions").then((response) => { const regionsArray = Object.values(response.regions).flat(); return regionsArray; }); } function getServerSizesList() { return apiCall("/server_sizes").then((response) => { const serverSizesList = []; for (const provider in response.sizes) { serverSizesList.push({ provider, sizes: response.sizes[provider] }); } return serverSizesList; }); } function getSettingsList() { return apiCall("/settings").then((response) => { const settingsList = []; for (const setting in response.settings) { settingsList.push({ setting, values: Object.keys(response.settings[setting]) }); } return settingsList; }); } // src/services/projects/index.ts async function createProject(name, appIds) { const data = { name, app_ids: appIds }; return apiCall("/project", "POST" /* POST */, data).then( (response) => response.project ); } async function deleteProject(id) { return apiCall(`/project/${id}`, "DELETE" /* DELETE */); } async function getProjectList() { return apiCall("/project").then((response) => response.projects); } async function updateProject(id, name, appIds) { const data = { name, app_ids: appIds }; return apiCall(`/project/${id}`, "PUT" /* PUT */, data).then( (response) => response.project ); } // src/utils.ts var sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms)); // src/services/operation/index.ts function getOperationStatus(id) { return apiCall(`/operation/${id}`, "GET" /* GET */).then( (response) => response.operation ); } async function getAndWaitForOperationStatusCompleted(operationId) { let operationStatus = await getOperationStatus(operationId); while (operationStatus.is_completed !== "1") { const waitTime = operationStatus.estimated_time_remaining ? parseInt(operationStatus.estimated_time_remaining) * 6e4 : 5e3; await sleep(waitTime); operationStatus = await getOperationStatus(operationId); } return operationStatus; } // src/services/application/index.ts async function addApp(serverId, application, appLabel, projectName) { const data = { server_id: serverId, application, app_label: appLabel, project_name: projectName || "" }; const req = await apiCall("/app", "POST" /* POST */, data); return await getAndWaitForOperationStatusCompleted(req.operation_id); } async function cloneApp(serverId, appId, appLabel) { const data = { server_id: serverId, app_id: appId, app_label: appLabel }; const req = await apiCall("/app/clone", "POST" /* POST */, data); return await getAndWaitForOperationStatusCompleted(req.operation_id); } async function cloneAppToOtherServer(serverId, appId, destinationServerId) { const data = { server_id: serverId, app_id: appId, destination_server_id: destinationServerId }; const req = await apiCall("/app/cloneToOtherServer", "POST" /* POST */, data); return await getAndWaitForOperationStatusCompleted(req.operation_id); } async function cloneStagingApp(serverId, appId) { const data = { server_id: serverId, app_id: appId }; const req = await apiCall("/staging/app/cloneApp", "POST" /* POST */, data); return await getAndWaitForOperationStatusCompleted(req.destination_operation_id); } async function cloneStagingAppToOtherServer(serverId, appId, destinationServerId) { const data = { server_id: serverId, app_id: appId, destination_server_id: destinationServerId }; const req = await apiCall("/staging/app/cloneToOtherServer", "POST" /* POST */, data); return await getAndWaitForOperationStatusCompleted(req.destination_operation_id); } async function DeleteApp(serverId, appId) { const req = await apiCall(`/app/${appId}`, "DELETE" /* DELETE */, { server_id: serverId }); return await getAndWaitForOperationStatusCompleted(req.operation_id); } function updateAppLabel(appId, serverId, label) { const data = { server_id: serverId, label }; return apiCall(`/app/${appId}`, "PUT" /* PUT */, data).then( (response) => response.status ); } // src/services/server/index.ts async function attachBlockStorage(serverId, storageSize) { const requestData = { server_id: serverId, server_storage: storageSize }; const req = await apiCall("/server/attachStorage", "POST" /* POST */, requestData); return await getAndWaitForOperationStatusCompleted(req.operation_id); } async function cloneServer(sourceServerId, cloud, region, instanceType, appLabel, applicationId, dbVolumeSize, dataVolumeSize, serverStorage, advanceClone, serverSettings, appDomains, appCrons, appSupervisorJobs, appSettings, appCredentials, teamAccess) { const requestData = { source_server_id: sourceServerId, cloud, region, instance_type: instanceType, app_label: appLabel, application_id: applicationId, db_volume_size: dbVolumeSize, data_volume_size: dataVolumeSize, server_storage: serverStorage, advance_clone: advanceClone, server_settings: serverSettings, app_domains: appDomains, app_crons: appCrons, app_supervisor_jobs: appSupervisorJobs, app_settings: appSettings, app_credentials: appCredentials, team_access: teamAccess }; const req = await apiCall("/server/cloneServer", "POST" /* POST */, requestData); return await getAndWaitForOperationStatusCompleted(req.operation_id); } function createServer(cloud, region, instanceType, application, appVersion, serverLabel, appLabel, projectName, dbVolumeSize, dataVolumeSize) { const requestData = { cloud, region, instance_type: instanceType, application, app_version: appVersion, server_label: serverLabel, app_label: appLabel, project_name: projectName, db_volume_size: dbVolumeSize, data_volume_size: dataVolumeSize }; return apiCall("/server", "POST" /* POST */, requestData).then( (response) => response.server ); } async function deleteServer(serverId) { const req = await apiCall(`/server/${serverId}`, "DELETE" /* DELETE */); return await getAndWaitForOperationStatusCompleted(req.operation_id); } async function getDiskUsage(serverId) { const req = await apiCall(`/server/${serverId}/diskUsage`); return await getAndWaitForOperationStatusCompleted(req.operation_id); } function getServersList() { return apiCall("/server").then((response) => response.servers); } async function restartServer(serverId) { const req = await apiCall("/server/restart", "POST" /* POST */, { server_id: serverId }); return await getAndWaitForOperationStatusCompleted(req.operation_id); } async function scaleBlockStorage(serverId, storageSize) { const req = await apiCall("/server/scaleStorage", "POST" /* POST */, { server_id: serverId, server_storage: storageSize }); return await getAndWaitForOperationStatusCompleted(req.operation_id); } async function scaleVolumeSize(serverId, volumeSize, volumeType) { const req = await apiCall("/server/scaleVolume", "POST" /* POST */, { server_id: serverId, volume_size: volumeSize, volume_type: volumeType }); return await getAndWaitForOperationStatusCompleted(req.operation_id); } async function startServer(serverId) { const req = await apiCall("/server/start", "POST" /* POST */, { server_id: serverId }); return await getAndWaitForOperationStatusCompleted(req.operation_id); } async function stopServer(serverId) { const req = await apiCall("/server/stop", "POST" /* POST */, { server_id: serverId }).then( (response) => response.operation_id ); return await getAndWaitForOperationStatusCompleted(req.operation_id); } function updateServerLabel(serverId, label) { return apiCall(`/server/${serverId}`, "PUT" /* PUT */, { label }); } async function upgradeServer(serverId, instanceType) { const req = await apiCall(`/server/scaleServer`, "POST" /* POST */, { server_id: serverId, instance_type: instanceType }); return await getAndWaitForOperationStatusCompleted(req.operation_id); } // src/services/ssh-keys/index.ts function createSSHKey(serverId, sshKeyName, sshKey, appCredsId) { const data = { server_id: serverId, ssh_key_name: sshKeyName, ssh_key: sshKey, app_creds_id: appCredsId }; return apiCall("/ssh_key", "POST" /* POST */, data).then( (response) => response.id ); } function deleteSSHKey(serverId, sshKeyId) { const endpoint = `/ssh_key/${sshKeyId}`; const data = { server_id: serverId }; return apiCall(endpoint, "DELETE" /* DELETE */, data); } function updateSSHKey(serverId, sshKeyId, sshKeyName) { const endpoint = `/ssh_key/${sshKeyId}`; const data = { server_id: serverId, ssh_key_name: sshKeyName }; return apiCall(endpoint, "PUT" /* PUT */, data); } // src/services/monitor-analytic/index.ts function getServerSummary(serverId, type) { const data = { server_id: serverId, type }; return apiCall("/server/monitor/summary", "GET" /* GET */, data).then( (response) => response.content ); } async function getServerUsage(serverId) { const data = { server_id: serverId }; const req = await apiCall( "/server/analytics/serverUsage", "GET" /* GET */, data ); return await getAndWaitForOperationStatusCompleted(req.operation_id); } function getApplicationDiskUsage(serverId, appId, type) { const data = { server_id: serverId, app_id: appId, type }; return apiCall("/app/monitor/summary", "GET" /* GET */, data); } function getApplicationDiskUsageGraph(serverId, appId, timezone, target, duration) { const data = { server_id: serverId, app_id: appId, timezone, target, duration }; return apiCall("/app/monitor/detail", "GET" /* GET */, data); } function getApplicationTrafficAnalytics(serverId, appId, duration, resource) { const data = { server_id: serverId, app_id: appId, duration, resource }; return apiCall("/app/analytics/traffic", "GET" /* GET */, data); } function getApplicationTrafficDetail(serverId, appId, from, until, resourceList) { const data = { server_id: serverId, app_id: appId, from, until, resource_list: resourceList }; return apiCall("/app/analytics/trafficDetail", "GET" /* GET */, data); } function getPHPInformation(serverId, appId, duration, resource) { const data = { server_id: serverId, app_id: appId, duration, resource }; return apiCall("/app/analytics/php", "GET" /* GET */, data); } function getMySQLInformation(serverId, appId, duration, resource) { const data = { server_id: serverId, app_id: appId, duration, resource }; return apiCall("/app/analytics/mysql", "GET" /* GET */, data); } function getApplicationCron(serverId, appId) { const data = { server_id: serverId, app_id: appId }; return apiCall("/app/analytics/cron", "GET" /* GET */, data); } // src/services/knowledge-base/index.ts function searchKnowledgeBase(query) { const endpoint = `/kb/search?kb_title=${encodeURIComponent(query)}`; return apiCall(endpoint); } // src/services/addons-management/index.ts function activateAddOnServer(serverId, addonId, username, password, mode, provider, host, port) { const data = { server_id: serverId, addon_id: addonId, username, password, mode, provider, host, port }; return apiCall("/addon/activateOnServer", "POST" /* POST */, data); } function activateAddonOnAccountLevel(addonId, packageId) { const data = { addon_id: addonId, package_id: packageId }; return apiCall("/addon/activate", "POST" /* POST */, data).then((response) => { return { message: response.message, sub: { id_user_addons: response.sub.id_user_addons, status: response.sub.status, id_package: response.sub.id_package } }; }); } function addonRequestForApplication(addonId, serverId, appId, version) { const data = { addon_id: addonId, server_id: serverId, app_id: appId, version }; return apiCall("/addon/request", "POST" /* POST */, data); } function deactivateAddOnYourServer(serverId, addonId) { const data = { server_id: serverId, addon_id: addonId }; return apiCall("/addon/deactivateOnServer", "POST" /* POST */, data); } function deactivateAnAddon(addonId) { const data = { addon_id: addonId }; return apiCall("/addon/deactivate", "POST" /* POST */, data).then( (response) => { return { message: response.message, sub: { id_user_addons: response.sub.id_user_addons, status: response.sub.status } }; } ); } function getAddonsList() { return apiCall("/addon", "GET" /* GET */).then( (response) => response ); } function upgradeAddonPackage(addonId, packageId) { const data = { addon_id: addonId, package_id: packageId }; return apiCall("/addon/upgrade", "POST" /* POST */, data).then((response) => { return { message: response.message, sub: { id_user_addons: response.sub.id_user_addons, status: response.sub.status, id_package: response.sub.id_package } }; }); } function getElasticEmailDomains() { return apiCall("/addon/elastic/domains", "GET" /* GET */).then((response) => { return { status: response.status, data: { domains: [ { domain: response.data.domain, spf: response.data.spf, mx: response.data.mx, dkim: response.data.dkim, dmarc: response.data.dmarc, tracking: response.data.tracking } ] } }; }); } function verifyElasticEmailDomain(domain) { const data = { domain }; return apiCall("/addon/elastic/verify_domain", "POST" /* POST */, data).then( (response) => { return { status: response.status, data: { domain: response.data.domain, spf: response.data.spf, mx: response.data.mx, dkim: response.data.dkim, dmarc: response.data.dmarc, tracking: response.data.tracking } }; } ); } function deleteElasticEmailDomain(domain) { const data = { domain }; return apiCall("/addon/elastic/domain", "DELETE" /* DELETE */, data).then( (response) => ({ status: response.status, message: response.message }) ); } // src/services/app-management/index.ts function changeAppAccessState(serverId, appId, state) { const data = { server_id: serverId, app_id: appId, state }; return apiCall("/app/state", "POST" /* POST */, data); } async function getAppBackupStatus(serverId, appId) { const data = { server_id: serverId, app_id: appId }; const req = await apiCall("/app/manage/backup", "GET" /* GET */, data); return await getAndWaitForOperationStatusCompleted(req.operation_id); } function createAppCredentials(serverId, appId, username, password) { const data = { server_id: serverId, app_id: appId, username, password }; return apiCall("/app/creds", "POST" /* POST */, data).then((response) => ({ app_cred_id: response.app_cred_id })); } function deleteAppCredential(serverId, appId, appCredId) { const data = { server_id: serverId, appId }; return apiCall(`/app/creds/${appCredId}`, "DELETE" /* DELETE */, data); } async function deleteCname(serverId, appId) { const data = { server_id: serverId, app_id: appId }; const req = await apiCall("/app/manage/cname", "DELETE" /* DELETE */, data); return await getAndWaitForOperationStatusCompleted(req.operation_id); } async function deleteLocalBackup(serverId, appId) { const data = { server_id: serverId, app_id: appId }; const req = await apiCall("/app/manage/backup", "DELETE" /* DELETE */, data); return await getAndWaitForOperationStatusCompleted(req.operation_id); } function getAppCredentials(serverId, appId) { const data = { server_id: serverId, app_id: appId }; return apiCall("/app/creds", "GET" /* GET */, data).then( (response) => response ); } function getApplicationSshAccessStatus(serverId, appId) { const data = { server_id: serverId, app_id: appId }; return apiCall("/app/getAppSshPerms", "GET" /* GET */, data).then( (response) => response ); } function getApplicationAccessState(serverId, appId) { const data = { server_id: serverId, app_id: appId }; return apiCall("/app/getApplicationAccess", "GET" /* GET */, data).then( (response) => response ); } function getCronList(serverId, appId) { const data = { server_id: serverId, app_id: appId }; return apiCall("/app/manage/cronList", "GET" /* GET */, data).then( (response) => response ); } function getFpmSettings(serverId, appId) { const data = { server_id: serverId, app_id: appId }; return apiCall("/app/manage/fpm_setting", "GET" /* GET */, data).then( (response) => response ); } function getVarnishSettings(serverId, appId) { const data = { server_id: serverId, app_id: appId }; return apiCall("/app/manage/varnish_setting", "GET" /* GET */, data).then( (response) => response ); } function resetFilePermissions(serverId, appId, ownership) { const data = { server_id: serverId, app_id: appId, ownership }; return apiCall("/app/manage/reset_permissions", "POST" /* POST */, data); } async function restoreApp(serverId, appId, time, type) { const data = { server_id: serverId, app_id: appId, time, type }; const req = await apiCall("/app/manage/restore", "POST" /* POST */, data); return await getAndWaitForOperationStatusCompleted(req.operation_id); } async function rollbackRestore(serverId, appId) { const data = { server_id: serverId, app_id: appId }; const req = await apiCall("/app/manage/rollback", "POST" /* POST */, data); return await getAndWaitForOperationStatusCompleted(req.operation_id); } async function aplicationBackup(serverId, appId) { const data = { server_id: serverId, app_id: appId }; const req = await apiCall("/app/manage/takeBackup", "POST" /* POST */, data); return await getAndWaitForOperationStatusCompleted(req.operation_id); } function updateAppAlias(serverId, appId, aliases) { const data = { server_id: serverId, app_id: appId, aliases }; return apiCall("/app/manage/takeBackup", "POST" /* POST */, data); } async function updateAppCname(serverId, appId, cname) { const data = { server_id: serverId, app_id: appId, cname }; const req = await apiCall("/app/manage/cname", "POST" /* POST */, data); return await getAndWaitForOperationStatusCompleted(req.operation_id); } function updateAppCredential(serverId, appId, username, password, app_cred_id) { const data = { server_id: serverId, app_id: appId, username, password, app_cred_id }; return apiCall(`/app/creds/${app_cred_id}`, "PUT" /* PUT */, data); } function updateApplicationSshAccessStatus(serverId, appId, update_perms_action) { const data = { server_id: serverId, app_id: appId, update_perms_action }; return apiCall("/app/updateAppSshPerms", "POST" /* POST */, data).then( (response) => ({ status: response.status, confirmation: response.confirmation }) ); } function updateCronList(serverId, appId, crons, is_script) { const data = { server_id: serverId, app_id: appId, crons, is_script }; return apiCall("/app/manage/cronList", "POST" /* POST */, data); } function updateDBPassword(serverId, appId, password) { const data = { server_id: serverId, app_id: appId, password }; return apiCall("/app/manage/dbPassword", "POST" /* POST */, data); } function updateFPMsettings(serverId, appId, fpm_setting) { const data = { server_id: serverId, app_id: appId, fpm_setting }; return apiCall("/app/manage/fpm_setting", "POST" /* POST */, data); } function updateSymlink(serverId, appId, symlink) { const data = { server_id: serverId, app_id: appId, symlink }; return apiCall("/app/manage/symlink", "POST" /* POST */, data); } async function updateVarnishSettings(serverId, appId, vcl_list) { const data = { server_id: serverId, app_id: appId, vcl_list }; const req = await apiCall("/app/manage/varnish_setting", "POST" /* POST */, data); return await getAndWaitForOperationStatusCompleted(req.operation_id); } function updateWebroot(serverId, appId, webroot) { const data = { server_id: serverId, app_id: appId, webroot }; return apiCall("/app/manage/webroot", "POST" /* POST */, data); } async function updateCorsHeaders(serverId, appId, corsHeaders) { const data = { server_id: serverId, app_id: appId, corsHeaders }; const req = await apiCall("/app/cors_header", "POST" /* POST */, data); return await getAndWaitForOperationStatusCompleted(req.operation_id); } async function getAplicacionWebPRedirectionStatus(serverId, appId, status) { const data = { server_id: serverId, app_id: appId, status }; const req = await apiCall("/app/manage/webP", "GET" /* GET */, data); return await getAndWaitForOperationStatusCompleted(req.response.operation_id); } async function enforceHTTPS(serverId, appId, status) { const data = { server_id: serverId, app_id: appId, status }; const req = await apiCall("/app/manage/enforce_https", "POST" /* POST */, data); return await getAndWaitForOperationStatusCompleted(req.operation_id); } function getAppSettingValue(serverId, appId) { const data = { server_id: serverId, app_id: appId }; return apiCall("/app/get_settings_value", "GET" /* GET */, data).then( (response) => response ); } function updateAppGeoIpHeaderStatus(serverId, appId, status) { const data = { server_ip: serverId, app_id: appId, status }; return apiCall("/app/manage/geo_ip_header", "POST" /* POST */, data).then( (response) => response ); } function updateAppXMLRCPheaderStatus(serverId, appId, status) { const data = { server_ip: serverId, app_id: appId, status }; return apiCall("/app/manage/xmlrpc", "POST" /* POST */, data).then( (response) => response ); } async function updateDeviceDetentionStatus(serverId, appId, status) { const data = { server_id: serverId, app_id: appId, status }; const req = await apiCall("/app/device/detection", "GET" /* GET */, data); return await getAndWaitForOperationStatusCompleted(req.operation_id); } async function updateIgnoreQueryStringStatus(serverId, appId, status) { const data = { server_id: serverId, app_id: appId, status }; const req = await apiCall("/app/ignore/query_string", "GET" /* GET */, data); return await getAndWaitForOperationStatusCompleted(req.operation_id); } async function updateDirectPHPExecutionStatus(serverId, appId, status) { const data = { server_id: serverId, app_id: appId, status }; const req = await apiCall("/app/manage/php_direct_execution", "GET" /* GET */, data); return await getAndWaitForOperationStatusCompleted(req.operation_id); } async function updateCronOptimizerStatus(serverId, appId, status) { const data = { server_id: serverId, app_id: appId, status }; const req = await apiCall("/app/manage/cron_setting", "GET" /* GET */, data); return await getAndWaitForOperationStatusCompleted(req.operation_id); } async function updateAppAdminPassword(serverId, appId, password) { const data = { server_id: serverId, app_id: appId, password }; const req = await apiCall("/app/creds/changeAdminCredentials", "POST" /* POST */, data); return await getAndWaitForOperationStatusCompleted(req.response.operation_id); } // src/services/application-vulnerability/index.ts function listApplicationVulnerabilities(appId, serverId) { const data = { app_id: appId, server_id: serverId }; return apiCall(`/app/vulnerabilities/${appId}`, "GET" /* GET */, data).then( (response) => response ); } async function refreshApplicationVulnerabilities(appId, serverId) { const data = { app_id: appId, server_id: serverId }; const req = await apiCall(`/app/vulnerabilities/${appId}/refresh`, "GET" /* GET */, data); return await getAndWaitForOperationStatusCompleted(req.operation_id); } // src/services/bot-protection/index.ts function BotProtectionStatus(serverId, appId) { const data = { server_id: serverId, app_id: appId }; return apiCall("/app/malcare", "GET" /* GET */, data).then((response) => ({ enable: response.enable })); } function BotProtectionTraffic(serverId, appId) { const data = { server_id: serverId, app_id: appId }; return apiCall("/app/malcare/traffic", "GET" /* GET */, data).then( (response) => response ); } function BotProtectionTrafficSummary(serverId, appId) { const data = { server_id: serverId, app_id: appId }; return apiCall("/app/malcare/traffic/summary", "GET" /* GET */, data).then( (response) => response ); } function BotProtectionLoginTraffic(serverId, appId) { const data = { server_id: serverId, app_id: appId }; return apiCall("/app/malcare/logins", "GET" /* GET */, data).then( (response) => response ); } function BotProtectionLoginTrafficSummary(serverId, appId) { const data = { server_id: serverId, app_id: appId }; return apiCall("/app/malcare/logins/summary", "GET" /* GET */, data).then( (response) => response ); } function BotProtectionBadBotsList(serverId, appId, limit) { const data = { server_id: serverId, app_id: appId, limit }; return apiCall("/app/malcare/bots/bad", "GET" /* GET */, data).then( (response) => response ); } function BotProtectionWhiteListedIps(serverId, appId) { const data = { server_id: serverId, app_id: appId }; return apiCall("/app/malcare/whitelisted_ips", "GET" /* GET */, data).then( (response) => ({ whitelistedIps: response.whitelistedIps }) ); } function BotProtectionWhiteListedBots(serverId, appId) { const data = { server_id: serverId, app_id: appId }; return apiCall("/app/malcare/whitelisted_bots", "GET" /* GET */, data).then( (response) => ({ whitelistedBots: response.whitelistedBots }) ); } async function BotProtectionActivation(serverId, appId) { const data = { server_id: serverId, app_id: appId }; const req = await apiCall("/app/malcare/enable", "PUT" /* PUT */, data); return await getAndWaitForOperationStatusCompleted(req.operation_id); } async function BotProtectionDeactivation(serverId, appId) { const data = { server_id: serverId, app_id: appId }; const req = await apiCall("/app/malcare/disable", "PUT" /* PUT */, data); return await getAndWaitForOperationStatusCompleted(req.operation_id); } function BotProtectionIpWhitelisting(serverId, appId, ip, status) { const data = { server_id: serverId, app_id: appId, ip, status }; return apiCall("/app/malcare/whitelist_ip", "PUT" /* PUT */, data).then( (response) => ({ whitelistedIps: response.whitelistedIps }) ); } function BotProtectionBadBotsWhitelisting(serverId, appId, bot, status) { const data = { server_id: serverId, app_id: appId, bot, status }; return apiCall("/app/malcare/whitelist_bot", "PUT" /* PUT */, data).then( (response) => ({ whitelistedBots: response.whitelistedBots }) ); } async function ClearAppCache(serverId, appId) { const data = { server_id: serverId, app_id: appId }; const req = await apiCall("/app/cache/purge", "POST" /* POST */, data); return await getAndWaitForOperationStatusCompleted(req.operation_id); } // src/services/cloudflare-enterprise/index.ts function getCloudflareDetails(serverId, appId) { const data = { server_id: serverId, app_id: appId }; return apiCall("/app/cloudflareCdn", "GET" /* GET */, data).then( (response) => response ); } function setUpCloudflareforYourApp(serverId, appId, domain) { const data = { server_id: serverId, app_id: appId, domain }; return apiCall("/app/cloudflareCdn", "POST" /* POST */, data).then( (response) => response ); } function fetchTxtRecords(serverId, appId, domain) { const data = { server_id: serverId, app_id: appId, domain }; return apiCall("/app/cloudflareCdn/fetchTXT", "GET" /* GET */, data).then( (response) => response ); } async function deleteDomain(serverId, appId, domains, customerId) { const data = { server_id: serverId, app_id: appId, domains, customer_id: customerId }; const req = await apiCall("/app/cloudflareCdn/delete", "POST" /* POST */, data); return await getAndWaitForOperationStatusCompleted(req.operation_id); } async function transferDomain(serverId, appId, domains, dest_server_id, dest_app_id) { const data = { server_id: serverId, app_id: appId, domains, dest_server_id, est_app_id: dest_app_id }; const req = await apiCall( "/app/cloudflareCdn/transferDomain", "POST" /* POST */, data ); return await getAndWaitForOperationStatusCompleted(req.operation_id); } async function purgeDomain(serverId, appId, customerId) { const data = { server_id: serverId, app_id: appId, customer_id: customerId }; const req = await apiCall("/app/cloudflareCdn/purgeDomain", "POST" /* POST */, data); return await getAndWaitForOperationStatusCompleted(req.operation_id); } function getDnsQuery(serverId, appId, domain) { const data = { server_id: serverId, app_id: appId, domain }; return apiCall("/app/cloudflareCdn/getDnsQuery", "GET" /* GET */, data).then( (response) => ({ status: response.status, primary_domain: response.primary_domain, primary_domain_name: response.primary_domain_name }) ); } function verifyTxtRecords(serverId, appId, domain) { const data = { server_id: serverId, app_id: appId, domain }; return apiCall( "/app/cloudflareCdn/verifyTxtRecords", "POST" /* POST */, data ).then((response) => ({ status: response.status, domain_status: response.domain_status })); } function getSmartCachePurgeStatus(serverId, appId) { const data = { server_id: serverId, app_id: appId }; return apiCall( "/app/cloudflareCdn/checkFPCStatus", "GET" /* GET */, data ).then((response) => response); } async function configureSmartCachePurge(serverId, appId) { const data = { server_id: serverId, app_id: appId }; const req = await apiCall("/app/cloudflareCdn/deployFPC", "POST" /* POST */, data); return await getAndWaitForOperationStatusCompleted(req.operation_id); } function getClouflareSettings(serverId, appId) { const data = { server_id: serverId, app_id: appId }; return apiCall("/app/cloudflareCdn/appSetting", "GET" /* GET */, data).then( (response) => response ); } async function updateCloudflareSettings(serverId, appId, caching, early_hints, edgecaching, image_optimization, minification, mobile_optimization, scrapeshield) { const data = { server_id: serverId, app_id: appId, caching, early_hints, edgecaching, image_optimization, minification, mobile_optimization, scrapeshield }; const req = await apiCall("/app/cloudflareCdn/appSetting", "POST" /* POST */, data); return await getAndWaitForOperationStatusCompleted(req.operation_id); } function getClouflareCacheAnalytics(serverId, appId, mins) { const data = { server_id: serverId, app_id: appId, mins }; return apiCall( `/app/cloudflare/${appId}/analytics`, "GET" /* GET */, data ).then((response) => response); } function getClouflareSecurityAnalytics(serverId, appId, mins) { const data = { server_id: serverId, app_id: appId, mins }; return apiCall( `/app/cloudflare/${appId}/security`, "GET" /* GET */, data ).then((response) => response); } // src/services/cloudways-bot/index.ts function createAlertChannel(name, channel, events, is_active, to, url) { const data = { name, channel, events, is_active, to, url }; return apiCall("/integrations", "POST" /* POST */, data).then( (response) => response ); } function deleteCloudwaysBotChannel(channel_id) { const data = { channel_id }; return apiCall(`/integrations/${channel_id}`, "DELETE" /* DELETE */, data); } function getAllAlerts() { return apiCall("/alerts/", "GET" /* GET */).then( (response) => response ); } function getPaginatedAlerts(lastId) { return apiCall(`/alerts/${lastId}`, "GET" /* GET */).then( (response) => response ); } function getAllAlertChannels() { return apiCall("/integrations/create", "GET" /* GET */).then( (response) => response ); } function getUserAlertChannels() { return apiCall("/integrations", "GET" /* GET */).then( (response) => response ); } function markAllAlertsAsRead() { return apiCall("/alert/markAllRead", "POST" /* POST */); } function markAlertAsRead(alertId) { const data = { alert_id: alertId }; return apiCall(`/alert/markAsRead/${alertId}`, "POST" /* POST */, data); } function updateCloudwaysBotIntegration(channelId, name, channel, events, isActive, to, url) { const data = { channel_id: channelId, name, channel, events, is_active: isActive, to, url }; return apiCall(`/integrations/${channelId}`, "PUT" /* PUT */, data).then( (response) => response ); } // src/services/dns-made-easy/index.ts function listDNSMadeEasyDomains() { return apiCall("/dme/domains", "GET" /* GET */).then( (response) => response ); } function AddDNSMadeEasyDomains(names) { const data = { names }; return apiCall("/dme/domains", "POST" /* POST */, data).then((response) => ({ message: response.message })); } function DeleteDNSMadeEasyDomains(ids) { const data = { ids }; return apiCall("/dme/domains", "DELETE" /* DELETE */, data).then((response) => ({ deleted: response.deleted, message: response.message })); } function getDNSMadeEasyDomainsStatus(uid) { return apiCall(`/dme/domains/${uid}/status`, "GET" /* GET */).then( (response) => ({ status: response.status }) ); } function getDNSMadeEasyDomainsRecords(domainId) { return apiCall(`/dme/domains/${domainId}/records`, "GET" /* GET */).then( (response) => response ); } function AddRecordToDnsMadeEas