spacebarchat / server

Spacebar server - A reimplementation of the Discord.com backend, built with Typescript and love
https://spacebar.chat
GNU Affero General Public License v3.0
1.49k stars 250 forks source link

User data takeout/export #1139

Open DEVTomatoCake opened 4 months ago

DEVTomatoCake commented 4 months ago

Is your feature request related to a problem? Please describe. Users, at least in the EU, have the right to request a copy of their data. This should happen mostly, if not fully, automated to reduce work load on instance staff.

Describe the solution you'd like POST /users/@me/harvest being implemented. The exported package should be available within a few minutes to hours. The format should be the same as Discord and should work on analyzers, e.g. https://www.discord-recap.com, https://discord-package.vercel.app and https://ddpe.androz2091.fr .

To improve instance staff abilities, the endpoint should support a user ID with the MANAGE_USERS right too: POST /users/{user_id}/harvest

Additional context @erkinalp collected quite some information about current data exports in the "Takeouts" thread: https://discord.com/channels/806142446094385153/1138777318052073522 .