Tags: server-side filtering
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- typescript
- Lĩnh vực
- api, authentication, backend, databases, testing
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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
- Ngôn ngữ chính
- TypeScript
- Star
- 0
- Fork
- 1
- Merge trung bình
- 16 giờ 24 phút
- Pull request đã merge (30 ngày)
- 2
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Không có mẫu pull request
- Không có hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của pyronear/pyro-annotator
-
hackathon-theodo P2-medium T4-26 topic: frontend type: enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 80/100
pyronear/pyro-annotator#409 ·
-
type: bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
pyronear/pyro-annotator#397 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
pyronear/pyro-annotator#349 ·
-
type: enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
pyronear/pyro-annotator#322 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
pyronear/pyro-annotator#271 ·
Tất cả issue của pyronear/pyro-annotator
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
awesome-dsh-plugin/awesome-dsh-plugin#9184 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
farion1231/cc-switch#8829 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[core-client] Remove unused hand-maintained transport helpers after the definition-table cutoverĐang mởdoc-audit enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100