UNPKG

@configurator/ravendb

Version:
131 lines 5.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.GetOngoingTaskInfoOperation = void 0; const TypeUtil_1 = require("../../Utility/TypeUtil"); const RavenCommand_1 = require("../../Http/RavenCommand"); const Exceptions_1 = require("../../Exceptions"); const RavenEtlConfiguration_1 = require("./Etl/RavenEtlConfiguration"); const SqlEtlConfiguration_1 = require("./Etl/Sql/SqlEtlConfiguration"); const OlapEtlConfiguration_1 = require("./Etl/Olap/OlapEtlConfiguration"); const ElasticSearchEtlConfiguration_1 = require("./Etl/ElasticSearch/ElasticSearchEtlConfiguration"); const QueueEtlConfiguration_1 = require("./Etl/Queue/QueueEtlConfiguration"); const Transformation_1 = require("./Etl/Transformation"); class GetOngoingTaskInfoOperation { constructor(taskIdOrName, type) { if (TypeUtil_1.TypeUtil.isString(taskIdOrName)) { this._taskName = taskIdOrName; } else { this._taskId = taskIdOrName; } this._type = type; if (type === "PullReplicationAsHub") { (0, Exceptions_1.throwError)("InvalidArgumentException", "PullReplicationAsHub type is not supported. " + "Please use GetPullReplicationTasksInfoOperation instead."); } } get resultType() { return "CommandResult"; } getCommand(conventions) { return new GetOngoingTaskInfoCommand(this._taskName || this._taskId, this._type, conventions); } } exports.GetOngoingTaskInfoOperation = GetOngoingTaskInfoOperation; class GetOngoingTaskInfoCommand extends RavenCommand_1.RavenCommand { constructor(taskIdOrName, type, documentConventions) { super(); if (TypeUtil_1.TypeUtil.isString(taskIdOrName)) { this._taskName = taskIdOrName; } else { this._taskId = taskIdOrName; } this._type = type; this._conventions = documentConventions; } createRequest(node) { const uri = this._taskName ? node.url + "/databases/" + node.database + "/task?taskName=" + encodeURIComponent(this._taskName) + "&type=" + this._type : node.url + "/databases/" + node.database + "/task?key=" + this._taskId + "&type=" + this._type; return { uri, method: "GET" }; } async setResponseAsync(bodyStream, fromCache) { let body = null; const results = await this._defaultPipeline(_ => body = _) .process(bodyStream); let nestedTypes = {}; switch (this._type) { case "Replication": break; case "RavenEtl": nestedTypes = { configuration: "RavenEtlConfiguration", "configuration.transforms": "Transformation" }; break; case "SqlEtl": nestedTypes = { configuration: "SqlEtlConfiguration", "configuration.transforms": "Transformation" }; break; case "Subscription": nestedTypes = { lastBatchAckTime: "date", lastClientConnectionTime: "date" }; break; case "OlapEtl": nestedTypes = { configuration: "OlapEtlConfiguration", "configuration.transforms": "Transformation" }; break; case "ElasticSearchEtl": nestedTypes = { configuration: "ElasticSearchEtlConfiguration", "configuration.transforms": "Transformation" }; break; case "QueueEtl": nestedTypes = { configuration: "QueueEtlConfiguration", "configuration.transforms": "Transformation" }; break; case "PullReplicationAsSink": break; case "Backup": nestedTypes = { lastFullBackup: "date", delayUntil: "date", originalBackupTime: "date", lastIncrementalBackup: "date", "onGoingBackup.startTime": "date", "nextBackup.dateTime": "date", "nextBackup.originalBackupTime": "date", }; break; } this.result = this._reviveResultTypes(results, this._conventions, { nestedTypes }, knownTypes); return body; } get isReadRequest() { return false; } } const knownTypes = new Map([ [RavenEtlConfiguration_1.RavenEtlConfiguration.name, RavenEtlConfiguration_1.RavenEtlConfiguration], [SqlEtlConfiguration_1.SqlEtlConfiguration.name, SqlEtlConfiguration_1.SqlEtlConfiguration], [OlapEtlConfiguration_1.OlapEtlConfiguration.name, OlapEtlConfiguration_1.OlapEtlConfiguration], [ElasticSearchEtlConfiguration_1.ElasticSearchEtlConfiguration.name, ElasticSearchEtlConfiguration_1.ElasticSearchEtlConfiguration], [QueueEtlConfiguration_1.QueueEtlConfiguration.name, QueueEtlConfiguration_1.QueueEtlConfiguration], [Transformation_1.Transformation.name, Transformation_1.Transformation] ]); //# sourceMappingURL=GetOngoingTaskInfoOperation.js.map