diffusion
Version:
Diffusion JavaScript client
113 lines (112 loc) • 4.21 kB
JavaScript
;
/**
* @module RemoteServers
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.RemoteServersImpl = void 0;
var Services = require("./../services/remote-server-services");
var logger = require("./../util/logger");
var require_non_null_1 = require("./../util/require-non-null");
var response_success_1 = require("./../util/response-success");
var log = logger.create('RemoteServers');
/**
* Implementation of the {@link RemoteServers} feature
*/
var RemoteServersImpl = /** @class */ (function () {
/**
* Create a new instance of the RemoteServers feature
*
* @param internal the internal session
*/
function RemoteServersImpl(internal) {
this.internal = internal;
var serviceLocator = internal.getServiceLocator();
this.CREATE_REMOTE_SERVER = serviceLocator.obtain(Services.CREATE_REMOTE_SERVER);
this.LIST_REMOTE_SERVERS = serviceLocator.obtain(Services.LIST_REMOTE_SERVERS);
this.CHECK_REMOTE_SERVER = serviceLocator.obtain(Services.CHECK_REMOTE_SERVER);
this.REMOVE_REMOTE_SERVER = serviceLocator.obtain(Services.REMOVE_REMOTE_SERVER);
}
/**
* @inheritdoc
*/
RemoteServersImpl.prototype.createRemoteServer = function (remoteServer) {
var _this = this;
return new Promise(function (resolve, reject) {
require_non_null_1.requireNonNull(remoteServer, 'remoteServer');
if (_this.internal.checkConnected(reject)) {
_this.CREATE_REMOTE_SERVER.send(remoteServer, function (err, response) {
if (!response_success_1.responseSuccess(err, response)) {
reject(err);
log.debug('Create remote server failed');
}
else if (response.errors) {
reject(response.errors.errors);
log.debug('Create remote server failed');
}
else {
resolve(response.server);
}
});
}
});
};
/**
* @inheritdoc
*/
RemoteServersImpl.prototype.checkRemoteServer = function (name) {
var _this = this;
return new Promise(function (resolve, reject) {
if (_this.internal.checkConnected(reject)) {
_this.CHECK_REMOTE_SERVER.send(require_non_null_1.requireNonNull(name, 'name'), function (err, response) {
if (err) {
reject(err);
log.debug('Check remote server failed');
}
else {
resolve(response.status);
}
});
}
});
};
/**
* @inheritdoc
*/
RemoteServersImpl.prototype.listRemoteServers = function () {
var _this = this;
return new Promise(function (resolve, reject) {
if (_this.internal.checkConnected(reject)) {
_this.LIST_REMOTE_SERVERS.send(null, function (err, response) {
if (!response_success_1.responseSuccess(err, response)) {
reject(err);
log.debug('List remote servers failed');
}
else {
resolve(response.result);
}
});
}
});
};
/**
* @inheritdoc
*/
RemoteServersImpl.prototype.removeRemoteServer = function (name) {
var _this = this;
return new Promise(function (resolve, reject) {
if (_this.internal.checkConnected(reject)) {
_this.REMOVE_REMOTE_SERVER.send(require_non_null_1.requireNonNull(name, 'name'), function (err) {
if (err) {
reject(err);
log.debug('Remove remote server failed');
}
else {
resolve();
}
});
}
});
};
return RemoteServersImpl;
}());
exports.RemoteServersImpl = RemoteServersImpl;