UNPKG

@configurator/ravendb

Version:
64 lines 2.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SetDatabasesLockOperation = void 0; const Exceptions_1 = require("../../../Exceptions"); const RavenCommand_1 = require("../../../Http/RavenCommand"); const RaftIdGenerator_1 = require("../../../Utility/RaftIdGenerator"); const TypeUtil_1 = require("../../../Utility/TypeUtil"); class SetDatabasesLockOperation { constructor(databaseNameOrParameters, mode) { if (!databaseNameOrParameters) { (0, Exceptions_1.throwError)("InvalidArgumentException", "Database or Parameters cannot be null"); } if (TypeUtil_1.TypeUtil.isString(databaseNameOrParameters)) { this._parameters = { databaseNames: [databaseNameOrParameters], mode }; } else { if (!databaseNameOrParameters.databaseNames || databaseNameOrParameters.databaseNames.length === 0) { (0, Exceptions_1.throwError)("InvalidArgumentException", "DatabaseNames cannot be null or empty"); } this._parameters = databaseNameOrParameters; } } get resultType() { return "CommandResult"; } getCommand(conventions) { return new SetDatabasesLockCommand(conventions, this._parameters); } } exports.SetDatabasesLockOperation = SetDatabasesLockOperation; class SetDatabasesLockCommand extends RavenCommand_1.RavenCommand { constructor(conventions, parameters) { super(); if (!conventions) { (0, Exceptions_1.throwError)("InvalidArgumentException", "Conventions cannot be null"); } if (!parameters) { (0, Exceptions_1.throwError)("InvalidArgumentException", "Parameters cannot be null"); } this._parameters = conventions.objectMapper.toObjectLiteral(parameters); } createRequest(node) { const uri = node.url + "/admin/databases/set-lock"; const body = this._serializer.serialize(this._parameters); const headers = this._headers() .typeAppJson().build(); return { uri, method: "POST", body, headers }; } get isReadRequest() { return false; } getRaftUniqueRequestId() { return RaftIdGenerator_1.RaftIdGenerator.newId(); } } //# sourceMappingURL=SetDatabasesLockOperation.js.map