e-commercee
Version:
This package contains a backend of what would be the logic of a e-commercee software, the architecture used is made in 3 layers
33 lines (25 loc) • 894 B
JavaScript
;
const OperationBase = require('./operation').OperationBase;
const handleCallback = require('../utils').handleCallback;
const MongoError = require('../core').MongoError;
class OptionsOperation extends OperationBase {
constructor(collection, options) {
super(options);
this.collection = collection;
}
execute(callback) {
const coll = this.collection;
const opts = this.options;
coll.s.db.listCollections({ name: coll.collectionName }, opts).toArray((err, collections) => {
if (err) return handleCallback(callback, err);
if (collections.length === 0) {
return handleCallback(
callback,
MongoError.create({ message: `collection ${coll.namespace} not found`, driver: true })
);
}
handleCallback(callback, err, collections[0].options || null);
});
}
}
module.exports = OptionsOperation;