using backend.Models; using Microsoft.Extensions.Options; using MongoDB.Driver; namespace backend.Services; public class UserService { private readonly IMongoCollection _users; public UserService(IOptions settings) { var client = new MongoClient(settings.Value.ConnectionString); var database = client.GetDatabase(settings.Value.DatabaseName); _users = database.GetCollection(settings.Value.UsersCollectionName); } public async Task> Get() { return await _users.Find(user => true).ToListAsync(); } public async Task GetAsync(string id) { var user = await _users.Find(user => user.Id == id).FirstOrDefaultAsync(); return user; } public async Task CreateAsync(User user) { await _users.InsertOneAsync(user); } public async Task RemoveAsync(string id) { await _users.DeleteOneAsync(user => user.Id == id); } public async Task UpdateAsync(string id, User userIn) { await _users.ReplaceOneAsync(user => user.Id == id, userIn); } }