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.CreateIndex<document>("test"); | ||||||
|          |          | ||||||
|          |  | ||||||
|          |  | ||||||
|         service.AddDocument("test", new document() |         service.AddDocument("test", new document() | ||||||
|         { |         { | ||||||
|             Id = Guid.NewGuid(), |             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; | ||||||
|  | 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; | ||||||
|  | |||||||
| @ -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(); | ||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 |  | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user