Tags: server-side filtering
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- typescript
- Ambito
- api, authentication, backend, databases, testing
Direzione di ricerca
Start with auth/dependencies.py and the existing endpoint files in api/api_v1/endpoints/: sequences.py, sequence_annotations.py, detection_annotations.py, and sequence_groups.py. Trace how their queries and list totals are built, then check how usePipelineStats consumes those totals. Done means tag scope is applied across the listed screens and counters, full-access users still see everything, and tests cover all cases without visible queue slowdown.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Context & Objective
A user only gets the alerts that carry one of their tags. No new endpoint: this issue adds a filter to the endpoints that already exist. Part of #400.
What is done currently
The list and detail endpoints return all the data to any logged-in user (sequences.py, sequence_annotations.py, detection_annotations.py, sequence_groups.py in api/api_v1/endpoints/). The dashboard counts come from the total of these list endpoints (usePipelineStats).
What has to be done
- One shared helper that adds the scope filter to a query for the current user, next to the existing auth dependencies (
auth/dependencies.py). It is an indexedEXISTSonalert_tag⨝user_tag. For "full access" accounts it adds nothing. - Apply it to each group of existing endpoints. Each line can be its own PR, or a sub-issue for the hackathon:
- queues (classify, localize)
- done pages and detail pages: opening an alert outside your scope by its id returns 404
- groups: only the sequences in scope are shown and labelled (see #401)
- counters and dashboard: the dashboard follows the list endpoints;
GET /sequence_groups/statsneeds the filter too
Images are not filtered for now (decided in #401). The export (/export/alerts) stays for full-access accounts.
Done when
- A user without a tag sees nothing
- A user with a tag sees only the alerts of that tag, on every screen and in every counter
- A user with full access sees everything
- Tests cover these cases; no visible slowdown on the queues
Theme Dataset · Priority P1 (high) · Period T4-26
- Lingua principale
- TypeScript
- Stelle
- 0
- Fork
- 1
- Merge medio
- 2g 6h
- PR unite (30g)
- 4
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun 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 pyronear/pyro-annotator
-
hackathon-theodo P2-medium T4-26 topic: frontend type: enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 80/100
pyronear/pyro-annotator#409 ·
-
type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
pyronear/pyro-annotator#397 ·
-
type: enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
pyronear/pyro-annotator#322 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
pyronear/pyro-annotator#271 ·
-
feat(scripts): read-only clone mode — add --skip-source-stage-update to import.py (pull-sequences)Forse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
pyronear/pyro-annotator#152 ·
Tutte le issue di pyronear/pyro-annotator
Issue simili
-
twilio.webhook() rejects valid requests when the query string has an encoded `?` and a `+` spaceAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
twilio/twilio-node#1232 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
I maintainer di solito rispondono entro 1 giorno
-
Tiling managers are not destroyed in disable(), so window-created handlers keep running (Gio.Settings constructed without schema)Forse già presa @gnacho l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
domferr/tilingshell#641 ·
I maintainer di solito rispondono entro 3 giorni
-
🐛 bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
LibreChat-AI/LibreChat#17887 ·
I maintainer di solito rispondono entro 1 giorno
-
`isCI` is `true` inside a running Google Cloud Run service (also Railway, Render, Deno Deploy)Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100