Picture cleanup: delete profile photos
First part of #1182
What does this MR do?
Deletes profile photos when
- a new profile photo is uploaded
- the account is deleted
In both cases the old photo is not needed anymore. This removes the files and the database entry.
How confident are you it won't break things if deployed?
very sure
Links to related issues
#45 (closed): There are six ways an uploaded picture can be used. In all six cases the file can be removed when it is replaced or the corresponding entity (profile, post, ...) is deleted. I'd like to implement it one by one.
How to test
- Checkout branch locally
- Login as foodsaver
- Set a profile picture in your profile settings and find the UUID in the server's response
- Set another profile picture
- Check that the
uploads
table in the database does not contain the old UUID anymore - Check that the old files do not exist anymore in the
/data/uploads
directory
Screenshots (if applicable)
Checklist
-
added a test, or explain why one is not needed/possible... -
no unrelated changes -
asked someone for a code review -
set a "for:" label to indicate who will be affected by this change -
added to the next milestone (see https://gitlab.com/foodsharing-dev/foodsharing/-/milestones, unless it has a "for:Dev" label) -
added an entry to CHANGELOG.md
-
added a short text in the release notes to /release-notes/YYYY-MM.md -
Once your MR has been merged, you are responsible to create a testing issue in the Beta Testing forum: https://foodsharing.de/region?bid=734&sub=forum. Please change the MRs label to "state:Beta testing". - Consider writing a detailed description in German.
- Describe in a few sentences, what should be tested from a user perspective.
- Also mention different settings (e.g. different browsers, roles, ...) how this change can be tested.
- Be aware, that also non technical people should understand.