- Write tests for time based entries
- Write test for infinite download count
- Implement Lifetime header parsing
- Account types
- Admin account
- Cli command to create account
- Log in api
- Add a trait bound
Into<Response<Body>>
to handle_response, so that the error variant can also generate a response - Have two APIs: JSON (main one) and old school html redirect driven that will use the JSON one internally
- Log out api
- API to generate a registration link
- Creating account from registration code
- Admin and normal user registration code types
- Delete invite code after 1 use
- Websocket API
- Deleting entries
- Upload size limit enforced at server level
- 500MB or 1GB for unregistered
- 20 GB for registered
- Better error type for handling fallible http requests
- Separation between internal and external errors
- User presentable toggle
- Various error formats (plaintext, json, http)
- Ease of composability (not needing to add Http and Hyper errors everytime)
- Log in page
- Redirect somewhere or display success or refresh the page on successful login
- Account page
- Generate registration link
- Registration page
- no button on the website, accessible by registration link
- Display result of account creation
- My files page
- Display username of currently logged-in user
- Being able to select whether the registration code should be for an admin or a regular account
- Check the registration code when loading the registration page
- Move infoMsg from upload.js into a reusable component (info_msg_box.mjs)
- (upload) Display selected files
- (upload) upload progress
- Progress spinner and neutral message support for InfoMsgBox
- Turn navigation into a web component
- A page or a section on the upload page with a text box to upload text.
- Get update's via WebSockets and refresh the list of entries on the fly
- Deleting entries
- Nicer visual indicator of a private entry
- Link item type that will just go to the page instead of opening a text file with the link
- Code editor for the text input upload (https://ace.c9.io/ is what rust playground uses)