Skip to content

feat!: public BanManager v8 API (BanManagerAPI module + service layer) - #1075

Open
confuser wants to merge 3 commits into
masterfrom
feat/v8-public-api
Open

feat!: public BanManager v8 API (BanManagerAPI module + service layer)#1075
confuser wants to merge 3 commits into
masterfrom
feat/v8-public-api

fix(sample): allowlist table identifier before interpolating into SQL

dd00ea1
Select commit
Loading
Failed to load commit list.
SonarQubeCloud / SonarCloud Code Analysis failed May 30, 2026 in 35s

Quality Gate failed

Annotations

Check failure on line 230 in common/src/main/java/me/confuser/banmanager/common/storage/HistoryStorage.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Define a constant instead of duplicating this literal "{QUERIES}" 3 times.

See more on https://sonarcloud.io/project/issues?id=BanManagement_BanManager&issues=AZ55Rk5LEMqJBb_RbL5r&open=AZ55Rk5LEMqJBb_RbL5r&pullRequest=1075

Check failure on line 79 in fabric/src/main/java/me/confuser/banmanager/fabric/BMFabricPlugin.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Define a constant instead of duplicating this literal "BanManager" 3 times.

See more on https://sonarcloud.io/project/issues?id=BanManagement_BanManager&issues=AZ55RlD5EMqJBb_RbL6e&open=AZ55RlD5EMqJBb_RbL6e&pullRequest=1075

Check failure on line 106 in common/src/main/java/me/confuser/banmanager/common/listeners/CommonHooksListener.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Define a constant instead of duplicating this literal "actor" 17 times.

See more on https://sonarcloud.io/project/issues?id=BanManagement_BanManager&issues=AZ55Rk8CEMqJBb_RbL55&open=AZ55Rk8CEMqJBb_RbL55&pullRequest=1075

Check failure on line 48 in common/src/main/java/me/confuser/banmanager/common/impl/service/ReportServiceImpl.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Define a constant instead of duplicating this literal "actor" 3 times.

See more on https://sonarcloud.io/project/issues?id=BanManagement_BanManager&issues=AZ55Rk9zEMqJBb_RbL6G&open=AZ55Rk9zEMqJBb_RbL6G&pullRequest=1075

Check warning on line 12 in api/src/main/java/me/confuser/banmanager/api/event/player/PlayerUnbannedEvent.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this class declaration to use 'record PlayerUnbannedEvent(PlayerBan ban, Player actor, String reason, boo...)'.

See more on https://sonarcloud.io/project/issues?id=BanManagement_BanManager&issues=AZ55RlCLEMqJBb_RbL6Y&open=AZ55RlCLEMqJBb_RbL6Y&pullRequest=1075

Check warning on line 9 in api/src/main/java/me/confuser/banmanager/api/event/ip/IpUnmutedEvent.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this class declaration to use 'record IpUnmutedEvent(IpMute mute, Player actor, String reason, boole...)'.

See more on https://sonarcloud.io/project/issues?id=BanManagement_BanManager&issues=AZ55RlC1EMqJBb_RbL6d&open=AZ55RlC1EMqJBb_RbL6d&pullRequest=1075

Check failure on line 59 in common/src/main/java/me/confuser/banmanager/common/listeners/CommonBanListener.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Define a constant instead of duplicating this literal "reason" 4 times.

See more on https://sonarcloud.io/project/issues?id=BanManagement_BanManager&issues=AZ55Rk7HEMqJBb_RbL50&open=AZ55Rk7HEMqJBb_RbL50&pullRequest=1075

Check warning on line 342 in common/src/main/java/me/confuser/banmanager/common/impl/EntityMappers.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Immediately return this expression instead of assigning it to the temporary variable "req".

See more on https://sonarcloud.io/project/issues?id=BanManagement_BanManager&issues=AZ55Rk-OEMqJBb_RbL6J&open=AZ55Rk-OEMqJBb_RbL6J&pullRequest=1075

Check warning on line 9 in api/src/main/java/me/confuser/banmanager/api/event/ip/IpUnbannedEvent.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this class declaration to use 'record IpUnbannedEvent(IpBan ban, Player actor, String reason, boolean...)'.

See more on https://sonarcloud.io/project/issues?id=BanManagement_BanManager&issues=AZ55RlClEMqJBb_RbL6b&open=AZ55RlClEMqJBb_RbL6b&pullRequest=1075

Check warning on line 58 in e2e/sample-plugin/src/main/java/me/confuser/banmanager/sample/SamplePlugin.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use concise character class syntax '\\w' instead of '[A-Za-z0-9_]'.

See more on https://sonarcloud.io/project/issues?id=BanManagement_BanManager&issues=AZ55TFMixhoxqMM9GB3A&open=AZ55TFMixhoxqMM9GB3A&pullRequest=1075

Check failure on line 73 in common/src/main/java/me/confuser/banmanager/common/listeners/CommonWebhookListener.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Define a constant instead of duplicating this literal "[actorId]" 9 times.

See more on https://sonarcloud.io/project/issues?id=BanManagement_BanManager&issues=AZ55Rk8aEMqJBb_RbL6C&open=AZ55Rk8aEMqJBb_RbL6C&pullRequest=1075

Check failure on line 325 in common/src/main/java/me/confuser/banmanager/common/listeners/CommonHooksListener.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Define a constant instead of duplicating this literal "message" 3 times.

