From 582085f5001f7d4bee58bf9183f70bdd200753e9 Mon Sep 17 00:00:00 2001 From: Jared Nance Date: Fri, 7 Sep 2018 20:10:28 -0700 Subject: [PATCH] fix(#383): add operation processor overloads --- .../Processors/CreateOpProcessor.cs | 40 +++++++++++++++ .../Operations/Processors/GetOpProcessor.cs | 50 +++++++++++++++++++ .../Processors/RemoveOpProcessor.cs | 40 +++++++++++++++ .../Processors/UpdateOpProcessor.cs | 40 +++++++++++++++ 4 files changed, 170 insertions(+) diff --git a/src/JsonApiDotNetCore/Services/Operations/Processors/CreateOpProcessor.cs b/src/JsonApiDotNetCore/Services/Operations/Processors/CreateOpProcessor.cs index 5ecdf6f38a..8b5f86fe83 100644 --- a/src/JsonApiDotNetCore/Services/Operations/Processors/CreateOpProcessor.cs +++ b/src/JsonApiDotNetCore/Services/Operations/Processors/CreateOpProcessor.cs @@ -26,6 +26,22 @@ public CreateOpProcessor( IContextGraph contextGraph ) : base(service, deSerializer, documentBuilder, contextGraph) { } + + public CreateOpProcessor( + IResourceCmdService service, + IJsonApiDeSerializer deSerializer, + IDocumentBuilder documentBuilder, + IContextGraph contextGraph + ) : base(service, deSerializer, documentBuilder, contextGraph) + { } + + public CreateOpProcessor( + IResourceService service, + IJsonApiDeSerializer deSerializer, + IDocumentBuilder documentBuilder, + IContextGraph contextGraph + ) : base(service, deSerializer, documentBuilder, contextGraph) + { } } public class CreateOpProcessor : ICreateOpProcessor @@ -48,6 +64,30 @@ public CreateOpProcessor( _contextGraph = contextGraph; } + public CreateOpProcessor( + IResourceCmdService service, + IJsonApiDeSerializer deSerializer, + IDocumentBuilder documentBuilder, + IContextGraph contextGraph) + { + _service = service; + _deSerializer = deSerializer; + _documentBuilder = documentBuilder; + _contextGraph = contextGraph; + } + + public CreateOpProcessor( + IResourceService service, + IJsonApiDeSerializer deSerializer, + IDocumentBuilder documentBuilder, + IContextGraph contextGraph) + { + _service = service; + _deSerializer = deSerializer; + _documentBuilder = documentBuilder; + _contextGraph = contextGraph; + } + public async Task ProcessAsync(Operation operation) { var model = (T)_deSerializer.DocumentToObject(operation.DataObject); diff --git a/src/JsonApiDotNetCore/Services/Operations/Processors/GetOpProcessor.cs b/src/JsonApiDotNetCore/Services/Operations/Processors/GetOpProcessor.cs index 954bfadd55..52cc84bb2e 100644 --- a/src/JsonApiDotNetCore/Services/Operations/Processors/GetOpProcessor.cs +++ b/src/JsonApiDotNetCore/Services/Operations/Processors/GetOpProcessor.cs @@ -42,6 +42,24 @@ public GetOpProcessor( IJsonApiContext jsonApiContext ) : base(getAll, getById, getRelationship, deSerializer, documentBuilder, contextGraph, jsonApiContext) { } + + public GetOpProcessor( + IResourceQueryService service, + IJsonApiDeSerializer deSerializer, + IDocumentBuilder documentBuilder, + IContextGraph contextGraph, + IJsonApiContext jsonApiContext + ) : base(service, service, service, deSerializer, documentBuilder, contextGraph, jsonApiContext) + { } + + public GetOpProcessor( + IResourceService service, + IJsonApiDeSerializer deSerializer, + IDocumentBuilder documentBuilder, + IContextGraph contextGraph, + IJsonApiContext jsonApiContext + ) : base(service, service, service, deSerializer, documentBuilder, contextGraph, jsonApiContext) + { } } /// @@ -75,6 +93,38 @@ public GetOpProcessor( _jsonApiContext = jsonApiContext.ApplyContext(this); } + public GetOpProcessor( + IResourceQueryService service, + IJsonApiDeSerializer deSerializer, + IDocumentBuilder documentBuilder, + IContextGraph contextGraph, + IJsonApiContext jsonApiContext) + { + _getAll = service; + _getById = service; + _getRelationship = service; + _deSerializer = deSerializer; + _documentBuilder = documentBuilder; + _contextGraph = contextGraph; + _jsonApiContext = jsonApiContext.ApplyContext(this); + } + + public GetOpProcessor( + IResourceService service, + IJsonApiDeSerializer deSerializer, + IDocumentBuilder documentBuilder, + IContextGraph contextGraph, + IJsonApiContext jsonApiContext) + { + _getAll = service; + _getById = service; + _getRelationship = service; + _deSerializer = deSerializer; + _documentBuilder = documentBuilder; + _contextGraph = contextGraph; + _jsonApiContext = jsonApiContext.ApplyContext(this); + } + /// public async Task ProcessAsync(Operation operation) { diff --git a/src/JsonApiDotNetCore/Services/Operations/Processors/RemoveOpProcessor.cs b/src/JsonApiDotNetCore/Services/Operations/Processors/RemoveOpProcessor.cs index a1aebadc66..58c1d1fc59 100644 --- a/src/JsonApiDotNetCore/Services/Operations/Processors/RemoveOpProcessor.cs +++ b/src/JsonApiDotNetCore/Services/Operations/Processors/RemoveOpProcessor.cs @@ -25,6 +25,22 @@ public RemoveOpProcessor( IContextGraph contextGraph ) : base(service, deSerializer, documentBuilder, contextGraph) { } + + public RemoveOpProcessor( + IResourceCmdService service, + IJsonApiDeSerializer deSerializer, + IDocumentBuilder documentBuilder, + IContextGraph contextGraph + ) : base(service, deSerializer, documentBuilder, contextGraph) + { } + + public RemoveOpProcessor( + IResourceService service, + IJsonApiDeSerializer deSerializer, + IDocumentBuilder documentBuilder, + IContextGraph contextGraph + ) : base(service, deSerializer, documentBuilder, contextGraph) + { } } public class RemoveOpProcessor : IRemoveOpProcessor @@ -47,6 +63,30 @@ public RemoveOpProcessor( _contextGraph = contextGraph; } + public RemoveOpProcessor( + IResourceCmdService service, + IJsonApiDeSerializer deSerializer, + IDocumentBuilder documentBuilder, + IContextGraph contextGraph) + { + _service = service; + _deSerializer = deSerializer; + _documentBuilder = documentBuilder; + _contextGraph = contextGraph; + } + + public RemoveOpProcessor( + IResourceService service, + IJsonApiDeSerializer deSerializer, + IDocumentBuilder documentBuilder, + IContextGraph contextGraph) + { + _service = service; + _deSerializer = deSerializer; + _documentBuilder = documentBuilder; + _contextGraph = contextGraph; + } + public async Task ProcessAsync(Operation operation) { var stringId = operation.Ref?.Id?.ToString(); diff --git a/src/JsonApiDotNetCore/Services/Operations/Processors/UpdateOpProcessor.cs b/src/JsonApiDotNetCore/Services/Operations/Processors/UpdateOpProcessor.cs index 1ea690a52c..ab21f31759 100644 --- a/src/JsonApiDotNetCore/Services/Operations/Processors/UpdateOpProcessor.cs +++ b/src/JsonApiDotNetCore/Services/Operations/Processors/UpdateOpProcessor.cs @@ -25,6 +25,22 @@ public UpdateOpProcessor( IContextGraph contextGraph ) : base(service, deSerializer, documentBuilder, contextGraph) { } + + public UpdateOpProcessor( + IResourceCmdService service, + IJsonApiDeSerializer deSerializer, + IDocumentBuilder documentBuilder, + IContextGraph contextGraph + ) : base(service, deSerializer, documentBuilder, contextGraph) + { } + + public UpdateOpProcessor( + IResourceService service, + IJsonApiDeSerializer deSerializer, + IDocumentBuilder documentBuilder, + IContextGraph contextGraph + ) : base(service, deSerializer, documentBuilder, contextGraph) + { } } public class UpdateOpProcessor : IUpdateOpProcessor @@ -47,6 +63,30 @@ public UpdateOpProcessor( _contextGraph = contextGraph; } + public UpdateOpProcessor( + IResourceCmdService service, + IJsonApiDeSerializer deSerializer, + IDocumentBuilder documentBuilder, + IContextGraph contextGraph) + { + _service = service; + _deSerializer = deSerializer; + _documentBuilder = documentBuilder; + _contextGraph = contextGraph; + } + + public UpdateOpProcessor( + IResourceService service, + IJsonApiDeSerializer deSerializer, + IDocumentBuilder documentBuilder, + IContextGraph contextGraph) + { + _service = service; + _deSerializer = deSerializer; + _documentBuilder = documentBuilder; + _contextGraph = contextGraph; + } + public async Task ProcessAsync(Operation operation) { if (string.IsNullOrWhiteSpace(operation?.DataObject?.Id?.ToString()))