Added extra parameters to delete projections

This commit is contained in:
Richard Shephard 2019-05-16 11:56:25 +02:00
parent 6d49f51e7d
commit 35f720f94f
2 changed files with 11 additions and 7 deletions

View File

@ -102,8 +102,10 @@ ProjectionsClient.prototype.updateQuery = function(httpEndPoint, name, query, us
return this.sendPut(httpEndPoint + '/projection/' + name + '/query?type=JS', query, userCredentials, HTTP_OK);
};
ProjectionsClient.prototype.delete = function(httpEndPoint, name, deleteEmittedStreams, userCredentials) {
return this.sendDelete(httpEndPoint + '/projection/' + name + '?deleteEmittedStreams=' + deleteEmittedStreams, userCredentials, HTTP_OK);
ProjectionsClient.prototype.delete = function(httpEndPoint, name, deleteEmittedStreams, deleteStateStream, deleteCheckpointStream, userCredentials) {
const stateStream = (deleteStateStream === undefined) ? false : deleteStateStream;
const checkpointStream = (deleteCheckpointStream === undefined) ? false : deleteCheckpointStream;
return this.sendDelete(httpEndPoint + '/projection/' + name + '?deleteStateStream=' + stateStream + '&deleteCheckpointStream' + checkpointStream + '&deleteEmittedStreams=' + deleteEmittedStreams, userCredentials, HTTP_OK);
};
ProjectionsClient.prototype.request = function(method, _url, data, userCredentials, expectedCode) {

View File

@ -190,13 +190,15 @@ ProjectionsManager.prototype.updateQuery = function(name, query, userCredentials
/**
* Updates the definition of a query.
* @param name The name of the projection.
* @param deleteEmittedStreams Whether to delete the streams that were emitted by this projection.
* @param userCredentials Credentials for a user with permission to delete a projection.
* @param name The name of the projection.
* @param deleteEmittedStreams Whether to delete the streams that were emitted by this projection.
* @param deleteStateStream Where to delete the state stream for this projection
* @param deleteCheckpointStream Where to delete the checkpoint stream for this projection
* @param userCredentials Credentials for a user with permission to delete a projection.
* @returns {Promise<void>}
*/
ProjectionsManager.prototype.delete = function(name, deleteEmittedStreams, userCredentials) {
return this._client.delete(this._httpEndPoint, name, deleteEmittedStreams, userCredentials);
ProjectionsManager.prototype.delete = function(name, deleteEmittedStreams, deleteStateStream, deleteCheckpointStream, userCredentials) {
return this._client.delete(this._httpEndPoint, name, deleteEmittedStreams, deleteStateStream, deleteCheckpointStream, userCredentials);
};
module.exports = ProjectionsManager;