feat(api): sincronizar tipo de elemento y activo/inactivo en la app móvil
- bundle: mapFeature incluye feature_type_id e is_active; nuevo array feature_types (catálogo) para que el móvil resuelva nombres/colores. - /sync feature.update acepta is_active y feature_type_id (last-write-wins). - openapi.yaml: bundle documenta feature_types. Tests: MobileApiTest cubre feature.update con los nuevos campos + bundle. Suite 88 passing. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -73,6 +73,7 @@ class ProjectApiController extends Controller
|
||||
'phases' => $phases->map(fn ($p) => $this->mapPhase($p))->values(),
|
||||
'layers' => $layers->map(fn ($l) => $this->mapLayer($l))->values(),
|
||||
'features' => $features->map(fn ($f) => $this->mapFeature($f))->values(),
|
||||
'feature_types' => \App\Models\FeatureType::orderBy('name')->get(['id', 'name', 'color'])->values(),
|
||||
'inspections' => $inspections->map(fn ($i) => $this->mapInspection($i))->values(),
|
||||
'issues' => $issues->map(fn ($i) => $this->mapIssue($i))->values(),
|
||||
'issue_tasks' => $issueTasks->map(fn ($t) => $this->mapIssueTask($t))->values(),
|
||||
@@ -156,6 +157,7 @@ class ProjectApiController extends Controller
|
||||
'id' => $f->id, 'layer_id' => $f->layer_id, 'name' => $f->name,
|
||||
'geometry' => $f->geometry, 'status' => $f->status, 'progress' => $f->progress,
|
||||
'responsible' => $f->responsible, 'template_id' => $f->template_id,
|
||||
'feature_type_id' => $f->feature_type_id, 'is_active' => (bool) $f->is_active,
|
||||
'updated_at' => $f->updated_at?->toIso8601String(),
|
||||
];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user