UNPKG

ts-onvif

Version:

Client to ONVIF devices

78 lines 2.46 kB
"use strict"; /** * Uplink ver10 module * @author Andrew D.Laptev <a.d.laptev@gmail.com> * @see https://www.onvif.org/ver10/uplink/wsdl/uplink.wsdl */ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Uplink = void 0; const service_1 = __importDefault(require("./service")); /** * Uplink service */ class Uplink extends service_1.default { constructor(onvif, service) { super(onvif, service); } static stringListToBuild(items) { return items.length === 1 ? items[0] : items; } static configurationToBuild(configuration) { return { RemoteAddress: configuration.remoteAddress, ...(configuration.certificateID && { CertificateID: configuration.certificateID }), UserLevel: Uplink.stringListToBuild(configuration.userLevel), ...(configuration.certPathValidationPolicyID && { CertPathValidationPolicyID: configuration.certPathValidationPolicyID, }), ...(configuration.authorizationServer && { AuthorizationServer: configuration.authorizationServer, }), }; } /** * Returns the capabilities of the uplink service. */ async getServiceCapabilities() { const response = await this.request({ GetServiceCapabilities: {}, }); return response.getServiceCapabilitiesResponse?.capabilities ?? {}; } /** * Returns configured uplink connections. */ async getUplinks() { const response = await this.request({ GetUplinks: {}, }, { array: ['configuration'] }); return response.getUplinksResponse?.configuration ?? []; } /** * Adds or modifies an uplink configuration. * @param options */ async setUplink({ configuration }) { await this.request({ SetUplink: { Configuration: Uplink.configurationToBuild(configuration), }, }); } /** * Deletes an uplink configuration. * @param options */ async deleteUplink({ remoteAddress }) { await this.request({ DeleteUplink: { RemoteAddress: remoteAddress, }, }); } } exports.Uplink = Uplink; //# sourceMappingURL=uplink.js.map