Ashhar Ahmad Khan created FINERACT-2587:
-------------------------------------------
Summary: Remove CLIENTCHARGE| INACTIVATE write path — command has
never functioned since 2015
Key: FINERACT-2587
URL: https://issues.apache.org/jira/browse/FINERACT-2587
Project: Apache Fineract
Issue Type: Bug
Reporter: Ashhar Ahmad Khan
POST /clients/\{clientId}/charges/\{chargeId}?command=inactivate has never
returned a
successful response in any version of Fineract or its predecessor MifosX.
The inactivateCharge() service method was a stub returning null from its first
commit
(d0fd3e4a6c, August 17 2015). No command handler for CLIENTCHARGE|INACTIVATE
was ever
registered in any commit across the repository history. git log --all -S
"clientCharge.inactivate" returns zero results outside the investigation branch.
Runtime confirmation against apache/fineract:latest showed HTTP 400 with
error.msg.command.unsupported. m_portfolio_command_source shows
made_on_date=NULL
and status=5 — rejected before any processing began. m_client_charge.is_active
was never written.
Surface area audit confirmed nothing depends on this path — no SDK method, no
Swagger documentation, no frontend references, no integration tests, and
m_portfolio_command_source had zero prior attempts before the validation run.
Per architectural direction from Victor and James that fees should be
account-associated rather than client-associated, and following the 72-hour
notice
posted to the DEV list, this removes the write path scaffolding (Phase 1 only).
Phase 1 removes: API routing branch, interface method, stub implementation,
CommandWrapperBuilder method, two ClientApiConstants, a Liquibase changeset
deleting INACTIVATE_CLIENTCHARGE and INACTIVATE_CLIENTCHARGE_CHECKER from
m_permission, and corresponding sample SQL entries.
Phase 1 does NOT remove: isActive and inactivationDate from the GET response —
dropping those fields changes the response contract and is a separate Phase 2
decision.
DEV list thread:
https://lists.apache.org/thread/lhh0hx0t2y7vzdrs98fg3qyfx1xo9d0y
Related ticket: FINERACT-2545
--
This message was sent by Atlassian Jira
(v8.20.10#820010)