[ 
https://issues.apache.org/jira/browse/FINERACT-2587?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Adam Saghy updated FINERACT-2587:
---------------------------------
    Fix Version/s: 1.15.0

> 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
>            Priority: Major
>             Fix For: 1.15.0
>
>
> 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)

Reply via email to