Development plans — legacy technical guide
Legacy implementation
Paths in this section are relative to smartmobility-legacy.
| Component | Responsibility |
|---|---|
src/Customer/ProfileBundle/Resources/views/Default/index.html.twig | Employee pane gate and legacy/SMR selection. |
.../includes/dev-objs-tab.html.twig | Legacy cards, periods and shared interview goal modal; loads assets_v5/js/App/dev_objectives.js. |
src/Customer/InterviewBundle/Resources/views/dev-goals/ | Shared goal form and list templates. |
src/Company/AssessmentBundle/Controller/Api/UserGoalController.php | Profile/interview lists, create, edit, status, skills and deletion. |
.../UserGoalActionController.php | Typed action CRUD and status. |
src/Handler/UserGoal/GoalHandler.php | Status persistence, skill association and deletion bookkeeping. |
src/Company/AssessmentBundle/DTO/UserGoalDTO.php | Legacy request validation and serialization. |
Verified in code: annotation routing mounts the controller directory under /api/user-goal. Goal controller prefix is goal, action prefix /goal/actions.
Method/path under /api/user-goal | Contract |
|---|---|
GET /goal/profile/list/{user_id} | Profile goals. |
POST /goal/create | Validated UserGoalDTO; success 201. |
PUT /goal/update/{id} | Validated update DTO; updated representation. |
PATCH /goal/update-status/{id} | Status validation group; status response 200. |
PATCH /goal/{id}/associate-skills | Skill association update. |
DELETE /goal/delete/{id} | Handler deletion; 204. Not tested live. |
POST /goal/actions/create/{goal_id} | Typed action creation. |
PATCH /goal/actions/update-status/{id} | Action status. |
UserGoalDTO uses userId, name, origin, description, endDate, optional periodId, status and skills. It validates tenant identity, legacy question type, name 2–100 and supplied description 2–500 characters; date is required and serialized Y-m-d. Period annotations and the observed no-period success are not fully reconciled. These are not nextgen answer payloads.
The observed profile owns Company/AssessmentBundle/Entity/UserGoal, not the separate Main/ConfigBundle/Entity/DevelopmentGoal OKR model. The older DevelopmentGoal/DevelopmentTask controllers coexist; do not substitute their routes or calculations for this journey.
Last updated on 3 November 2026