* Rename tags to team tags
* Add a TagType enum with TEAM and QUESTION options
* Ticket#questionTag exists now
* Revert "Add a TagType enum with TEAM and QUESTION options"
This reverts commit c9a17f4003aa2ce470f82810ac031fe83325f3d6.
* Add a new QuestionTag model
* Add another dropdown to the backend msg
* create tag => create team tag
* Add creating tags (from the backend channel)
* Create a single function for sending the backend message
Previously this code was duplicated across 2 places, making it inconsistent
* Rename a bunch of files; implement upating question tags on tickets
* Add a log!
* Fix ticket tag dropdowns in old msgs
* Auto-select the current question tag when a backend msg is posted
* Update backend message with the current tag
* Allow clearing the question tag
* Dynamically get question tag list
* Document question tags
* typo
* Change some log msgs to debug
* Only make the DB call if current_question_tag_id is present
* Remove unused variable
* Add createdAt to QuestionTag
* Ensure "reopened by [user]" is preserved when backend message is edited
* Add lastMsgAt and lastMsgBy to DB
* Keep track of the last messages in threads
* Add UserType enum to schema
* Make both of the new fields optional
* Add data/ to .gitignore
* Only include users who have resolved tickets on the overall leaderboard
Fixes#96
* Fix docstring
* Update DB when unthreaded messages are deleted
* Add required library libatomic1 to Dockerfile (#71)
* Handle quick message deletions
This is a quick and dirty way to handle the bug, but it works.
I also realised that handle_question_deletion() doesn't delete it in #tickets
* Create a system for tracking bot messages attached to tickets
* Ensure resolved message is added to userFacingMsgs
TODO I''ll need to make a function that all the macros can use to send a user-facing message
* Add a reply_to_ticket() helper for updating the DB
while replying to a ticket
* Fix type errors in reply_to_ticket()
* Use reply_to_ticket when resolving tickets
* Fix type errors in message.py
* Create delete_replies_to_ticket()
* Remove unused parameter in delete_replies_to_ticket
* Rename BotMessage.msgTs to BotMessage.ts
* Write a stub delete_and_clean_up_ticket function
* Partially implement delete_and_clean_up_ticket
* Delete "ticket" message in delete_and_clean_up_ticket()
* Use the new ticket methods where appropriate
* Make function name clearer ("delete_bot_replies")
* Log if a question is deleted but not present in DB
* Fix error when normal messages are deleted
* Actually include userFacingMsgs in the query when deleting bot replies
* Add success heartbeat to delete queue
* Document the deletion queue needing workspace admin
* Don't use delete queue in ticket_methods.py
This is because the delete queue requires an admin token, ew
* Fix deleting the backend message on ticket deletion
* Always preserve support threads with >3 bot messages
This is so that if someone runs ?faq, the ticket still counts as being resolved in the DB.
* Debug-log message event data instead of printing
* Use the reply_to_ticket util in macros
---------
Co-authored-by: RandomSearch <101704343+RandomSearch18@users.noreply.github.com>