Create store for Moderator settings
This PR introduces a UserModSettings model to store properties related to
moderator preference that we currently store in Redis. This is part of a wider
scale effort to migrate away from Redis any data which would be anything more
than slightly annoying in the event it gets lost.
This will require bot side changes but it is not a breaking change to merge this when it is ready. Some manual migration will be required to move the current moderator settings from Redis into this new PostgreSQL table.
I have added a basic copy of the cache data that we use on Redis, adding some constraints to ensure that we do not end up retaining partially valid data (i.e. a moderator schedule that has a start time but no duration).
Tasks required for this PR:
- [ ] Create a new model to store settings in
- [ ] Update serializers to be compatible with serializing this new field
- [ ] Update viewsets to allow this field to be returned optionally, saving processing time when it is not needed
- [ ] Add new routes for the bot to PATCH data to this endpoint to update a moderators settings
- [ ] Write new tests for models and routes
Any input from those wiser with Django than me would be appreciated to maximimise the optimisation of these endpoints and models.
Deploy Preview for pydis-static failed.
| Name | Link |
|---|---|
| Latest commit | e6a866845bd2a017b69fedfc1e6aefc0784a7e7b |
| Latest deploy log | https://app.netlify.com/sites/pydis-static/deploys/6652b6661eae34000817b0e4 |
Request a review from me if this is ready for review
Hello @jb3, what's the status with this PR?
No time for now, closing.
You can go party every other day and stay up until 2 AM but when the Python Discord brotherhood needs you, it's "No time for now". Curious.
You can go party every other day and stay up until 2 AM but when the Python Discord brotherhood needs you, it's "No time for now". Curious.
Feel free to take it, my time constraint primarily revolves around the fact I don't know Django or DRF at all.
5 Years of Python Discord Django Addicts Anonymous, "Joe". 5 Years.
5 Years of Python Discord Django Addicts Anonymous, "Joe". 5 Years.
???????????????????