using MongoDB.Driver; using QuestionsApi.Models; namespace QuestionsApi.Services; public class QuestionMediaStore { private readonly IMongoCollection _col; public QuestionMediaStore(IConfiguration cfg) { var cs = cfg["MongoDB:ConnectionString"] ?? "mongodb://127.0.0.1:27017"; var dbName = cfg["MongoDB:DatabaseName"] ?? "GameDb"; var client = new MongoClient(cs); var db = client.GetDatabase(dbName); _col = db.GetCollection("QuestionMediaAssets"); } public async Task CreateAsync(string fileName, string contentType, byte[] bytes) { var asset = new QuestionMediaAsset { FileName = fileName.Trim(), ContentType = contentType.Trim(), Bytes = bytes, CreatedUtc = DateTime.UtcNow }; await _col.InsertOneAsync(asset); return asset; } public async Task GetAsync(string id) => await _col.Find(asset => asset.Id == id).FirstOrDefaultAsync(); }