/
mikopbx
/
ModuleBackup
Обзор
Документация
Войти
/
mikopbx
/
ModuleBackup
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
master
public/assets/js/backup-api.js
350 строк
27 KB
Nikolay Beketov
initial
24 ноя 2020, 16:14
24 ноя 2020, 16:14
f151dec
Код
Авторство
О чём код?
"use strict"; function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } /* * Copyright (C) MIKO LLC - All Rights Reserved * Unauthorized copying of this file, via any medium is strictly prohibited * Proprietary and confidential * Written by Nikolay Beketov, 12 2019 * */ /* global localStorage,Config, PbxApi */ var BackupApi = { backupGetFilesList: "".concat(Config.pbxUrl, "/pbxcore/api/modules/ModuleBackup/list"), // Получить список архивов backupDownloadFile: "".concat(Config.pbxUrl, "/pbxcore/api/modules/ModuleBackup/download"), // Получить архив /pbxcore/api/modules/ModuleBackup/download?id=backup_1530703760 backupDeleteFile: "".concat(Config.pbxUrl, "/pbxcore/api/modules/ModuleBackup/remove"), // Удалить архив curl http://172.16.156.212/pbxcore/api/modules/ModuleBackup/remove?id=backup_1530714645 backupRecover: "".concat(Config.pbxUrl, "/pbxcore/api/modules/ModuleBackup/recover"), // Восстановить архив curl -X POST -d '{"id": "backup_1534838222", "options":{"backup-sound-files":"1"}}' http://172.16.156.212/pbxcore/api/modules/ModuleBackup/recover; backupStart: "".concat(Config.pbxUrl, "/pbxcore/api/modules/ModuleBackup/start"), // Начать архивирование curl -X POST -d '{"backup-config":"1","backup-records":"1","backup-cdr":"1","backup-sound-files":"1"}' http://172.16.156.212/pbxcore/api/modules/ModuleBackup/start; backupStop: "".concat(Config.pbxUrl, "/pbxcore/api/modules/ModuleBackup/stop"), // Приостановить архивирование curl -X POST -d '{"id":"backup_1530703760"}' http://172.16.156.212/pbxcore/api/modules/ModuleBackup/start; backupUnpackUploadedImgConf: "".concat(Config.pbxUrl, "/pbxcore/api/modules/ModuleBackup/unpackUploadedImgConf"), backupGetEstimatedSize: "".concat(Config.pbxUrl, "/pbxcore/api/modules/ModuleBackup/getEstimatedSize"), backupStartScheduled: "".concat(Config.pbxUrl, "/pbxcore/api/modules/ModuleBackup/startScheduled"), // curl 'http://172.16.156.223/pbxcore/api/modules/ModuleBackup/startScheduled' /** * Проверка ответа на JSON * @param jsonString * @returns {boolean|any} */ tryParseJSON: function () { function tryParseJSON(jsonString) { try { var o = JSON.parse(jsonString); // Handle non-exception-throwing cases: // Neither JSON.parse(false) or JSON.parse(1234) throw errors, hence the type-checking, // but... JSON.parse(null) returns null, and typeof null === "object", // so we must check for that, too. Thankfully, null is falsey, so this suffices: if (o && _typeof(o) === 'object') { return o; } } catch (e) {// } return false; } return tryParseJSON; }(), /** * Получить список архивов */ BackupGetFilesList: function () { function BackupGetFilesList(callback) { $.api({ url: BackupApi.backupGetFilesList, on: 'now', successTest: PbxApi.successTest, onSuccess: function () { function onSuccess(response) { callback(response.data); } return onSuccess; }(), onError: function () { function onError() { callback(false); } return onError; }() }); } return BackupGetFilesList; }(), /** * Скачать файл архива по указанному ID */ BackupDownloadFile: function () { function BackupDownloadFile(fileId, callback) { $.api({ url: "".concat(BackupApi.backupDownloadFile, "?id={id}"), on: 'now', urlData: { id: fileId }, successTest: PbxApi.successTest, onSuccess: function () { function onSuccess(response) { callback(response.data); } return onSuccess; }(), onError: function () { function onError() { callback(false); } return onError; }() }); //window.location = `${BackupApi.backupDownloadFile}?id=${fileId}`; } return BackupDownloadFile; }(), /** * Удалить файл по указанному ID * @param fileId - идентификатор файла с архивом * @param callback - функция для обработки результата */ BackupDeleteFile: function () { function BackupDeleteFile(fileId, callback) { $.api({ url: "".concat(BackupApi.backupDeleteFile, "?id={id}"), on: 'now', urlData: { id: fileId }, successTest: PbxApi.successTest, onSuccess: function () { function onSuccess() { callback(true); } return onSuccess; }(), onError: function () { function onError() { callback(false); } return onError; }() }); } return BackupDeleteFile; }(), /** * Восстановить систему по указанному ID бекапа * @param jsonParams - {"id": "backup_1534838222", "options":{"backup-sound-files":"1"}}' * @param callback - функция для обработки результата */ BackupRecover: function () { function BackupRecover(jsonParams, callback) { $.api({ url: BackupApi.backupRecover, method: 'POST', data: JSON.stringify(jsonParams), on: 'now', successTest: PbxApi.successTest, onSuccess: function () { function onSuccess() { callback(true); } return onSuccess; }(), onError: function () { function onError() { callback(false); } return onError; }() }); } return BackupRecover; }(), /** * Начало архивирование системы * @param jsonParams - * { * "backup-config":"1", * "backup-records":"1", * "backup-cdr":"1", * "backup-sound-files":"1" * } * @param callback - функция для обработки результата */ BackupStart: function () { function BackupStart(jsonParams, callback) { $.api({ url: BackupApi.backupStart, on: 'now', method: 'POST', data: JSON.stringify(jsonParams), successTest: PbxApi.successTest, onSuccess: function () { function onSuccess(response) { callback(response.data); } return onSuccess; }(), onError: function () { function onError() { callback(false); } return onError; }() }); } return BackupStart; }(), /** * Приостановить архивирование системы * @param fileId - ИД с файлом архива * @param callback - функция для обработки результата */ BackupStop: function () { function BackupStop(fileId, callback) { $.api({ url: BackupApi.backupStop, on: 'now', method: 'POST', data: "{'id':'".concat(fileId, "'}"), successTest: PbxApi.successTest, onSuccess: function () { function onSuccess(response) { callback(response.data); } return onSuccess; }(), onError: function () { function onError() { callback(false); } return onError; }() }); } return BackupStop; }(), /** * Получить размер файлов для бекапа * @param callback - функция для обработки результата */ BackupGetEstimatedSize: function () { function BackupGetEstimatedSize(callback) { $.api({ url: BackupApi.backupGetEstimatedSize, on: 'now', successTest: PbxApi.successTest, onSuccess: function () { function onSuccess(response) { callback(response.data); } return onSuccess; }(), onError: function () { function onError() { callback(false); } return onError; }() }); } return BackupGetEstimatedSize; }(), /** * Перенести закачанный файл в папку с бекапами * @param filePath - Path полученный из fileUpload * @param callback - функция для обработки результата */ BackupUnpackUploadedImgConf: function () { function BackupUnpackUploadedImgConf(filePath, callback) { $.api({ url: BackupApi.backupUnpackUploadedImgConf, on: 'now', method: 'POST', data: "{\"temp_file\":\"".concat(filePath, "\"}"), successTest: PbxApi.successTest, onSuccess: function () { function onSuccess(response) { callback(response.data); } return onSuccess; }(), onError: function () { function onError() { callback(false); } return onError; }() }); } return BackupUnpackUploadedImgConf; }(), /** * Запускает запланированное резервное копирование сразу * */ BackupStartScheduled: function () { function BackupStartScheduled(callback) { $.api({ url: BackupApi.backupStartScheduled, on: 'now', successTest: PbxApi.successTest, onSuccess: function () { function onSuccess() { callback(true); } return onSuccess; }(), onError: function () { function onError() { callback(false); } return onError; }() }); } return BackupStartScheduled; }() }; // export default BackupApi; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9iYWNrdXAtYXBpLmpzIl0sIm5hbWVzIjpbIkJhY2t1cEFwaSIsImJhY2t1cEdldEZpbGVzTGlzdCIsIkNvbmZpZyIsInBieFVy … [Строка слишком длинная. Вы можете скачать файл]