WIP: Add simple API #37

Draft
BlakeRain wants to merge 10 commits from 15-api into main
Owner

This PR adds closes #15 by adding an API to Parcel. As described in the issue, the API is authenticated via a Bearer token in the Authorization header, which the user can generate via the UI.

  • Implement the PUT handler for uploads
  • Implement the download handler
  • Implement the POST handler to create uploads
  • Add a UI for managing user API keys
  • Add API test suite, probably using the poem::test module.
  • Add a test for the API client
  • Add E2E tests for the API keys
This PR adds closes #15 by adding an API to Parcel. As described in the issue, the API is authenticated via a `Bearer` token in the `Authorization` header, which the user can generate via the UI. - [x] Implement the `PUT` handler for uploads - [x] Implement the download handler - [x] Implement the `POST` handler to create uploads - [x] Add a UI for managing user API keys - [x] Add API test suite, probably using the [`poem::test`](https://docs.rs/poem/latest/poem/test/index.html) module. - [ ] Add a test for the API client - [x] Add E2E tests for the API keys
Author
Owner

Blocked for #39

Blocked for #39
BlakeRain force-pushed 15-api from 6d331d5a27
Some checks failed
Check / check (pull_request) Has been cancelled
to 51724800ef
All checks were successful
Check / check (pull_request) Successful in 4m38s
2026-05-23 10:44:57 +00:00
Compare
BlakeRain force-pushed 15-api from 51724800ef
All checks were successful
Check / check (pull_request) Successful in 4m38s
to 16a31f9697
Some checks failed
Check / check (pull_request) Failing after 1m33s
2026-05-27 11:01:16 +00:00
Compare
feat: add tests for API
Some checks failed
Check / check (pull_request) Failing after 1m29s
51274fbcc0
feat: add management of API keys
All checks were successful
Check / check (pull_request) Successful in 6m3s
37ca743681
feat: improve API key management UI
All checks were successful
Check / check (pull_request) Successful in 6m16s
4fba28ddfc
chore: add tests for key management
All checks were successful
Check / check (pull_request) Successful in 6m13s
42cd3e765a
All checks were successful
Check / check (pull_request) Successful in 6m13s
This pull request has changes conflicting with the target branch.
  • crates/server/src/env.rs
View command line instructions

Manual merge helper

Use this merge commit message when completing the merge manually.

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin 15-api:15-api
git switch 15-api

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff 15-api
git switch 15-api
git rebase main
git switch main
git merge --ff-only 15-api
git switch 15-api
git rebase main
git switch main
git merge --no-ff 15-api
git switch main
git merge --squash 15-api
git switch main
git merge --ff-only 15-api
git switch main
git merge 15-api
git push origin main
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
BlakeRain/parcel!37
No description provided.