diff --git a/src/adapters/database/IDatabaseAdapter.js b/src/adapters/database/IDatabaseAdapter.js index feee308f..f844d775 100644 --- a/src/adapters/database/IDatabaseAdapter.js +++ b/src/adapters/database/IDatabaseAdapter.js @@ -6,4 +6,20 @@ export default class IDatabaseAdapter { async disconnect() { throw new Error("Method `disconnect` not implemented."); } + + async find() { + throw new Error("Method \"find\" must be implemented"); + } + + async findOne() { + throw new Error("Method \"findOne\" must be implemented"); + } + + async updateOne() { + throw new Error("Method \"updateOne\" must be implemented"); + } + + async deleteOne() { + throw new Error("Method \"deleteOne\" must be implemented"); + } } diff --git a/src/adapters/database/MongooseAdapter.js b/src/adapters/database/MongooseAdapter.js index 6f5b6ec8..56215eba 100644 --- a/src/adapters/database/MongooseAdapter.js +++ b/src/adapters/database/MongooseAdapter.js @@ -29,4 +29,20 @@ export default class MongooseAdapter extends IDatabaseAdapter { await mongoose.disconnect(); logger.warn("Database disconnected."); } + + async find(model, query = {}, options = {}) { + return model.find(query, null, options).exec(); + } + + async findOne(model, query = {}, options = {}) { + return model.findOne(query, null, options).exec(); + } + + async updateOne(model, filter, update, options = {}) { + return model.updateOne(filter, update, options).exec(); + } + + async deleteOne(model, filter) { + return model.deleteOne(filter).exec(); + } }