Implement update feed endpoint for GTFS and GTFS-RT
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 42/100
Direzione di ricerca
Start with the existing writeToSheet Firebase function to see how update requests and GitHub issue creation work today, and with the operations API PUT to see how feed data is validated. Define the new public endpoint in the OpenAPI spec, then implement it so it validates the feed and request body and stores a pending update request linked to the feed and user without modifying the feed or the spreadsheet. Done when a request for a GTFS or GTFS-RT feed creates a pending record and a linked GitHub issue.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Describe the problem
Update requests for existing feeds come from the website through the writeToSheet Firebase function. The team then applies the changes by hand. The operations API PUT is an internal admin tool and is not meant for contributor-submitted changes.
Proposed solution
Add an endpoint to the public API that accepts update requests for existing GTFS and GTFS-RT feeds.
- Validate that the feed exists and validate the request body.
- Store the submission as a feed request of type
updatewith statuspending, linked to the existing feed. Attach the user ID to the request. - Do not change the feed. The changes are applied when the request is approved.
- Create the GitHub issue the same way it is done today and link it to the request.
- Do not write to the spreadsheet.
Acceptance criteria
- Endpoint is defined in the OpenAPI spec and implemented.
- Update requests for GTFS and GTFS-RT feeds create a
pendingupdate request linked to the feed and the user. - A GitHub issue is created for each update request.
Out of scope
- Approving a request and applying the changes to the feed.
- Update the web app to call the new endpoint, then retire
writeToSheet. This will be done in its own issue when all required issues are addressed.
Alternatives you've considered
Extend the operations API PUT to handle contributor updates. That mixes admin edits with contributor requests that still need review.
Additional context
No response
- Lingua principale
- Python
- Stelle
- 34
- Fork
- 7
- Merge medio
- 12h 7m
- PR unite (30g)
- 7
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 MobilityData/mobility-feed-api
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
MobilityData/mobility-feed-api#1846 ·
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
MobilityData/mobility-feed-api#1755 · 1 reazione ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
MobilityData/mobility-feed-api#1647 ·
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
Tutte le issue di MobilityData/mobility-feed-api
Issue simili
-
bug good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
yunaremaia/proto-drift#22 ·
-
bug good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
yunaremaia/memwatch#96 ·
-
bug good first issue
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 91/100
yunaremaia/ci-gate-watch#34 ·
-
bug good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
yunaremaia/agent-capability-attestation#64 ·
I maintainer di solito rispondono entro 1 giorno
-
bug good first issue
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 86/100
yunaremaia/agent-call-graph#43 ·
I maintainer di solito rispondono entro 1 giorno