UNPKG

ravendb

Version:
69 lines 2.44 kB
import { throwError } from "../../Exceptions/index.js"; import { RavenCommand } from "../../Http/RavenCommand.js"; import { HeadersBuilder } from "../../Utility/HttpUtil.js"; import { RaftIdGenerator } from "../../Utility/RaftIdGenerator.js"; import { TypeUtil } from "../../Utility/TypeUtil.js"; import { ClientShardHelper } from "../../Utility/ClientShardHelper.js"; export class DeleteDatabasesOperation { get resultType() { return "CommandResult"; } _parameters; constructor(parameters) { if (!parameters) { throwError("InvalidArgumentException", "Parameters must be provided."); } if (!parameters.databaseNames || !parameters.databaseNames.length) { throwError("InvalidArgumentException", "Database names must be provided."); } this._parameters = parameters; if (!TypeUtil.isNullOrUndefined(parameters.shardNumber)) { this._parameters = { ...parameters, databaseNames: parameters.databaseNames.map(x => ClientShardHelper.toShardName(x, parameters.shardNumber)) }; } } getCommand(conventions) { return new DeleteDatabaseCommand(conventions, this._parameters); } } export class DeleteDatabaseCommand extends RavenCommand { _parameters; constructor(conventions, parameters) { super(); if (!conventions) { throwError("InvalidArgumentException", "Conventions cannot be null"); } if (!parameters) { throwError("InvalidArgumentException", "Parameters cannot be null."); } this._parameters = this._serializer.serialize(parameters); } createRequest(node) { const uri = node.url + "/admin/databases"; return { uri, method: "DELETE", headers: HeadersBuilder.create() .typeAppJson() .build(), body: this._parameters, }; } async setResponseAsync(bodyStream, fromCache) { if (!bodyStream) { this._throwInvalidResponse(); } let body = null; this.result = await this._defaultPipeline(x => body = x).process(bodyStream); return body; } get isReadRequest() { return false; } getRaftUniqueRequestId() { return RaftIdGenerator.newId(); } } //# sourceMappingURL=DeleteDatabasesOperation.js.map