Place definitions up a folder

main
Tom Peltonen 2025-06-28 23:45:58 +10:00
parent 5f4efdad3a
commit e1745edb4b
7 changed files with 183 additions and 0 deletions

View File

@ -0,0 +1,20 @@
{
"name": "sd01",
"guide": "{{.SelfFolder}}/sd01.md",
"description": "Markdown sequence template with embedded mermaid",
"templates": [
{
"engine": "",
"folder": "{{.SelfFolder}}/definitions/{{.TemplateName}}",
"file_name": "sd01.md.tmpl",
"output_folder": "^/docs",
"output_name": "seqdgm01.md",
"section": "",
"model": {
"activity": {
"category": "OTHER"
}
}
}
]
}

View File

@ -0,0 +1,20 @@
{
"name": "sd02",
"guide": "{{.SelfFolder}}/sd02.md",
"description": "Mermaid sequence template",
"templates": [
{
"engine": "",
"folder": "{{.SelfFolder}}/definitions/{{.TemplateName}}",
"file_name": "sd02.mermaid.tmpl",
"output_folder": "^/docs",
"output_name": "seqdgm02.mermaid",
"section": "",
"model": {
"activity": {
"category": "OTHER"
}
}
}
]
}

View File

@ -0,0 +1,52 @@
# Sequence diagram
This represents the sequence diagram for
service names {{ range .ServiceNames}}**{{.}}** {{ end }}
```mermaid
sequenceDiagram
participant consumer as Consumer
participant gateway as Gateway
participant microservice as ServiceName
participant feature as Svc Feature
participant authz as Authorisation
participant log as Logger
{{ range .Apis}}participant {{ .Name }} as Svc{{ .Name }}
{{ end }}
consumer->>+gateway: {{.ServicePoints}}
activate consumer
note right of gateway: Authentication check at GW
gateway->>+microservice: {{.ServicePoints}}
microservice->>+authz: Validate requestor
note right of authz: Authorise to function
authz-->>-microservice: 200 or 401/403 status
microservice->>+feature: Check feature switch
feature-->>-microservice: 200 or 401/403 status
microservice-)log: log request/response
{{ range .Apis}}
microservice-->>+{{ .Name }}: link {{ .Url }}
note right of {{ .Name }}: Explanation of what happens
{{ .Name }}-->>-microservice: 200 OK response
{{ end }}
alt 200 OK
microservice-->>gateway: 200 OK response
gateway-->>consumer: 200 OK response
else not OK, error
microservice-->>-gateway: !200 ERR response
gateway-->>-consumer: !200 ERR response
end
deactivate consumer
```
***Note***: Adjust the default sequence diagram above
Copyright {{.QaskxDot.ServiceOwner}}
Contact {{.QaskxDot.ServiceOwnerEmail}}

View File

@ -0,0 +1,39 @@
%% Service name {{.ServicePoints}}
{{ range .Apis}}
%% Sequence diagram for {{ .ServiceId }} as Svc {{ .Name }}
sequenceDiagram
participant consumer as Consumer
participant gateway as Gateway
participant microservice as {{$.ServiceNames}}
{{ range $.Depends}}
participant {{ .ServiceId }} as Svc {{ .Name }}{{ end }}
consumer->>+gateway: {{$.ServicePoints}}
note right of gateway: Authentication check at GW
gateway->>+microservice: {{$.ServicePoints}}
microservice->>+authz: Validate requestor
note right of authz: Authorise to function
authz-->>-microservice: 200 or 401/403 status
microservice->>+feature: Check feature switch
feature-->>-microservice: 200 or 401/403 status
microservice->>log: log request/response
microservice-->>+{{ .ServiceId }}: link {{ .Url }}
note right of {{ .ServiceId }}: Explanation of what happens
{{ .ServiceId }}-->>-microservice: 200 OK response
alt 200 OK
microservice-->>gateway: 200 OK response
gateway-->>-consumer: 200 OK response
else not OK, error
microservice-->>-gateway: !200 ERR response
gateway-->>-consumer: !200 ERR response
end
{{ end }}

View File

@ -0,0 +1,52 @@
%% {{.ServiceName}} service sequence
sequenceDiagram
participant consumer as Consumer
participant gateway as Gateway
{{ range .Apis}}participant {{ .ServiceId }} as {{.Name}}
{{ end }}
{{ range .Depends}}participant {{ .ServiceId }} as Svc {{ .Name }}
{{ end }}
{{ range .Apis}}
rect rgb(191, 223, 255)
consumer->>+gateway: {{$.ServicePoints}}
note right of gateway: Authentication check at GW
gateway->>+authz: Validate requestor
authz-->>-gateway: 200 or 401/403 status
gateway->>+{{ .ServiceId }}: start
{{ .ServiceId }}->>+authz: Fine grained authz
note right of authz: Authorise to function, data
authz-->>-{{ .ServiceId }}: 200 or 401/403 status
{{ .ServiceId }}->>+featureflag: Check feature switch
featureflag-->>-{{ .ServiceId }}: 200 or 401/403 status
{{ .ServiceId }}->>logger: log request/response
{{ .ServiceId }}->>{{ .ServiceId }}: business logic
note right of {{ .ServiceId }}: Explanation of what happens
{{with $microservice := .ServiceId }}
{{ range $.Depends }}{{ $microservice }}->>+{{ .ServiceId }}: function call
{{ .ServiceId }}-->>- {{ $microservice }}: result, 200 or 4xx status
{{ end }}
{{ end }}
{{ .ServiceId }}->>{{ .ServiceId }}: business logic
note right of {{ .ServiceId }}: Explanation of what happens
alt 200 OK
{{ .ServiceId }}-->>-gateway: 200 OK response
gateway-->>-consumer: 200 OK response
else not OK, error
{{ .ServiceId }}-->>-gateway: !200 ERR response
gateway-->>-consumer: !200 ERR response
end
end
{{ end }}