Commit Graph

332 Commits

Author SHA1 Message Date
Sheldan
0f9a0dc143 [AB-132] fixing experience job not creating user experience records in the database
fixing setup command not being considered templated
changing column name for counters
fixing liquibase configuration for creating postgres functions
fixing duration format expcetion model not available in the template
enabling builds for hotfix/bugfix branches
2020-09-27 01:28:20 +02:00
Sheldan
76adda90a3 [AB-57] [AB-61] reworked commands and services to work with completable futures and moved the database operations to the very last operation so we have transaction safety in more areas
added some cache annotations to the default repository functions
reworked how the undo cations are processed within commands, they are executed in a post command listener when the state is error
added a counter id to generate ids to be unique within servers, changed a few tables to be unique within a server
added future utils class for wrapping a list of futures into one
moved abstracto tables to separate schema in the installer
refactored experience gain to work with more futures and delayed database access
2020-09-22 00:28:09 +02:00
Sheldan
552ecc26b8 [AB-99/AB-66] changed commands to use embeds for exceptions instead of direct messages
added models instead of using HashMaps for exceptions
added a lot of exceptions for different cases
refactored a few commands to be fully async instead of fire and forget
2020-08-29 12:55:48 +02:00
Sheldan
9374dfb912 added liquibase for setup of databases and initial values
fixed some table names to be singular
migrated templates to separate repository
added seed data to initial version in liquibase migrations instead of property files (post targets, emotes etc) and created some default tables containing those default values
added separate artifacts to be used containing only the liquibase config
added shell script as a wrapper for ansible deployment, to handle an environment variable defining whether or not the deployment should be executed
added logback scan period
added licenses for ansible, liquibase, docker and docker-compose
2020-07-17 21:48:23 +02:00
Sheldan
e8767429bf update JDA and jda Utilities version
fixed typos in the code
2020-06-28 12:04:34 +02:00
Sheldan
19a7d09576 updated javadoc for experience tracking
added/changed some javadoc for mod mail
some small interface changes
changed a few methods to actually use the exists mechanic, instead of checking for null values
added some templates instead of hard coded strings
fixed some bugs related to mod mail
2020-06-18 23:30:39 +02:00
Sheldan
3fa5edf67a addressed sonar code smells 2020-05-27 19:38:43 +02:00
Sheldan
10b3b647e3 fixed build 2020-05-27 15:59:21 +02:00
Sheldan
213f42ffbd added current values to post post target
added support for custom setup steps for each feature
added mod mail category setup step
2020-05-25 23:11:44 +02:00
Sheldan
992357b2cb added setup command which includes an interactive process in order to setup features
the current supported features are post targets and system config
the wizard includes a summary step where the user can confirm the changes
removed some unnecessary validators, which were basically just validating the system config from some features
fixed post target name
2020-05-22 17:25:44 +02:00
Sheldan
1e667686d3 introduced *all* intents abstracto requires in order to function...., because with the new version the guild members intent was not used, and various features were not functioning
added initial message also to be send
2020-05-20 00:31:43 +02:00
Sheldan
3bb6620cbe added a condition to check for the correct feature mode
merged mod mail logging back into the mod mail feature and set it up as a mode
2020-05-16 22:40:11 +02:00
Sheldan
d2264937b2 added the concept of feature modes, these are the modes in which a feature can operate, its basically a separate way how the feature does it jobs, for example mod mail might log or it might not. bot of these are different modes
refactored services for feature flag and feature config
2020-05-16 20:55:13 +02:00
Sheldan
cd80d27795 added command to completely silently close a mod mail thread (no logging, no notification)
this is part of the mod mai logging feature, because without logging the normal closeSilently behaves the same way by default
2020-05-16 11:06:48 +02:00
Sheldan
ddb540ccfe added columns for tracking created/updated 2020-05-16 00:21:53 +02:00
Sheldan
82c63d4825 added validation for emotes to features 2020-05-15 20:31:16 +02:00
Sheldan
b984129df6 added check for existing system config when a feature is enabled 2020-05-15 18:53:51 +02:00
Sheldan
f11232de05 moved post targets to an enum, in order to have more type safety, this might be changed in the future
added validation check when a feature is enabled, in order to notify which configuration is missing for this feature to function properly
2020-05-15 17:43:39 +02:00
Sheldan
b591ae497d added more specific exceptions 2020-05-13 23:46:58 +02:00
Sheldan
c429aa882b refactored channel exception to have a unified interface to form the exception message
replaced getOne with findById in order to get optionals and handle those
some places still have the general abstracto run time exception
2020-05-13 12:49:08 +02:00
Sheldan
aba98ef0c6 fixed jpa annotations for one to many 2020-05-09 16:21:48 +02:00
Sheldan
1c67d96887 added subscribe and unsubscribe command 2020-05-08 17:02:22 +02:00
Sheldan
9fdca52005 added command to remove the role from mod mail configuration again
added convenience method to disallow a whole feature for a role
2020-05-08 12:11:35 +02:00
Sheldan
7699075b33 added mod mail thread notification, if a user initiates a mod mail thread
added the concept of a mod mail role, these are roles being pinged when a thread is opened, and they also are able to execute mod mail related commands
fixed past thread count in mod mail header
added convenience method to allow a role to execute a whole feature
2020-05-08 10:49:06 +02:00
Sheldan
ea6fe240f4 added anonymous message handling to modmail 2020-05-08 00:58:05 +02:00
Sheldan
c03788a065 added closesilently command for modmail
largely refactored modmail future handling and error handling in case:
no permission, unable to contact user
fixed help command template
2020-05-08 00:20:20 +02:00
Sheldan
6cf69af438 added header message containing information about the user the mod mail thread has been opened for 2020-05-07 00:26:19 +02:00
Sheldan
cb1a14e46b added user facing message in case the initial modmail creation fails 2020-05-06 23:41:35 +02:00
Sheldan
feb9ce07ee fixed using the correct parameter for reply and anon reply (not the whole message, so we dont need to parse out the actual reply again)
added optional note parameter for close
fixed state not being saved in database for mod mail thread
changed logging of mod mail to be templated, instead of replaying the messages
added reaction to indicate the user, that the message was processes by modmail
fixed future handling for user message replies (we blocked)
added header for initial information about the user when he opens a thread
fixed duration formater resulting in new lines
2020-05-06 23:22:43 +02:00
Sheldan
ad1cbb54fd refactored the naming in channel service
added initial version of closing and logging the thread
2020-05-06 18:32:08 +02:00
Sheldan
54327c3e58 implemented contact command and added check if the thread already exists
added anon reply command
2020-05-06 15:36:13 +02:00
Sheldan
a06006d763 added jda utilities dependency
added modmail with some simple features (chat between user and moderator), and initial server selection (currently allows all servers, and does not consider the modmail feature)
added the initial commands, not all of them hold logic currently
added some checks to not crash when a command has null configuration
changed systemconfig to also have a long value, because double is not fit for all cases
added locking mechanism, to effectively lock the whole table without using the ... proper locking mechanism (needs to be reviewed)
changed interface in channel service to be a message channel instead of a textChannel
changed starboard post to be a user in a server instead of only user
2020-05-06 14:17:44 +02:00