UNPKG

@kurrent/kurrentdb-client

Version:
53 lines 2.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const shared_pb_1 = require("../../generated/shared_pb"); const persistent_pb_1 = require("../../generated/persistent_pb"); const persistent_grpc_pb_1 = require("../../generated/persistent_grpc_pb"); const utils_1 = require("../utils"); const constants_1 = require("../constants"); const Client_1 = require("../Client"); const settingsToGRPC_1 = require("./utils/settingsToGRPC"); Client_1.Client.prototype.updatePersistentSubscriptionToAll = async function (groupName, settings, { ...baseOptions } = {}) { if (!(await this.supports(persistent_grpc_pb_1.PersistentSubscriptionsService.update, "all"))) { throw new utils_1.UnsupportedError("updatePersistentSubscriptionToAll", "21.10"); } const req = new persistent_pb_1.UpdateReq(); const options = new persistent_pb_1.UpdateReq.Options(); const allOptions = new persistent_pb_1.UpdateReq.AllOptions(); const reqSettings = (0, settingsToGRPC_1.settingsToGRPC)(settings, persistent_pb_1.UpdateReq.Settings); switch (settings.startFrom) { case constants_1.START: { allOptions.setStart(new shared_pb_1.Empty()); break; } case constants_1.END: { allOptions.setEnd(new shared_pb_1.Empty()); break; } default: { const position = new persistent_pb_1.UpdateReq.Position(); position.setCommitPosition(settings.startFrom.commit.toString(10)); position.setPreparePosition(settings.startFrom.prepare.toString(10)); allOptions.setPosition(position); break; } } options.setGroupName(groupName); options.setSettings(reqSettings); options.setAll(allOptions); req.setOptions(options); utils_1.debug.command("updatePersistentSubscriptionToAll: %O", { groupName, settings, options: baseOptions, }); utils_1.debug.command_grpc("updatePersistentSubscriptionToAll: %g", req); return this.execute(persistent_grpc_pb_1.PersistentSubscriptionsClient, "updatePersistentSubscriptionToAll", (client) => new Promise((resolve, reject) => { client.update(req, ...this.callArguments(baseOptions), (error) => { if (error) return reject((0, utils_1.convertToCommandError)(error)); return resolve(); }); })); }; //# sourceMappingURL=updatePersistentSubscriptionToAll.js.map