%% Service name {{.ServicePoint}} {{ range .Apis}} %% Sequence diagram for {{ .ServiceId }} as Svc {{ .Name }} sequenceDiagram participant consumer as Consumer participant gateway as Gateway participant microservice as {{$.ServiceName}} {{ range $.Depends}} participant {{ .ServiceId }} as Svc {{ .Name }}{{ end }} consumer->>+gateway: {{$.ServicePoint}} note right of gateway: Authentication check at GW gateway->>+microservice: {{$.ServicePoint}} 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 }}