SearchOrganizations answers internal when filtering on name
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 72/100
Direzione di ricerca
Inizia da internal/store/postgres/org_billing_repository.go in addRQLFiltersInQuery, la cui allow list non contiene name, poi confrontalo con lo schema RQL su AggregatedOrganization. Controlla anche la mappatura di postgres.ErrBadInput nell'handler, così che un filtro non supportato restituisca invalid_argument. È fatto quando i filtri su name funzionano, oppure i campi non supportati restituiscono invalid_argument con un messaggio chiaro, e non viene restituito alcun internal.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
What happens
AdminService.SearchOrganizations answers internal (HTTP 500) when the query filters on name.
Example request body:
{"query": {"filters": [{"name": "name", "operator": "eq", "string_value": "my-org"}]}}
The server log says addRQLFiltersInQuery: name is not supported in filters. Filtering on title or state works.
Why
nameis a valid field ofAggregatedOrganization(rql:"name=name"), so the request passesrql.ValidateQueryin the handler.addRQLFiltersInQueryininternal/store/postgres/org_billing_repository.gohas its own allow list. It hasid,title,state,created_at,plan_name,subscription_state,subscription_cycle_end_at,plan_intervalandpayment_mode. It has noname, and it also leaves out other fields that the RQL schema allows, such ascreated_by,country,plan_id,updated_atandavatar.- The error it returns is a plain error. The handler only maps
postgres.ErrBadInputtoinvalid_argument, so the client getsinternalfor what is really a bad request.
Expected
- Either support filtering on
name(and the other fields the RQL schema lists), or reject the unsupported fields in the handler asinvalid_argumentwith a clear message. - In both cases an unsupported filter should not answer
internal.
How it was found
Found while testing organization delete against a local sandbox. It has nothing to do with deletes, and it behaves the same on main.
- Lingua principale
- Go
- Stelle
- 344
- Fork
- 48
- Merge medio
- 1g 22h
- PR unite (30g)
- 38
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di raystack/frontier
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 62/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 62/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 52/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 58/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di raystack/frontier
Issue simili
-
bug triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
FairwindsOps/nova#484 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
automated-analysis code-quality cookie
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
github/gh-aw#67517 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
[otelcol] print-config help text still requires the removed otelcol.printInitialConfig feature gateForse già presa @girishkvs l’ha presa oggi. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
open-telemetry/opentelemetry-collector#16143 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bug good first issue load-balancing
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
ktrubilo9/edge-proxy#53 ·