yt-gen-app/lib/templ/tmpl/docs/backend/roles-graph.tmpl

44 lines
1.4 KiB
Cheetah

digraph G {
rankdir=LR;
subgraph cluster_roles {
rankdir=TD;
label = "Роли";
{{ range $index, $role := .Roles }}
{{ $role.Name }}[label="{{ $role.Display }}"];
{{ end }}
}
subgraph cluster_rest {
rankdir=RL;
label = "REST";
{{ range $index, $rest := .Backend.Rest }}
{{ $rest.Name }}[label="{{ $index }}"];
{{ if eq $rest.Methods nil }}
{{ $rest.Name }}_LIST[label="LIST"];
{{ $rest.Name }} -> {{ $rest.Name }}_LIST
{{ $rest.Name }}_GET[label="GET"];
{{ $rest.Name }} -> {{ $rest.Name }}_GET;
{{ $rest.Name }}_POST[label="POST"];
{{ $rest.Name }} -> {{ $rest.Name }}_POST;
{{ $rest.Name }}_PUT[label="PUT"];
{{ $rest.Name }} -> {{ $rest.Name }}_PUT;
{{ $rest.Name }}_DELETE[label="DELETE"];
{{ $rest.Name }} -> {{ $rest.Name }}_DELETE;
{{ else }}
{{ range $indexMethod, $method := $rest.Methods }}
{{ $rest.Name }}_{{ $method }}[label="{{ $method }}"];
{{ $rest.Name }} -> {{ $rest.Name }}_{{ $method }};
{{ end }}
{{ end }}
{{ end }}
}
{{ range $restName, $rest := .Backend.Rest }}
{{ range $method, $roles := $rest.Roles}}
{{ $eq := eq $roles nil }}
{{ if not $eq }}
{{ range $indexRole, $role := $roles }}
{{ $rest.Name }}_{{ $method }} -> {{ $role }};
{{ end }}
{{ end }}
{{ end }}
{{ end }}
}