Commit Graph

189 Commits

Author SHA1 Message Date
Sheldan
04f1db2408 [AB-80] added tracking of emotes used by server members and configuration
updated sonar scanner version
changed some commands to be silent instead of adding a check reaction
2020-11-19 00:21:05 +01:00
Sheldan
c60cdb9d98 [AB-152] adding optional parameter to deploy config script in order to deploy template config 2020-11-02 15:42:43 +01:00
Sheldan
a5b2e40c6b [AB-155] removing ansible dependency from installer, restructuring deployment container to be packaged with the respective versions, removing build for docker container from maven, for now
fixing liquibase setup for feature mode
2020-11-02 13:03:18 +01:00
Sheldan
389b38f4f0 [AB-151] adding ability to define a priority in order to define which listener is executed before another 2020-10-20 21:58:04 +02:00
Sheldan
dca98c2953 [AB-96] adding ability to edit/delete modmail messages via editing/deleting the original message causing the message,
adding featuremode to modmail to define whether or not there is a separate message posted to the mod mail thread, to see it easier, renaming modmail related tables to singular, adding some necessary methods (caching) to all entities
2020-10-20 00:03:13 +02:00
Sheldan
1b98436736 [AB-73] adding different feature modes to define whether or not certain actions should be logged, changing name of setup, disable and enable command to show that they are supposed to be for features 2020-10-17 16:35:20 +02:00
Sheldan
44dfdca6e6 Merge pull request #2 from Sheldan/dependabot/maven/abstracto-application/junit-junit-4.13.1
Bump junit from 4.13 to 4.13.1 in /abstracto-application
2020-10-16 21:10:46 +02:00
dependabot[bot]
a342fac783 Bump junit from 4.13 to 4.13.1 in /abstracto-application
Bumps [junit](https://github.com/junit-team/junit4) from 4.13 to 4.13.1.
- [Release notes](https://github.com/junit-team/junit4/releases)
- [Changelog](https://github.com/junit-team/junit4/blob/main/doc/ReleaseNotes4.13.1.md)
- [Commits](https://github.com/junit-team/junit4/compare/r4.13...r4.13.1)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-16 18:57:30 +00:00
Sheldan
0aa7d3f036 [AB-78] adding new concept of feature modes, with splitting it up to new commands and default mode concept
refactoring command received handler to only load the entities in the same thread as the actual executed commands, so that user initiated context contains valid references from the same thread
updating documentation
fixing issue when the result of role calculation result in no experience role id
2020-10-16 20:42:29 +02:00
Sheldan
bc9afc9bfc [AB-135] adding a template to describe the parameter validators for help texts, fixing assignable roles not available as module 2020-10-12 11:52:28 +02:00
Sheldan
36d11371cb [AB-139] changing the places at which there might be an uncached member object
fixing integer validator
fixing syncing roles not working if the role did not change in the database
fixing warn id being flipped
fixing star stats model
2020-10-12 01:12:11 +02:00
Sheldan
1d3c414d6b [AB-144] fixing command key parameter handler and assignable post refreshing 2020-10-07 20:42:19 +02:00
Sheldan
b8d19ab1e1 [AB-143] fixing incorrect parameter exception message, replacing incorrect parameter exception 2020-10-07 16:06:20 +02:00
Sheldan
0145e7670d [AB-138] improving logging at various places fixing various issues regarding async commands and exception handling, fixing role role calculation being done twice 2020-10-07 12:57:25 +02:00
Sheldan
a391381ff6 [AB-136] replacing some rare occurrences where fake objects where used for actual database operations
replacing a few sync commands with async commands
refactoring parameters in assignable role place service bean
fixing emote parameter handler to also consider default emojis
removing unused description in command
replacing some ARole parameters with Role parameters, so we can be sure they exists
added a few TODOs marking exception changes required
2020-10-03 15:32:23 +02:00
Sheldan
0f6f6a1e49 [AB-54] adding various command parameter handlers
removing old parameter length validation
2020-10-03 10:50:03 +02:00
Sheldan
f0d517af22 [SONAR] fixing major sonar issues 2020-09-30 01:31:21 +02:00
Sheldan
8e05bc90ea [AB-70] adding concept of command parameter validators and applied them at various places, this has the intention for commands to fail early
removing duplicated command for assignable role places
2020-09-30 00:46:41 +02:00
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
5081c3174f [AB-76] replaced usage templates for commands with a generated usage string, removed possibility to define the usage directly on the help
added Google guava dependency
minor fixes in documentation
fixed versions in main pom
2020-09-24 03:11:01 +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
fbb36ae9d5 created concept of auto load macros, these are macro files which are loaded automatically on startup and can be used in any template
changed assignable post config to be a full emote instead
2020-08-16 12:40:41 +02:00
Sheldan
fd4d784081 added assignable role place module including: setting up, configuring, deleting commands and documentation
upgraded JDA version to 4.2.0
refactored multiple interfaces to be more convenient/contain more information (reaction added/removed now gets the actual event)
added generic way to check for conditions. these conditions are provided by modules and are loosely connected via condition context and a condition name
added changeable flag to emotes to indicate that they can be updated via setEmote
refactored emote parsing in command parameters, the command parameters will now contain a fake emote
added feature to embed templates for fields to force a new message regardless of the discord limit
added some more functionality to message and channel service regarding field edit/embed sending
introduced the full emote parameter, to have both the emote (if custom) and a fake aemote at hand
refactored some methods to already throw exceptions within the retrieval methods, instead of optionals which need to be dealt outside
changed getEmotes to getEmotesBag to have duplicates of emotes
fixed setEmote to behave correctly with new parameter types
fixed creation of emotes, which previously created additional instances
fixed templating multiple fields handling
refactored command handling to allow async commands, they are the same interface, but configuration dicates whether or not it is async
added generic exception reporting for async commands
refactored a bunch of service methods to be named optional, and the non optional methods throw exceptions in case nothing is found
added a few more customized exceptions
added clearing freemarker internal template cache to clear cache
added feature to skip, not use, embeds if they look to be empty (no fields, no description, no attachment)
added virtual env to gitignore
fixed initial sync of roles un-marking roles as deleted
added some convenience methods to remove reactions from users directly
fixed post command handling in case it is not a templatable instance
fixed exceptions without cause in generic exception model
2020-08-12 20:01:15 +02:00
Sheldan
5317199bf4 added more technologies to readme and updated licenses 2020-07-17 21:56:33 +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
c44eb80fc5 added message to user initiated context
fixed templates for ban and kick logging
refactored kicking service
fixed guild not found exception template
added command validator to be used for unit testing commands
added default values for command configuration
changed some interfaces to message channel instead of text channel
added separate executor service for un-mutes, which is shared
updated spring boot version to 2.3.1
removed database connection string from properties
added logback configuration
changed some future logic in purge
refactored error message for un mute, when there is no active mute
refactored listener interface and removed usage of context utils
added tests for moderation services
2020-06-28 11:13:56 +02:00
Sheldan
8acd4f818d Fixed multiple server handling for rank command, without this the rank was global, and did not limit the rank to the server
defined the name table name for AUserInAServer
2020-06-19 00:36:41 +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
e76351ddc1 added first version of readme 2020-06-10 18:01:33 +02:00
Sheldan
ac93440546 added tests for utility module
refactored various commands and services
optimized code for message embeds
removed emoteUtils completely and moved to service
removed suggestion validation, because its now done via feature config
fixed regex for discord links
changed template to handle the case in which a member which suggested it originally left the server
added suggestion update exception in cases the message to edit, does not qualify as a suggestion
added check to not allow cross server quoting and added test case
refactored mocking for jda objects
2020-06-10 13:04:39 +02:00
Sheldan
a577932c42 removed instance specific modules from code base
fixed user experience object not being created
removed top module, because it does not serve a purpose anymore
2020-06-06 16:22:43 +02:00
Sheldan
d14e917329 added overview to existing post targets if no parameter is provided for the post target command 2020-06-05 17:51:06 +02:00
Sheldan
601c4b7121 added configuration to deploy documentation to GitHub pages when a release is happening
adapted documentation configuration
2020-06-05 13:50:51 +02:00
Sheldan
db8afde7ea added job and configuration for publishing the artifacts on github packages 2020-06-03 21:32:46 +02:00
Sheldan
1091e66013 added purge command to delete messages via bulk delete
adapted api of status message service
added concept of self destruct command results, these will cause the command message to be deleted
2020-06-03 19:47:50 +02:00
Sheldan
072072dffc added commands to documentation
small improvements in the documentation
added alias to listDisabledExperienceRoles command
2020-06-02 16:35:02 +02:00
Sheldan
563564aabe added tests for experience tracking module
refactored some things in experience tracking
changed the paging behaviour for leader board and added check for negative numbers
fixed rank not being correct for further pages
added test-common module to have some common code für tests
fixed command creation
2020-06-02 15:07:27 +02:00
Sheldan
62de5c2255 Added template service tests 2020-05-29 23:55:23 +02:00
Sheldan
f4edf7a77d added template service, template management service bean, freemarker methods and template loading tests
added templating exception
changed embed configuration to have builders
enabled mocking of final classes for mockito
2020-05-29 23:45:05 +02:00
Sheldan
f61cc8e1ff added feature branches to github action 2020-05-27 23:56:12 +02:00
Sheldan
af63f384d9 fixed jacoco configuration for coverage 2020-05-27 23:56:02 +02:00
Sheldan
3fa5edf67a addressed sonar code smells 2020-05-27 19:38:43 +02:00
Sheldan
175a92408c addressed some sonar issues 2020-05-27 18:41:31 +02:00
Sheldan
f05f088d58 changed sonar configuration 2020-05-27 18:07:47 +02:00
Sheldan
10b3b647e3 fixed build 2020-05-27 15:59:21 +02:00
Sheldan
a826cda95a Added initial version of github action 2020-05-27 15:55:15 +02:00
Sheldan
8413bc8314 added possibility to the ID of a user instead of a mention for a member parameter 2020-05-27 15:39:12 +02:00
Sheldan
feb92698ef added command to show the avatar of member 2020-05-27 15:29:23 +02:00