aboutsummaryrefslogtreecommitdiff
path: root/backend/api/api/Services/ModelService.cs
diff options
context:
space:
mode:
Diffstat (limited to 'backend/api/api/Services/ModelService.cs')
-rw-r--r--backend/api/api/Services/ModelService.cs47
1 files changed, 47 insertions, 0 deletions
diff --git a/backend/api/api/Services/ModelService.cs b/backend/api/api/Services/ModelService.cs
new file mode 100644
index 00000000..33dea30e
--- /dev/null
+++ b/backend/api/api/Services/ModelService.cs
@@ -0,0 +1,47 @@
+using System;
+using api.Interfaces;
+using api.Models;
+using MongoDB.Driver;
+
+namespace api.Services
+{
+ public class ModelService : IModelService
+ {
+
+ private readonly IMongoCollection<Model> _model;
+
+ public ModelService(IUserStoreDatabaseSettings settings, IMongoClient mongoClient)
+ {
+ var database = mongoClient.GetDatabase(settings.DatabaseName);
+ _model = database.GetCollection<Model>(settings.ModelCollectionName);
+ }
+
+ public Model Create(Model model)
+ {
+ _model.InsertOne(model);
+ return model;
+ }
+
+ public void Delete(string username, string name)
+ {
+ _model.DeleteOne(model => (model.username == username && model.name == name));
+ }
+
+ public List<Model> GetAllModels(string username)
+ {
+ return _model.Find(model => model.username == username).ToList();
+ }
+
+ public Model GetOneModel(string username, string name)
+ {
+ return _model.Find(model => model.username == username && model.name == name).FirstOrDefault();
+ }
+
+ public void Update(string username, string name, Model model)
+ {
+ _model.ReplaceOne(model => model.username == username && model.name == name, model);
+ }
+
+ }
+}
+