Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

allow admin to delete files from ListOfFiles page

Open
#476 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
55/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Stale
Tech stack
python, typescript
Domain
api, full-stack

Research direction

Start by reading server/api/views/uploadFile/views.py at UploadFileView/delete, then inspect FileRow.tsx around FileRow/handleSave and ListOfFiles, including updateFileName. Add the delete flow, confirmation prompt, and parent-state removal described in the issue. Done means an admin can delete any file from /listoffiles, the file disappears without a reload, and accidental deletion requires typing "delete".

Written by the indexing model from the issue text.

Description

Bug
Current State

Currently, there is no option to delete a file. In /listoffiles, there is only an "edit" button and a "download" button for each file.

Image

We do have a backend endpoint for this at DELETE /v1/api/uploadFile. The view is at /server/api/views/uploadFile/views.py/UploadFileView/delete, but it is not called by the frontend currently. It allows only the uploader of the file to delete it.

Expected Behavior
  • Any admin (superuser) can delete any file from the /listoffiles page.
  • Shows a confirmation prompt before deletion
    • Make accidental deletion near impossible by requiring them to type "delete"
  • Deleted file disappears from the list without page reload

Changes needed

Backend:

  • in uploadFile/views.py/uploadFileView/delete, update the permission check to allow superusers (admin):
    if upload_file.uploaded_by != request.user and not request.user.is_superuser:

Frontend:

  • Add a delete button to each FileRow alongside the existing edit and download buttons
  • Add the confirmation dialog before sending the delete request
  • call DELETE /api/v1/api/uploadFile with { guid: file.guid } and JWT auth header (same pattern as the existing edit handler around FileRow.tsx/FileRow/handleSave)
  • On success, remove the file from the parent component's state, making it disappear without a reload
    • for reference, check out how updateFileName works
    • you'll need to create a new onDelete prop, defined in ListOfFiles and passed to FileRow.

@sue-hntr Sue is a UX designer and can weigh in on design decisions and other specifics

Dominant language
TypeScript
Stars
21
Forks
19
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from CodeForPhilly/balancer-main

All issues in CodeForPhilly/balancer-main

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.