feat(cameras): activer/désactiver une caméra depuis la liste (toggle status) #151
No reviewers
Labels
No labels
bug
chore
design
dx:ci
dx:database
dx:dotnet
dx:infra
dx:security
dx:tests
dx:ui
etape-1
etape-2
etape-3
etape-4
etape-5
etape-6
etape-7
feature
priority-high
priority-low
priority-medium
security
spec
tech-debt
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
nonobis/Heimdall!151
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/camera-toggle-ui"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Résumé
Ajoute un bouton toggle (play/stop) dans chaque tuile de la liste des caméras pour activer/désactiver une caméra directement depuis la vue liste, sans passer par la page détail.
Changements
API
POST /api/cameras/{id}/toggle-status— endpoint dédié qui bascule entreOnlineetDisabledToggleCameraStatusCommand+ handler (Application layer)ToggleCameraStatusAsyncdansHeimdallApiClientUI
CameraTile.razor— bouton toggle ajouté (play/stop) entre View et SnapshotCamerasPage.razor— callbackOnToggleStatuscâblé + snackbar feedbackCameraDetail.razor— migré vers le nouvel endpoint dédié (au lieu deUpdateCameraAsyncavec status)Tests
ToggleCameraStatusCommandTests)CameraDetailTests(mock PUT → POST)Closes
Ajoute un bouton toggle (play/stop) dans chaque tuile de la liste des caméras et un endpoint dédié POST /api/cameras/{id}/toggle-status. - ToggleCameraStatusCommand + handler (Application layer) - POST /api/cameras/{id}/toggle-status (CamerasController) - ToggleCameraStatusAsync (HeimdallApiClient) - Bouton toggle dans CameraTile.razor (liste) - Callback OnToggleStatus dans CamerasPage.razor - CameraDetail.razor migré vers le nouvel endpoint dédié - 4 unit tests + 2 integration tests + fix bUnit CameraDetailTests Fixes #59🤖 Résumé des tests
Tests unitaires
Heimdall.Agent.TestsHeimdall.Api.TestsHeimdall.Application.TestsHeimdall.Domain.Tests✅ 736 tests passent.
Tests Web (bUnit)
Heimdall.Web.Tests✅ 243 tests passent.
Tests DB (Infrastructure)
Heimdall.Infrastructure.Tests✅ 177 tests passent.
Généré automatiquement par la CI.
fix(sonar): corrections automatiques des issues SonarQube
ct→cancellationTokendansToggleCameraStatusCommand.csCameraTile.razor→ méthodes helpersGetStatusColor/GetStatusLabel"Réponse du serveur invalide."enconst string InvalidServerResponseBuild 0 error, 0 warning. Tests OK (569 passed).
📊 SonarQube Coverage Report
Résumé : Le code ajouté dans cette PR atteint 87.9% de couverture ✅. La couverture totale du projet reste à 42.4% ⚠️.
Automated by coverage-check cron
🤖 Résumé des tests
Tests unitaires
Pas de résultats (job skippé)
Tests Web (bUnit)
Pas de résultats
Tests DB (Infrastructure)
Pas de résultats
Généré automatiquement par la CI.