Files
postgrest/docs/_diagrams/arch.uml
T

66 lines
1.2 KiB
Plaintext

@startuml
package "PostgREST" {
() HTTP as HTTPAPI
HTTPAPI - [Auth]
[Auth] -r.> [ApiRequest]
[ApiRequest] -r.> [Plan]
[Plan] -r.> [Query]
[Query] - () "Connection Pool" : "\t"
[Plan] -u-> [Schema Cache]:uses
[Query] -u-> [Schema Cache]:uses
[Schema Cache] <- () Listener : reloads
() HTTP as HTTPADMIN
[Admin] -r- () HTTPADMIN
[Config] -l- () CLI
HTTPADMIN -[hidden]r- CLI
/'
'the listener reloads the config. Too much detail, the arrows are crosssed.
'[Schema Cache] <-l[hidden]- [Config]
'[Schema Cache] <-l[hidden]- [Admin]
'[Config] <-l~ () Listener : reloads
'/
}
database "PostgreSQL" {
node Authorization {
rectangle "Roles, GRANT, RLS"
}
node API {
rectangle "Functions, Views"
}
rectangle "Tables, extensions" as texts
API -d- texts
}
HTTPAPI <.l- :user: : "\t"
:operator: .-> HTTPADMIN
:operator: .-> CLI
PostgreSQL <.developer : "\t"
Listener -r.> "PostgreSQL"
"Connection Pool" -r.> "PostgreSQL" : "\t\t"
note bottom of Auth
Authenticates the user request
end note
note bottom of ApiRequest
Parses the URL syntax
end note
note bottom of Query
Generates the SQL
end note
note top of Listener
LISTEN session
end note
@enduml