Commit Graph

3044 Commits

Author SHA1 Message Date
Rsl1122
001b5a6cc7 Fixing some new code smells:
Critical:
- String literal duplication fixed in a few places
- Cognitive complexity reduced in BooleanProviderValueGatherer

Major:
- Called Optional#isPresent before accessing value
  16 instances in ProviderTransactions
- private constructor to Extension tables
- Missing deprecated tags to deprecated plugin tab stuff
- Unused class variable removal
- Throw dedicated exceptions in ServerServerInfo
- Unused method removal

Minor:
- Renamed 'API' field to 'service' in ExtensionService
- Unused variable removal
2019-03-27 14:30:53 +02:00
Rsl1122
2d228dedea Registered DiscordSRV extension 2019-03-26 21:51:55 +02:00
Rsl1122
b1d75a1d4a Bump extension versions 2019-03-26 21:04:48 +02:00
Rsl1122
4ea45ad9d9 Implemented BooleanProvider hidden parameter 2019-03-26 21:00:18 +02:00
Rsl1122
29e9f0483b Added comment about nested query 2019-03-26 20:41:04 +02:00
Rsl1122
961b8caae8 Added missing "as ..." to the query:
Attempts to fix
"Every derived table must have its own alias"
2019-03-26 14:23:04 +02:00
Rsl1122
40075f697c Nest query since MySQL can not select and update:
More information
https://stackoverflow.com/a/9843719

Attempts to fix:
'You can't specify target table 'plan_extension_user_values' for update
in FROM clause'
2019-03-26 14:16:17 +02:00
Rsl1122
c1a6fdd6fc Reverse table names since MySQL can not select and update:
More information
https://stackoverflow.com/questions/4429319/you-cant-specify-target-table-for-update-in-from-clause

Attempts to fix:
'You can't specify target table 'plan_extension_user_values' for update
in FROM clause'
2019-03-26 13:51:42 +02:00
Rsl1122
47a6a9b2aa Transaction for removing unsatisfied Conditional data:
This is one of the most complex queries I have made.

- Select all fulfilled conditions for all players (conditionName when
  true and not_conditionName when false)
- Left join with player value & provider tables when uuids match, and
  when condition matches a condition in the query above.
- Filter the join query for values where the condition did not match
  any provided condition in the join (Is null)
- Delete all player values with IDs that are returned by the left join
  query after filtering

In addition:
- Added test for the transaction
- Added extension data removal to RemoveEverythingTransaction
- Added unregister method to ExtensionService
2019-03-26 12:22:57 +02:00
Rsl1122
09ac2dce09 Registered BanManager Extension 2019-03-24 17:37:32 +02:00
Rsl1122
c77ec3fd79 Added flow for Negated conditions
Negated conditions' names are prefixed with not_

This allows checking against negated Conditionals and does not need
adding more table rows.
2019-03-24 16:53:51 +02:00
Rsl1122
91bb5bf31b Extract method call booleans from PluginInfo 2019-03-24 15:59:54 +02:00
Rsl1122
f73cef8587 Bump extension API to 0.0.2 2019-03-24 15:53:20 +02:00
Rsl1122
0be153d03e Added booleans to PluginInfo for controlling method calls. 2019-03-24 15:52:32 +02:00
Rsl1122
600e90873e Added Conditional#negated 2019-03-24 15:34:58 +02:00
Rsl1122
2b620f97f1 Added BooleanProvider#hidden 2019-03-24 15:34:45 +02:00
Rsl1122
60f5571e42 Registered AdvancedBan extension 2019-03-24 13:46:11 +02:00
Rsl1122
099330ebd7 DataExtension API player page plugin tab generation 2019-03-24 12:28:13 +02:00
Rsl1122
aab5436b25 Deprecated player plugin tab related things 2019-03-24 10:29:54 +02:00
Rsl1122
28d5cf106a Query for DataExtension data of a single player 2019-03-23 13:10:05 +02:00
Rsl1122
a514e29e78 getByName to Extension enums 2019-03-23 13:06:31 +02:00
Rsl1122
2831bf4cd4 Fix flipped double and percentage storage transactions 2019-03-23 13:05:40 +02:00
Rsl1122
fb8d01e5c2 Data objects for extension data about a player
These objects make it easier to construct query data from database.
2019-03-21 13:19:35 +02:00
Rsl1122
134a7b1e18 Fixed many Extension Provider store errors 2019-03-20 17:17:23 +02:00
Rsl1122
f31dbe8a9a Fix Extension SQL Syntax errors related to id selection 2019-03-20 15:57:12 +02:00
Rsl1122
da33ec0b9e Extension data updating to login listeners 2019-03-20 15:55:48 +02:00
Rsl1122
f62140d6ca Debug logging of DataExtension registration 2019-03-20 14:40:07 +02:00
Rsl1122
09787f4ff1 Fixed Extension SQL syntax errors 2019-03-20 14:37:55 +02:00
Rsl1122
0c95a4cc63 Config enable check for DataExtension registration 2019-03-20 13:48:50 +02:00
Rsl1122
e8da008538 Added 'extensions' module:
- Module is in charge of registering built in DataExtensions
- This is done via ExtensionRegister
2019-03-20 13:37:56 +02:00
Rsl1122
5061f6d9ec Logging of implementation mistake warnings 2019-03-18 20:10:39 +02:00
Rsl1122
a8450f51b8 Annotation String length enforcement:
- Description is 150 characters max, truncated
- Others are 50 characters max, truncated
- StringProvider value is 50 characters max, truncated
2019-03-18 20:07:17 +02:00
Rsl1122
405d4f643b Extension table create table statements 2019-03-18 19:56:16 +02:00
Rsl1122
031eba7cea Handling of by default empty annotation values 2019-03-18 19:35:08 +02:00
Rsl1122
48e65a60c8 ExtensionService implementation 2019-03-18 15:04:53 +02:00
Rsl1122
dead33f78c Interface for registering DataExtensions 2019-03-18 14:52:23 +02:00
Rsl1122
a812af9e5f Transaction for removing invalid providers from storage 2019-03-18 14:33:43 +02:00
Rsl1122
a87c2cd32e String result store transaction 2019-03-18 14:27:14 +02:00
Rsl1122
78959ba190 Percentage result store transaction 2019-03-18 14:26:38 +02:00
Rsl1122
413e0501df Number result store transaction 2019-03-18 14:25:59 +02:00
Rsl1122
76d4298818 Double result store transaction 2019-03-18 14:25:17 +02:00
Rsl1122
770a896864 Boolean result store transaction 2019-03-18 14:24:07 +02:00
Rsl1122
47cd1bab6e DoubleProvider, PercentageProvider store transaction 2019-03-18 14:16:19 +02:00
Rsl1122
129db2d941 StringProvider store transaction 2019-03-18 14:15:14 +02:00
Rsl1122
7d13012371 NumberProvider store transaction 2019-03-18 14:12:58 +02:00
Rsl1122
3f9f50de69 BooleanProvider store transaction 2019-03-18 14:11:27 +02:00
Rsl1122
7c04725ce8 plan_extension_user_values table information 2019-03-18 13:09:53 +02:00
Rsl1122
3cff8bbf1d plan_extension_providers table information 2019-03-18 13:09:27 +02:00
Rsl1122
1e374291ef String provider extra info 2019-03-18 13:09:00 +02:00
Rsl1122
74218f90cb Storage of Provider icons 2019-03-18 12:52:00 +02:00