-
+
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 04/37] 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.
From e49a8f4c0fbc803c72962ab420b7c74a8cc6c650 Mon Sep 17 00:00:00 2001
From: Bart Koelman <10324372+bkoelman@users.noreply.github.com>
Date: Thu, 18 May 2023 22:14:21 +0200
Subject: [PATCH 05/37] Fix broken docs home page
The new docfx template no longer produces a /styles directory, therefore it needs to be created first for the PowerShell homepage copy to succeed.
https://stackoverflow.com/questions/2695504/powershell-2-copy-item-which-creates-a-folder-if-doesnt-exist
Also, the allyoucan.cloud link is unreachable, which blocks loading the home page for 20 seconds. Removed the reference, not sure if it was needed.
---
appveyor.yml | 1 +
docs/build-dev.ps1 | 1 +
docs/home/index.html | 5 ++---
3 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/appveyor.yml b/appveyor.yml
index 0139480fec..4b0196904d 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -66,6 +66,7 @@ for:
Copy-Item CNAME _site/CNAME
Copy-Item home/*.html _site/
Copy-Item home/*.ico _site/
+ New-Item -Force _site/styles -ItemType Directory | Out-Null
Copy-Item -Recurse home/assets/* _site/styles/
CD _site
git add -A 2>&1
diff --git a/docs/build-dev.ps1 b/docs/build-dev.ps1
index 6bff0e5fcb..d65826687a 100644
--- a/docs/build-dev.ps1
+++ b/docs/build-dev.ps1
@@ -45,6 +45,7 @@ VerifySuccessExitCode
Copy-Item -Force home/*.html _site/
Copy-Item -Force home/*.ico _site/
+New-Item -Force _site/styles -ItemType Directory | Out-Null
Copy-Item -Force -Recurse home/assets/* _site/styles/
cd _site
diff --git a/docs/home/index.html b/docs/home/index.html
index 7f01a30e32..a5aa7c3db3 100644
--- a/docs/home/index.html
+++ b/docs/home/index.html
@@ -10,7 +10,6 @@
-
@@ -127,7 +126,7 @@ Customizable
Use various extensibility points to intercept and run custom code, besides just model annotations
-
+
@@ -279,4 +278,4 @@ Contact us