@kurrent/kurrentdb-client
Version:
KurrentDB gRPC NodeJS Client SDK
57 lines • 2.61 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 Client_1 = require("../Client");
Client_1.Client.prototype.replayParkedMessagesToStream = async function (streamName, groupName, options = {}) {
utils_1.debug.command("replayParkedMessagesToStream: %O", {
streamName,
groupName,
options,
});
if (await this.supports(persistent_grpc_pb_1.PersistentSubscriptionsService.replayParked, "stream")) {
return replayParkedMessagesToStreamGRPC.call(this, streamName, groupName, options);
}
return replayParkedMessagesToStreamHTTP.call(this, streamName, groupName, options);
};
const replayParkedMessagesToStreamGRPC = async function (streamName, groupName, { stopAt, ...baseOptions } = {}) {
const req = new persistent_pb_1.ReplayParkedReq();
const options = new persistent_pb_1.ReplayParkedReq.Options();
const identifier = (0, utils_1.createStreamIdentifier)(streamName);
options.setStreamIdentifier(identifier);
options.setGroupName(groupName);
if (stopAt != null) {
options.setStopAt(stopAt.toString(10));
}
else {
options.setNoLimit(new shared_pb_1.Empty());
}
req.setOptions(options);
utils_1.debug.command_grpc("replayParkedMessagesToStream: %g", req);
return this.execute(persistent_grpc_pb_1.PersistentSubscriptionsClient, "replayParkedMessagesToStream", (client) => new Promise((resolve, reject) => {
client.replayParked(req, ...this.callArguments(baseOptions), (error) => {
if (error)
return reject((0, utils_1.convertToCommandError)(error));
return resolve();
});
}));
};
const replayParkedMessagesToStreamHTTP = async function (streamName, groupName, { stopAt, ...baseOptions } = {}) {
await this.HTTPRequest("POST", `/subscriptions/${encodeURIComponent(streamName)}/${encodeURIComponent(groupName)}/replayParked`, {
...baseOptions,
searchParams: {
stopAt: stopAt?.toString(10),
},
transformError(statusCode) {
if (statusCode === 404) {
return new utils_1.PersistentSubscriptionDoesNotExistError(undefined, {
streamName,
groupName,
});
}
},
});
};
//# sourceMappingURL=replayParkedMessagesToStream.js.map