UNPKG

@kurrent/kurrentdb-client

Version:
49 lines 2.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 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.updatePersistentSubscriptionToStream = async function (streamName, groupName, settings, baseOptions = {}) { const req = new persistent_pb_1.UpdateReq(); const options = new persistent_pb_1.UpdateReq.Options(); const identifier = (0, utils_1.createStreamIdentifier)(streamName); const reqSettings = (0, settingsToGRPC_1.settingsToGRPC)(settings, persistent_pb_1.UpdateReq.Settings); // Add deprecated revision option for pre-21.10 support switch (settings.startFrom) { case constants_1.START: { reqSettings.setRevision(BigInt(0).toString(10)); break; } case constants_1.END: { // This is the largest possible value of UInt64 reqSettings.setRevision("18446744073709551615"); break; } default: { reqSettings.setRevision(settings.startFrom.toString(10)); break; } } options.setGroupName(groupName); options.setStreamIdentifier(identifier); options.setSettings(reqSettings); req.setOptions(options); utils_1.debug.command("updatePersistentSubscriptionToStream: %O", { streamName, groupName, settings, options: baseOptions, }); utils_1.debug.command_grpc("updatePersistentSubscriptionToStream: %g", req); return this.execute(persistent_grpc_pb_1.PersistentSubscriptionsClient, "updatePersistentSubscriptionToStream", (client) => new Promise((resolve, reject) => { client.update(req, ...this.callArguments(baseOptions), (error) => { if (error) return reject((0, utils_1.convertToCommandError)(error)); return resolve(); }); })); }; //# sourceMappingURL=updatePersistentSubscriptionToStream.js.map