From 793570f95b20861e73259cdef596be2931e64250 Mon Sep 17 00:00:00 2001 From: Bart Koelman <10324372+bkoelman@users.noreply.github.com> Date: Thu, 18 May 2023 13:41:04 +0200 Subject: [PATCH 1/2] Package updates --- .config/dotnet-tools.json | 8 ++++---- Directory.Build.props | 2 +- docs/build-dev.ps1 | 3 +++ docs/docfx.json | 2 +- test/TestBuildingBlocks/TestBuildingBlocks.csproj | 2 +- 5 files changed, 10 insertions(+), 7 deletions(-) diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json index 40d3ba4893..ad89a48ac6 100644 --- a/.config/dotnet-tools.json +++ b/.config/dotnet-tools.json @@ -3,13 +3,13 @@ "isRoot": true, "tools": { "jetbrains.resharper.globaltools": { - "version": "2023.1.0", + "version": "2023.1.2", "commands": [ "jb" ] }, "regitlint": { - "version": "6.3.10", + "version": "6.3.11", "commands": [ "regitlint" ] @@ -21,13 +21,13 @@ ] }, "dotnet-reportgenerator-globaltool": { - "version": "5.1.19", + "version": "5.1.20", "commands": [ "reportgenerator" ] }, "docfx": { - "version": "2.62.2", + "version": "2.67.1", "commands": [ "docfx" ] diff --git a/Directory.Build.props b/Directory.Build.props index af2fb7ac5b..54b8a4d10d 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -35,6 +35,6 @@ 3.2.* 4.18.* - 17.5.* + 17.6.* diff --git a/docs/build-dev.ps1 b/docs/build-dev.ps1 index bdd13d16b8..6bff0e5fcb 100644 --- a/docs/build-dev.ps1 +++ b/docs/build-dev.ps1 @@ -37,6 +37,9 @@ if (-Not $NoBuild -Or -Not (Test-Path -Path _site)) { Invoke-Expression ./generate-examples.ps1 } +dotnet tool restore +VerifySuccessExitCode + dotnet docfx ./docfx.json VerifySuccessExitCode diff --git a/docs/docfx.json b/docs/docfx.json index 7fdafa0fe5..1d0e192ac2 100644 --- a/docs/docfx.json +++ b/docs/docfx.json @@ -40,7 +40,7 @@ "dest": "_site", "globalMetadataFiles": [], "fileMetadataFiles": [], - "template": [ "default" ], + "template": [ "default", "modern" ], "postProcessors": [], "noLangKeyword": false, "keepFileLink": false, diff --git a/test/TestBuildingBlocks/TestBuildingBlocks.csproj b/test/TestBuildingBlocks/TestBuildingBlocks.csproj index 46193372a8..bec40e7ed7 100644 --- a/test/TestBuildingBlocks/TestBuildingBlocks.csproj +++ b/test/TestBuildingBlocks/TestBuildingBlocks.csproj @@ -10,7 +10,7 @@ - + From a1cf3ab30659f1f25c80d5e5d890c34ad0adb3ac Mon Sep 17 00:00:00 2001 From: Bart Koelman <10324372+bkoelman@users.noreply.github.com> Date: Thu, 18 May 2023 16:12:41 +0200 Subject: [PATCH 2/2] use mermaid diagrams --- docs/internals/queries.md | 5 ++- docs/usage/extensibility/services.md | 64 ++++++++++++---------------- 2 files changed, 31 insertions(+), 38 deletions(-) diff --git a/docs/internals/queries.md b/docs/internals/queries.md index 76f062c233..198a1659a2 100644 --- a/docs/internals/queries.md +++ b/docs/internals/queries.md @@ -4,8 +4,9 @@ _since v4.0_ The query pipeline roughly looks like this: -``` -HTTP --[ASP.NET]--> QueryString --[JADNC:QueryStringParameterReader]--> QueryExpression[] --[JADNC:ResourceService]--> QueryLayer --[JADNC:Repository]--> IQueryable --[Entity Framework Core]--> SQL +```mermaid +flowchart TB +A[HTTP] -->|ASP.NET| B(QueryString) -->|JADNC:QueryStringParameterReader| C("QueryExpression[]") -->|JADNC:ResourceService| D(QueryLayer) -->|JADNC:Repository| E(IQueryable) -->|Entity Framework Core| F[(SQL)] ``` Processing a request involves the following steps: diff --git a/docs/usage/extensibility/services.md b/docs/usage/extensibility/services.md index 6cdea8b783..90dea1352b 100644 --- a/docs/usage/extensibility/services.md +++ b/docs/usage/extensibility/services.md @@ -81,42 +81,34 @@ In some cases it may be necessary to only expose a few actions on a resource. Fo This interface hierarchy is defined by this tree structure. -``` -IResourceService -| -+-- IResourceQueryService -| | -| +-- IGetAllService -| | GET / -| | -| +-- IGetByIdService -| | GET /{id} -| | -| +-- IGetSecondaryService -| | GET /{id}/{relationship} -| | -| +-- IGetRelationshipService -| GET /{id}/relationships/{relationship} -| -+-- IResourceCommandService - | - +-- ICreateService - | POST / - | - +-- IUpdateService - | PATCH /{id} - | - +-- IDeleteService - | DELETE /{id} - | - +-- IAddToRelationshipService - | POST /{id}/relationships/{relationship} - | - +-- ISetRelationshipService - | PATCH /{id}/relationships/{relationship} - | - +-- IRemoveFromRelationshipService - DELETE /{id}/relationships/{relationship} +```mermaid +classDiagram +direction LR +class IResourceService +class IResourceQueryService +class IGetAllService ["IGetAllService\nGET /"] +class IGetByIdService ["IGetByIdService\nGET /{id}"] +class IGetSecondaryService ["IGetSecondaryService\nGET /{id}/{relationship}"] +class IGetRelationshipService ["IGetRelationshipService\nGET /{id}/relationships/{relationship}"] +class IResourceCommandService +class ICreateService ["ICreateService\nPOST /"] +class IUpdateService ["IUpdateService\nPATCH /{id}"] +class IDeleteService ["IDeleteService\nDELETE /{id}"] +class IAddToRelationshipService ["IAddToRelationshipService\nPOST /{id}/relationships/{relationship}"] +class ISetRelationshipService ["ISetRelationshipService\nPATCH /{id}/relationships/{relationship}"] +class IRemoveFromRelationshipService ["IRemoveFromRelationshipService\nDELETE /{id}/relationships/{relationship}"] +IResourceService <|-- IResourceQueryService +IResourceQueryService<|-- IGetAllService +IResourceQueryService<|-- IGetByIdService +IResourceQueryService<|-- IGetSecondaryService +IResourceQueryService<|-- IGetRelationshipService +IResourceService <|-- IResourceCommandService +IResourceCommandService <|-- ICreateService +IResourceCommandService <|-- IUpdateService +IResourceCommandService <|-- IDeleteService +IResourceCommandService <|-- IAddToRelationshipService +IResourceCommandService <|-- ISetRelationshipService +IResourceCommandService <|-- IRemoveFromRelationshipService ``` In order to take advantage of these interfaces you first need to register the service for each implemented interface.