Skip to content

Draft: feat: Private Tracker Style invites

Volkor Barbarian Warrior requested to merge private-keys into main

After a while of dealing with random users - I figured I'm going to have an invite only system.

Just like those nasty private torrent trackers that I hate so much, I'm taking a lesson from them. Each user has to vouch for another, and if any shady stuff happens it can be traced back to the root inviting user.

Full details will sit in the /docs/private-api.md

TODO

Once these are all done, it's production ready and I'm comfortable to deploy it on the main pages.

  • Key Datastructures implemented
    • Just the base structs and all that ;)
  • Generating Keys
    • All 'keys' should use the same function, permission level is set on create.
  • Saving Keys to DB
    • Keys should be saved in a new table, essentially the 'user tree'.
  • Uploaded files have a 'uploader' by key
    • This will require re-writing the upload functions a bit.
  • /my_files endpoint shows current user's keys
    • This shouldn't be too hard
    • Except for the part where it's hard, front-end.
  • Figure out the numbers of keys 'Super Keys' and 'Normal Keys' are able to use.
    • We don't want it too high that it's essentially free to give away, but not too restrictive it limits natural user growth.
  • Tests
    • I want to at least larp as a good rust developer, so we should have tests that work.

Merge request reports