fix: bugs with split up classes
All checks were successful
build-packages / meilisearch-dotnet-packages (push) Successful in 6m3s

This commit is contained in:
Damien 2025-03-01 13:21:25 -05:00
parent f21b92bc1f
commit 845d0a332b
4 changed files with 77 additions and 24 deletions

View File

@ -71,8 +71,6 @@ public class test
service.CreateIndex<document>("test"); service.CreateIndex<document>("test");
service.AddDocument("test", new document() service.AddDocument("test", new document()
{ {
Id = Guid.NewGuid(), Id = Guid.NewGuid(),

View File

@ -0,0 +1,49 @@
using Meilisearch;
using meilisearch.NET;
using meilisearch.NET.Models;
public static class MeilisearchClientExtensions
{
public static async Task<T> SDK<T>(this MeiliSearchService service, string indexName, Func<MeilisearchClient, Task<T>> action)
{
var client = service.Client;
var indexManager = service.IndexManager;
if (client == null)
throw new InvalidOperationException("MeilisearchClient is not initialized");
if (!string.IsNullOrEmpty(indexName))
{
var index = await client.GetIndexAsync("index_bindings");
var doc = await index.GetDocumentAsync<meilisearch.NET.Models.Index>(indexName);
if (doc.IsCompressed)
{
await indexManager.SetIndexEnabledAsync(indexName, true);
}
}
var result = await action(client);
return result;
}
public static async Task SDK(this MeiliSearchService service, string indexName, Func<MeilisearchClient, Task> action)
{
var client = service.Client;
var indexManager = service.IndexManager;
if (client == null)
throw new InvalidOperationException("MeilisearchClient is not initialized");
if (!string.IsNullOrEmpty(indexName))
{
var index = await client.GetIndexAsync("index_bindings");
var doc = await index.GetDocumentAsync<meilisearch.NET.Models.Index>(indexName);
if (doc.IsCompressed)
{
await indexManager.SetIndexEnabledAsync(indexName, true);
}
}
await action(client);
}
}

View File

@ -1,4 +1,5 @@
using Meilisearch; using Meilisearch;
using meilisearch.NET;
using meilisearch.NET.Configurations; using meilisearch.NET.Configurations;
using meilisearch.NET.Services.DocumentManagement; using meilisearch.NET.Services.DocumentManagement;
using meilisearch.NET.Services.IndexManagement; using meilisearch.NET.Services.IndexManagement;

View File

@ -1,52 +1,57 @@
using Meilisearch;
using meilisearch.NET.Interfaces; using meilisearch.NET.Interfaces;
using meilisearch.NET.Services.DocumentManagement; using meilisearch.NET.Services.DocumentManagement;
using meilisearch.NET.Services.IndexManagement; using meilisearch.NET.Services.IndexManagement;
using meilisearch.NET.Services.ProcessManagement; using meilisearch.NET.Services.ProcessManagement;
namespace meilisearch.NET;
public class MeiliSearchService : IDisposable public class MeiliSearchService : IDisposable
{ {
private readonly MeiliSearchProcessManager _processManager; internal readonly MeiliSearchProcessManager ProcessManager;
private readonly IIndexManager _indexManager; internal readonly IIndexManager IndexManager;
private readonly IDocumentManager _documentManager; internal readonly IDocumentManager DocumentManager;
internal readonly MeilisearchClient Client;
public MeiliSearchService( public MeiliSearchService(
MeiliSearchProcessManager processManager, MeiliSearchProcessManager processManager,
IIndexManager indexManager, IIndexManager indexManager,
IDocumentManager documentManager) IDocumentManager documentManager,
MeilisearchClient client)
{ {
_processManager = processManager; Client = client;
_indexManager = indexManager; ProcessManager = processManager;
_documentManager = documentManager; IndexManager = indexManager;
_processManager.StartProcess(); DocumentManager = documentManager;
ProcessManager.StartProcess().Wait();
} }
public async Task Start() => await _processManager.StartProcess(); public async Task Start() => await ProcessManager.StartProcess();
public long GetTotalStorageUsage(bool useCompressedSize = true) public long GetTotalStorageUsage(bool useCompressedSize = true)
=> _indexManager.GetTotalStorageUsage(useCompressedSize); => IndexManager.GetTotalStorageUsage(useCompressedSize);
public long GetIndexStorageUsage(string indexName, bool useCompressedSize = true) public long GetIndexStorageUsage(string indexName, bool useCompressedSize = true)
=> _indexManager.GetIndexStorageUsage(indexName, useCompressedSize); => IndexManager.GetIndexStorageUsage(indexName, useCompressedSize);
public void Stop() => _processManager.StopProcess(); public void Stop() => ProcessManager.StopProcess();
public bool IsRunning() => _processManager.IsProcessRunning(); public bool IsRunning() => ProcessManager.IsProcessRunning();
public Task SetIndexEnabled(string indexName, bool enabled) public Task SetIndexEnabled(string indexName, bool enabled)
=> _indexManager.SetIndexEnabledAsync(indexName, enabled); => IndexManager.SetIndexEnabledAsync(indexName, enabled);
public ProcessResourceStats GetResourceUsage() => _processManager.GetResourceUsage(); public ProcessResourceStats GetResourceUsage() => ProcessManager.GetResourceUsage();
public Task<List<string>> GetAllIndexes() => _indexManager.GetAllIndexes(); public Task<List<string>> GetAllIndexes() => IndexManager.GetAllIndexes();
public Task CreateIndex<T>(string indexName) where T : IDocument public Task CreateIndex<T>(string indexName) where T : IDocument
=> _indexManager.CreateIndexAsync<T>(indexName); => IndexManager.CreateIndexAsync<T>(indexName);
public Task DeleteIndex(string indexName) => _indexManager.DeleteIndexAsync(indexName); public Task DeleteIndex(string indexName) => IndexManager.DeleteIndexAsync(indexName);
public void AddDocument(string repositoryId, IDocument document, bool autoCommit = false) public void AddDocument(string repositoryId, IDocument document, bool autoCommit = false)
=> _documentManager.AddDocument(repositoryId, document, autoCommit); => DocumentManager.AddDocument(repositoryId, document, autoCommit);
public void Dispose() public void Dispose()
{ {
_processManager.Dispose(); ProcessManager.Dispose();
} }
} }