Paradaux
IssuesPAR-48PlannedOpen ↗
0

Add ability to fine firms

Allow the system to fine firms directly (today fines target players only).

Technical notesGovServiceImpl.issueFine resolves the fined party via getAccountByUUID(player) (PERSONAL account), GovernmentFine stores a playerUuid (not an accountId), and FineCommand takes an OfflinePlayer — there's no path to fine a BUSINESS/firm account. Add an overload issueFine(int debtorAccountId, int govAccountId, …), generalise GovernmentFine to carry a debtorAccountId (keep playerUuid for back-compat), add a /fine firm <name> … route resolving the BUSINESS account, and mirror it in the revoke path. Pairs with PAR-59.

Comments

tesks · Jun 4, 2026, 9:57 AM

Code context — Fines are player-only today: GovServiceImpl.issueFine resolves the fined party via getAccountByUUID(player) (PERSONAL account), GovernmentFine stores a playerUuid (not an accountId), and FineCommand takes an OfflinePlayer. There's no path to fine a BUSINESS/firm account.

Approach: add an overload issueFine(int debtorAccountId, int govAccountId, …), generalise GovernmentFine to carry a debtorAccountId (keep playerUuid for back-compat), add a /fine firm <name> … route resolving the BUSINESS account, and mirror it in the revoke path. Pairs with PAR-59 (webhook).

Activity

  • paradaux changed status to Status → PlannedJun 7, 2026, 9:02 PM
  • paradaux description: Description updatedJun 7, 2026, 9:02 PM
  • tesks changed status to Status → BacklogJun 4, 2026, 8:54 PM
  • tesks description: Description updatedJun 4, 2026, 10:02 AM
  • tesks commentedJun 4, 2026, 9:57 AM
  • tesks assigned Assigned to rianJun 4, 2026, 9:26 AM
  • tesks updated labels (Labels updated)Jun 4, 2026, 9:26 AM
  • tesks moved to Moved to TreasuryJun 4, 2026, 9:26 AM