PAR-48
Add ability to fine firms
Allow the system to fine firms directly (today fines target players only).
Technical notes — 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. 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
- tesks changed status to Status → Pending Release
- tesks changed status to Status → In Progress
- paradaux description: Description updated
- paradaux changed status to Status → Planned
- tesks changed status to Status → Backlog
- tesks description: Description updated
- tesks commented
- tesks assigned Assigned to rian
- tesks updated labels (Labels updated)
- tesks moved to Moved to Treasury