[DIFE-256] Automate the ban of spamming users
🎩 What? Why?
In order to detect those users, we need to define behaviors we want to prevent.
Rules:
○ Allow 3 posts per day for citizens that have no post in the last 6 months ○ Allow 10 posts per day for citizens that have at least three posts for more than one day and less than six months old ○ Allow 25 posts per day for citizens that have more than 20 posts in the last six months and older than 24 hours ○ Allow any moderator / admin up to 100 posts per day ○ Inform any user that exceeds the quota that they did so and ask them to come back in 24 hours (this will be as an warning message)
📌 Related Issues
Jira Ticket: https://tremend.atlassian.net/browse/DIFE-256
Testing
Describe the best way to test or validate your PR.
📋 Checklist
-
❓ CONSIDER adding a unit test if your PR resolves an issue. -
✔ DO check open PR's to avoid duplicates. -
✔ DO keep pull requests small so they can be easily reviewed. -
✔ DO build locally before pushing. -
✔ DO make sure tests pass. -
✔ DO make sure any new changes are documented indocs/
. -
✔ DO add and modify seeds if necessary. -
✔ DO add CHANGELOG upgrade notes if required. -
✔ DO add to GraphQL API if there are new public fields. -
✔ DO add link to MetaDecidim if it's a new feature. -
❌ AVOID breaking the continuous integration build. -
❌ AVOID making significant changes to the overall architecture.
📷 Screenshots
Please add screenshots of the changes you're proposing