ChatApi/SharepointDomvsService.cs
2024-11-28 22:49:03 -03:00

39 lines
1.4 KiB
C#

using Microsoft.Extensions.Options;
using MongoDB.Driver;
namespace ChatApi
{
public class SharepointDomvsService
{
private readonly IMongoCollection<TextoComEmbedding> _booksCollection;
public SharepointDomvsService(
IOptions<DomvsDatabaseSettings> bookStoreDatabaseSettings)
{
var mongoClient = new MongoClient(
bookStoreDatabaseSettings.Value.ConnectionString);
var mongoDatabase = mongoClient.GetDatabase(
bookStoreDatabaseSettings.Value.DatabaseName);
_booksCollection = mongoDatabase.GetCollection<TextoComEmbedding>(
bookStoreDatabaseSettings.Value.SharepointCollectionName);
}
public async Task<List<TextoComEmbedding>> GetAsync() =>
await _booksCollection.Find(_ => true).ToListAsync();
public async Task<TextoComEmbedding?> GetAsync(string id) =>
await _booksCollection.Find(x => x.Id == id).FirstOrDefaultAsync();
public async Task CreateAsync(TextoComEmbedding newBook) =>
await _booksCollection.InsertOneAsync(newBook);
public async Task UpdateAsync(string id, TextoComEmbedding updatedBook) =>
await _booksCollection.ReplaceOneAsync(x => x.Id == id, updatedBook);
public async Task RemoveAsync(string id) =>
await _booksCollection.DeleteOneAsync(x => x.Id == id);
}
}