site icon indicating copy to clipboard operation
site copied to clipboard

Create store for Moderator settings

Open jb3 opened this issue 1 year ago • 3 comments

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.

jb3 avatar May 19 '24 20:05 jb3

Deploy Preview for pydis-static failed.

Name Link
Latest commit e6a866845bd2a017b69fedfc1e6aefc0784a7e7b
Latest deploy log https://app.netlify.com/sites/pydis-static/deploys/6652b6661eae34000817b0e4

netlify[bot] avatar May 19 '24 20:05 netlify[bot]

Request a review from me if this is ready for review

jchristgit avatar May 20 '24 05:05 jchristgit

Hello @jb3, what's the status with this PR?

jchristgit avatar Aug 31 '24 10:08 jchristgit

No time for now, closing.

jb3 avatar Jul 22 '25 18:07 jb3

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.

jchristgit avatar Jul 24 '25 19:07 jchristgit

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.

jb3 avatar Jul 26 '25 07:07 jb3

5 Years of Python Discord Django Addicts Anonymous, "Joe". 5 Years.

jchristgit avatar Jul 26 '25 09:07 jchristgit

5 Years of Python Discord Django Addicts Anonymous, "Joe". 5 Years.

???????????????????

jb3 avatar Jul 26 '25 21:07 jb3