feat(scholars): add multiselect and bulk actions #49

Open
JustinZeus wants to merge 7 commits from feat/scholar-multiselect-bulk-actions into main
3 changed files with 7 additions and 5 deletions
Showing only changes of commit ef39ab6a41 - Show all commits

View file

@ -27,6 +27,7 @@ from app.services.scholars.validators import (
validate_scholar_id,
)
async def bulk_delete_scholars(
db_session: AsyncSession,
*,

View file

@ -182,8 +182,8 @@ export async function bulkToggleScholars(scholarProfileIds: number[], isEnabled:
}
export async function exportScholarData(ids?: number[]): Promise<DataExportPayload> {
const params = ids && ids.length > 0 ? `?ids=${ids.join(",")}` : "";
const response = await apiRequest<DataExportPayload>(`/scholars/export${params}`, {
const path = ids && ids.length > 0 ? `/scholars/export?ids=${ids.join(",")}` : "/scholars/export";
const response = await apiRequest<DataExportPayload>(path, {
method: "GET",
});
return response.data;

View file

@ -340,10 +340,11 @@ async def test_api_admin_dbops_forbidden_for_non_admin_and_validates_scope(db_se
assert forbidden_integrity.status_code == 403
assert forbidden_integrity.json()["error"]["code"] == "forbidden"
forbidden_pdf_queue = client.get("/api/v1/admin/db/pdf-queue")
assert forbidden_pdf_queue.status_code == 403
assert forbidden_pdf_queue.json()["error"]["code"] == "forbidden"
# PDF queue listing is accessible to all authenticated users (not admin-only).
allowed_pdf_queue = client.get("/api/v1/admin/db/pdf-queue")
assert allowed_pdf_queue.status_code == 200
# But requeue actions still require admin.
forbidden_requeue = client.post(
"/api/v1/admin/db/pdf-queue/1/requeue",
headers=headers,