Commit
This commit is contained in:
commit
d1c8cae2c1
1417 changed files with 326736 additions and 0 deletions
37
node_modules/mongodb/lib/operations/validate_collection.js
generated
vendored
Normal file
37
node_modules/mongodb/lib/operations/validate_collection.js
generated
vendored
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.ValidateCollectionOperation = void 0;
|
||||
const responses_1 = require("../cmap/wire_protocol/responses");
|
||||
const error_1 = require("../error");
|
||||
const command_1 = require("./command");
|
||||
/** @internal */
|
||||
class ValidateCollectionOperation extends command_1.CommandOperation {
|
||||
constructor(admin, collectionName, options) {
|
||||
super(admin.s.db, options);
|
||||
this.SERVER_COMMAND_RESPONSE_TYPE = responses_1.MongoDBResponse;
|
||||
this.options = options;
|
||||
this.collectionName = collectionName;
|
||||
}
|
||||
get commandName() {
|
||||
return 'validate';
|
||||
}
|
||||
buildCommandDocument(_connection, _session) {
|
||||
// Decorate command with extra options
|
||||
return {
|
||||
validate: this.collectionName,
|
||||
...Object.fromEntries(Object.entries(this.options).filter(entry => entry[0] !== 'session'))
|
||||
};
|
||||
}
|
||||
handleOk(response) {
|
||||
const result = super.handleOk(response);
|
||||
if (result.result != null && typeof result.result !== 'string')
|
||||
throw new error_1.MongoUnexpectedServerResponseError('Error with validation data');
|
||||
if (result.result != null && result.result.match(/exception|corrupt/) != null)
|
||||
throw new error_1.MongoUnexpectedServerResponseError(`Invalid collection ${this.collectionName}`);
|
||||
if (result.valid != null && !result.valid)
|
||||
throw new error_1.MongoUnexpectedServerResponseError(`Invalid collection ${this.collectionName}`);
|
||||
return response;
|
||||
}
|
||||
}
|
||||
exports.ValidateCollectionOperation = ValidateCollectionOperation;
|
||||
//# sourceMappingURL=validate_collection.js.map
|
||||
Loading…
Add table
Add a link
Reference in a new issue