See more on https://sonarcloud.io/project/issues?id=BanManagement_BanManager&issues=AZ55Rk8CEMqJBb_RbL59&open=AZ55Rk8CEMqJBb_RbL59&pullRequest=1075

Check warning on line 8 in api/src/main/java/me/confuser/banmanager/api/event/player/PlayerMutedEvent.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this class declaration to use 'record PlayerMutedEvent(PlayerMute mute, boolean silent)'.

See more on https://sonarcloud.io/project/issues?id=BanManagement_BanManager&issues=AZ55RlBSEMqJBb_RbL6R&open=AZ55RlBSEMqJBb_RbL6R&pullRequest=1075

Check warning on line 9 in api/src/main/java/me/confuser/banmanager/api/event/player/PlayerUnmutedEvent.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this class declaration to use 'record PlayerUnmutedEvent(PlayerMute mute, Player actor, String reason, b...)'.

See more on https://sonarcloud.io/project/issues?id=BanManagement_BanManager&issues=AZ55RlB8EMqJBb_RbL6W&open=AZ55RlB8EMqJBb_RbL6W&pullRequest=1075

Check failure on line 74 in fabric/src/main/java/me/confuser/banmanager/fabric/BMFabricPlugin.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Make the enclosing method "static" or remove this set.

See more on https://sonarcloud.io/project/issues?id=BanManagement_BanManager&issues=AZ55RlD5EMqJBb_RbL6g&open=AZ55RlD5EMqJBb_RbL6g&pullRequest=1075

Check failure on line 102 in common/src/main/java/me/confuser/banmanager/common/commands/CommonCommand.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Define a constant instead of duplicating this literal "Failed to execute command" 3 times.

See more on https://sonarcloud.io/project/issues?id=BanManagement_BanManager&issues=AZ55RkywEMqJBb_RbL5l&open=AZ55RkywEMqJBb_RbL5l&pullRequest=1075

Check warning on line 334 in common/src/main/java/me/confuser/banmanager/common/storage/HistoryStorage.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove this block of code, fill it in, or add a comment explaining why it is empty.

See more on https://sonarcloud.io/project/issues?id=BanManagement_BanManager&issues=AZ55Rk5LEMqJBb_RbL5y&open=AZ55Rk5LEMqJBb_RbL5y&pullRequest=1075

Check warning on line 165 in common/src/main/java/me/confuser/banmanager/common/storage/HistoryStorage.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use "isEmpty()" to check whether a "StringBuilder" is empty or not.

See more on https://sonarcloud.io/project/issues?id=BanManagement_BanManager&issues=AZ55Rk5LEMqJBb_RbL5v&open=AZ55Rk5LEMqJBb_RbL5v&pullRequest=1075

Check warning on line 258 in common/src/main/java/me/confuser/banmanager/common/storage/migration/MigrationRunner.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove this hard-coded path-delimiter.

See more on https://sonarcloud.io/project/issues?id=BanManagement_BanManager&issues=AZ55Rk33EMqJBb_RbL5o&open=AZ55Rk33EMqJBb_RbL5o&pullRequest=1075

Check warning on line 8 in api/src/main/java/me/confuser/banmanager/api/event/ip/IpMutedEvent.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this class declaration to use 'record IpMutedEvent(IpMute mute, boolean silent)'.

See more on https://sonarcloud.io/project/issues?id=BanManagement_BanManager&issues=AZ55RlCuEMqJBb_RbL6c&open=AZ55RlCuEMqJBb_RbL6c&pullRequest=1075

Check failure on line 107 in common/src/main/java/me/confuser/banmanager/common/listeners/CommonHooksListener.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Define a constant instead of duplicating this literal "reason" 14 times.

See more on https://sonarcloud.io/project/issues?id=BanManagement_BanManager&issues=AZ55Rk8CEMqJBb_RbL54&open=AZ55Rk8CEMqJBb_RbL54&pullRequest=1075

Check failure on line 71 in common/src/main/java/me/confuser/banmanager/common/listeners/CommonWebhookListener.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Define a constant instead of duplicating this literal "[playerId]" 7 times.

See more on https://sonarcloud.io/project/issues?id=BanManagement_BanManager&issues=AZ55Rk8aEMqJBb_RbL6E&open=AZ55Rk8aEMqJBb_RbL6E&pullRequest=1075

Check warning on line 28 in common/src/main/java/me/confuser/banmanager/common/storage/HistoryStorage.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Make this final field static too.

See more on https://sonarcloud.io/project/issues?id=BanManagement_BanManager&issues=AZ55Rk5LEMqJBb_RbL5s&open=AZ55Rk5LEMqJBb_RbL5s&pullRequest=1075

Check warning on line 8 in api/src/main/java/me/confuser/banmanager/api/event/player/PlayerNoteCreatedEvent.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this class declaration to use 'record PlayerNoteCreatedEvent(PlayerNote note)'.

See more on https://sonarcloud.io/project/issues?id=BanManagement_BanManager&issues=AZ55RlCEEMqJBb_RbL6X&open=AZ55RlCEEMqJBb_RbL6X&pullRequest=1075

Check warning on line 137 in common/src/main/java/me/confuser/banmanager/common/impl/AsyncSupport.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace generic exceptions with specific library exceptions or a custom exception.

See more on https://sonarcloud.io/project/issues?id=BanManagement_BanManager&issues=AZ55Rk-fEMqJBb_RbL6O&open=AZ55Rk-fEMqJBb_RbL6O&pullRequest=1075