Description
Implement POST /v1/maintenance/_fixAssets and GET /v1/maintenance/_fixAssets in MaintenanceResource.java. POST starts the fix assets inconsistencies process which runs all registered FixTask classes. GET returns the current/last results for progress checking.
Acceptance Criteria
POST /v1/maintenance/_fixAssets
- Endpoint must call
FixTasksExecutor.getInstance().execute(null) to run all registered fix tasks
- API caller must receive a list of task results, each containing: total, errorsFixed, initialTime, finalTime, description
- API caller must receive null/empty entity if no tasks were executed
- Must require CMS Administrator role and Maintenance portlet access
GET /v1/maintenance/_fixAssets
- API caller must receive the current task results from
FixTasksExecutor.getInstance().getTasksresults()
- API caller must receive null/empty entity if no results exist
- Must require CMS Administrator role and Maintenance portlet access
Priority
None
Additional Context
FixTasksExecutor.execute() is synchronous — blocks until all tasks complete. Results accumulate incrementally in returnValue as each task finishes
- Tasks loaded from
TaskLocatorUtil.getFixTaskClasses(), sorted by name, each runs shouldRun() + executeFix() in Hibernate transactions
- GET is called on page load to recover results from a previous run
- DWR legacy:
CMSMaintenanceAjax.fixAssetsInconsistencies() and getFixAssetsProgress()
Description
Implement
POST /v1/maintenance/_fixAssetsandGET /v1/maintenance/_fixAssetsinMaintenanceResource.java. POST starts the fix assets inconsistencies process which runs all registered FixTask classes. GET returns the current/last results for progress checking.Acceptance Criteria
POST /v1/maintenance/_fixAssets
FixTasksExecutor.getInstance().execute(null)to run all registered fix tasksGET /v1/maintenance/_fixAssets
FixTasksExecutor.getInstance().getTasksresults()Priority
None
Additional Context
FixTasksExecutor.execute()is synchronous — blocks until all tasks complete. Results accumulate incrementally inreturnValueas each task finishesTaskLocatorUtil.getFixTaskClasses(), sorted by name, each runsshouldRun()+executeFix()in Hibernate transactionsCMSMaintenanceAjax.fixAssetsInconsistencies()andgetFixAssetsProgress()