Review feed requests in the operations API
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 25/100
Línea de trabajo
Start with the endpoint definitions in OperationsAPI.yaml, then find the existing create-feed and update-feed logic that approval should reuse. Done means the list, get, approve and reject endpoints exist and work, approving an add request links the new feed to the request, approving an update applies changes to the linked feed, and only pending requests can be reviewed. The issue depends on an unresolved decision about how approved feeds reach each environment and who assigns stable IDs, so confirm that first.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Describe the problem
Add and update feed requests (#1864, #1865) are stored as pending and do not change any feed. There is no way to review them and apply the approved ones.
Proposed solution
Add operations API endpoints to review feed requests.
- List feed requests, filtered by type, status and feed ID, and get a single request.
- Approve a request:
add: create the GTFS or GTFS-RT feed using the existing create feed logic, and set the request's feed ID.update: apply the changes to the linked feed using the existing update feed logic.
- Reject a request with a reason.
- Set the request status to
approvedorrejectedand record who reviewed it and when. Keep the record so the feed's request history is preserved. - Allow the reviewer to edit the request payload before approving.
- Close GitHub related issue with comment.
Acceptance criteria
- Endpoints are defined in
OperationsAPI.yamland implemented. - Approving an add request creates the feed and links it to the request.
- Approving an update request applies the changes to the linked feed.
- Only
pendingrequests can be approved or rejected.
Out of scope
- Admin web UI for reviewing requests (mobilitydata-operations-web).
- Notifying the submitter and closing the GitHub issue.
Alternatives you've considered
Reviewers copy the request data into the existing create/update feed endpoints by hand. That keeps the manual step and doesn't link the feed to its request.
Additional context
Depends on the decision on how approved feeds reach every environment and who assigns stable IDs. If approval opens a PR on the catalogs repo instead of writing to the database directly, the approve step changes accordingly.
- Lenguaje dominante
- Python
- Estrellas
- 34
- Forks
- 7
- Merge medio
- 2 d 4 h
- PR fusionados (30 d)
- 8
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de MobilityData/mobility-feed-api
-
fix(notifications): dispatcher ignores a subscription's feeds and sends every feed.url_updated eventAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
MobilityData/mobility-feed-api#1875 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
MobilityData/mobility-feed-api#1846 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
MobilityData/mobility-feed-api#1755 · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
MobilityData/mobility-feed-api#1647 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
MobilityData/mobility-feed-api#836 ·
Los mantenedores suelen responder en 1 día
Todos los issues de MobilityData/mobility-feed-api
Issues similares
-
Project submission:Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
slavakurilyak/awesome-ai-agents#845 ·
Los mantenedores suelen responder en 1 día
-
tests: pin that the atomic writers in utils/paths.py stage the temporary file in the target's directoryPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertodifficulty:2 enhancement good first issue
Dificultad 1/5 1-3 horas Aptitud para principiantes 92/100
MakazhanAlpamys/Soup#2178 ·
Los mantenedores suelen responder en 1 día
-
[BUG] dcg.waggr permutation p-values are folded twice, so near-zero scores get the smallest p-valuesAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
scverse/rapids-singlecell#854 ·
Los mantenedores suelen responder en 1 día
-
Slang input: int8_t4_packed and uint8_t4_packed are copied into CrossGLPosiblemente ocupada @ninglinLiu la tomó hoy. Abiertoarea:frontend backend:slang bug direction:input
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Los mantenedores suelen responder en 1 día
-
random_elements(unique=True) on an OrderedDict: ZeroDivisionError once only zero weights remain, AssertionError with use_weighting=FalsePosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
Los mantenedores suelen responder en 13 días