From f20c7a555082c21db1b5ab5033deca59992f036b Mon Sep 17 00:00:00 2001
From: Slincnik <pattyshow21@mail.ru>
Date: Sat, 14 Dec 2024 16:38:28 +0300
Subject: [PATCH] feat: added new func in database adapter

---
 src/adapters/database/IDatabaseAdapter.js | 16 ++++++++++++++++
 src/adapters/database/MongooseAdapter.js  | 16 ++++++++++++++++
 2 files changed, 32 insertions(+)

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();
+	}
 }