fix: bugs with split up classes
All checks were successful
build-packages / meilisearch-dotnet-packages (push) Successful in 6m3s
All checks were successful
build-packages / meilisearch-dotnet-packages (push) Successful in 6m3s
This commit is contained in:
parent
f21b92bc1f
commit
845d0a332b
@ -71,8 +71,6 @@ public class test
|
||||
|
||||
service.CreateIndex<document>("test");
|
||||
|
||||
|
||||
|
||||
service.AddDocument("test", new document()
|
||||
{
|
||||
Id = Guid.NewGuid(),
|
||||
|
49
meilisearch.NET/Extensions/MeilisearchClientExtensions.cs
Normal file
49
meilisearch.NET/Extensions/MeilisearchClientExtensions.cs
Normal 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);
|
||||
}
|
||||
}
|
@ -1,4 +1,5 @@
|
||||
using Meilisearch;
|
||||
using meilisearch.NET;
|
||||
using meilisearch.NET.Configurations;
|
||||
using meilisearch.NET.Services.DocumentManagement;
|
||||
using meilisearch.NET.Services.IndexManagement;
|
||||
|
@ -1,52 +1,57 @@
|
||||
using Meilisearch;
|
||||
using meilisearch.NET.Interfaces;
|
||||
using meilisearch.NET.Services.DocumentManagement;
|
||||
using meilisearch.NET.Services.IndexManagement;
|
||||
using meilisearch.NET.Services.ProcessManagement;
|
||||
|
||||
namespace meilisearch.NET;
|
||||
|
||||
public class MeiliSearchService : IDisposable
|
||||
{
|
||||
private readonly MeiliSearchProcessManager _processManager;
|
||||
private readonly IIndexManager _indexManager;
|
||||
private readonly IDocumentManager _documentManager;
|
||||
internal readonly MeiliSearchProcessManager ProcessManager;
|
||||
internal readonly IIndexManager IndexManager;
|
||||
internal readonly IDocumentManager DocumentManager;
|
||||
internal readonly MeilisearchClient Client;
|
||||
|
||||
public MeiliSearchService(
|
||||
MeiliSearchProcessManager processManager,
|
||||
IIndexManager indexManager,
|
||||
IDocumentManager documentManager)
|
||||
IDocumentManager documentManager,
|
||||
MeilisearchClient client)
|
||||
{
|
||||
_processManager = processManager;
|
||||
_indexManager = indexManager;
|
||||
_documentManager = documentManager;
|
||||
_processManager.StartProcess();
|
||||
Client = client;
|
||||
ProcessManager = processManager;
|
||||
IndexManager = indexManager;
|
||||
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)
|
||||
=> _indexManager.GetTotalStorageUsage(useCompressedSize);
|
||||
=> IndexManager.GetTotalStorageUsage(useCompressedSize);
|
||||
public long GetIndexStorageUsage(string indexName, bool useCompressedSize = true)
|
||||
=> _indexManager.GetIndexStorageUsage(indexName, useCompressedSize);
|
||||
public void Stop() => _processManager.StopProcess();
|
||||
=> IndexManager.GetIndexStorageUsage(indexName, useCompressedSize);
|
||||
public void Stop() => ProcessManager.StopProcess();
|
||||
|
||||
public bool IsRunning() => _processManager.IsProcessRunning();
|
||||
public bool IsRunning() => ProcessManager.IsProcessRunning();
|
||||
|
||||
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
|
||||
=> _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)
|
||||
=> _documentManager.AddDocument(repositoryId, document, autoCommit);
|
||||
=> DocumentManager.AddDocument(repositoryId, document, autoCommit);
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
_processManager.Dispose();
|
||||
ProcessManager.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user