Wrote a fully stateless API server in Elixir that can run multiple CRUD operations against Postgres in a single, atomic, RLS-aware transaction using a highly expressive request DSL.
It follows the same RLS + JWT Auth pattern for RBAC as PostgREST allowing you to write atomic client-native wrappers for multi-step db operations instead of falling back to RPCs like PostgREST expects you to. Also some ease of life improvements, it natively supports defining JWKS or OIDC endpoints for fetching public keys for JWT auth.
The user developed a stateless API server in Elixir to perform multiple CRUD operations in a single transaction with Postgres, addressing a limitation in PostgREST. This project supports RLS and JWT Auth, and aims to offer an alternative to PostgREST's RPC approach. The discussion highlights the lack of multi-operation transaction support in PostgREST, which motivated the creation of PostgRESTxn.
This is not really related to PostgREST, but a separate project, right?
Anyway, this is very interesting. It would be even better if it was related to PostgREST and would play with postgres-js in such a way that it is possible to use the real PostgREST api (or postgrest-js method chaining) to express multiple cross-referencing operations, so one can use the familiar syntax.
Correct, separate project.
Unfortunately, PostgREST doesn't support multiple operations in a single transaction, hence the real API cannot be used in such a way at the moment. It is a decade-old discussion that you can find here: https://github.com/PostgREST/postgrest/issues/286. This was the primary motivation behind building PostgRESTxn.