@kurrent/kurrentdb-client
Version:
KurrentDB gRPC NodeJS Client SDK
53 lines • 2.48 kB
JavaScript
;
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