diff options
Diffstat (limited to 'backend/api/api/Services/ModelService.cs')
-rw-r--r-- | backend/api/api/Services/ModelService.cs | 47 |
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); + } + + } +} + |