SearchOrganizations answers internal when filtering on name
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 72/100
Piste de recherche
Commence dans internal/store/postgres/org_billing_repository.go au niveau de addRQLFiltersInQuery, dont la liste d'autorisation ne contient pas name, puis compare-la au schéma RQL sur AggregatedOrganization. Vérifie aussi le mapping de postgres.ErrBadInput dans le handler afin qu'un filtre non pris en charge renvoie invalid_argument. C'est terminé lorsque les filtres sur name fonctionnent, ou que les champs non pris en charge renvoient invalid_argument avec un message clair, et qu'aucun internal n'est renvoyé.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- Go
- Étoiles
- 344
- Forks
- 48
- Merge moyen
- 2 j 15 h
- PR mergées (30 j)
- 58
Préparer son environnement
- Fournit un Dockerfile ou un fichier Docker Compose
- Propose un modèle de pull request
- Aucun guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de raystack/frontier
-
Difficulté 3/5 1-2 jours Accessibilité débutants 72/100
raystack/frontier#2030 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 3/5 1-2 jours Accessibilité débutants 75/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 1-2 jours Accessibilité débutants 55/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 42/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de raystack/frontier
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
apache/arrow-swift#209 ·
Les mainteneurs répondent en général sous 1 jour
-
orchestrator: NFS-cache "cache path is not set" WARN logged on every build/launch instead of onceOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 1/5 1-3 heures Accessibilité débutants 65/100
influxdata/telegraf#20031 ·
Les mainteneurs répondent en général sous 1 jour
-
pkg/registry/file no longer builds for GOOS=windows: unguarded syscall.Stat_t in qualified_resource_migration.goPeut-être pris @AnshulPatil2005 l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
OneBusAway/maglev#1914 ·
Les mainteneurs répondent en général sous 2 jours