package api_impl import ( "database/sql" "net/http" "atlas9.dev/c/core/dbi" "atlas9.dev/c/demo/api" "atlas9.dev/c/demo/lib/ents" "atlas9.dev/c/demo/lib/access" ) type EntsImpl struct { DB *sql.DB Guard access.Guard Store dbi.Factory[ents.Store] } func (e *EntsImpl) ServeMux(mux *http.ServeMux) { mux.HandleFunc(api.Path_Entitlements_Read, e.Read) } func (e *EntsImpl) Read(w http.ResponseWriter, r *http.Request) { var req api.Entitlements_ReadReq if read(w, r, &req) { return } if check(w, r, e.Guard, ents.Cap_Entitlements_Read, req.Tenant, "") { return } ctx := r.Context() var out ents.Entitlements err := dbi.ReadOnly(ctx, e.DB, func(tx dbi.DBI) error { return e.Store(tx).Get(ctx, req.Tenant, &out) }) write(ctx, w, err, api.Entitlements_ReadRes{Entitlements: out}) }