Skip to content

feat(api): Epic NTR-4 — API Layer complet#1

Merged
MGNetworking merged 5 commits into
devfrom
feature/NTR-23-diet-plans-controlle
Jun 6, 2026
Merged

feat(api): Epic NTR-4 — API Layer complet#1
MGNetworking merged 5 commits into
devfrom
feature/NTR-23-diet-plans-controlle

Conversation

@MGNetworking

Copy link
Copy Markdown
Owner

Résumé

Implémentation complète de la couche API.

Stories incluses

  • NTR-80 : Stratégie CI par branche + workflow Git
  • NTR-79 : Contrats d'interface complets (Groupes 1/2/3)
  • NTR-21 : Infrastructure API — JWT, middlewares, Swagger
  • NTR-22 : UsersController — endpoints, tests, config coverage
  • NTR-23 : Controllers DietPlans, Diets, Meals, FoodItems, Admin + tests unitaires

- Remplace ci.yml par 3 workflows spécialisés :
  ci-unit.yml    : tests unitaires sur PR feature/* → dev
  ci-deploy.yml  : build Release + intégration + deploy VPS (dev → prod)
  ci-release.yml : suite complète + couverture sur PR dev → main
- Ajoute CONTRIBUTING.md : workflow branches, stratégie CI, feuille de route smoke tests (3 niveaux)
- Met à jour README.md avec section gestion des branches
- Interfaces/Services/ : IUserService, IDietPlanService, IDietService, IMealService, IFoodItemService, INutritionService, IAdminService
- Interfaces/Repositories/ : IDietPlanRepository, IDietRepository, IMealRepository, IFoodItemRepository, ISavedFoodItemRepository
- Interfaces/ExternalServices/ : IFoodCacheService, IKeycloakAdminService, IEmailService
- DTOs manquants créés pour tous les domaines (DietPlans, Diets, Meals, FoodItems, Nutrition, Admin, Users)
- UserService implémente IUserService (stubs NotImplementedException pour les méthodes futures)
- DependencyInjection.cs enregistre IUserService → UserService
- NTR-57 : JWT Keycloak (AddAuthentication/JwtBearer), KeycloakClaimsTransformation, UserResolutionMiddleware
- NTR-58 : ExceptionMiddleware — mapping exceptions → ProblemDetails (404/409/403/422/500)
- NTR-59 : Swagger avec sécurité JWT Bearer
- ClaimsPrincipalExtensions — GetUserId() sur HttpContext
- Program.cs — pipeline middleware complet
- 12 tests unitaires verts
…e #NTR-22

- Tous les endpoints UsersController implémentés (profil, RGPD, pesées, favoris)
- UsersControllerTest : 11 tests couvrant les 4 sections
- DTOs : retrait de [ExcludeFromCodeCoverage] + using associé (24 fichiers)
- coverage.runsettings : ajout ExcludeByFile pour DTOs
- .csproj tests : RunSettingsFilePath auto-chargé (chemin Linux corrigé)
- ci-unit.yml : --settings tests/coverage.runsettings ajouté
- README : commandes dotnet test et reportgenerator mises à jour
@MGNetworking MGNetworking merged commit 8053128 into dev Jun 6, 2026
1 check passed
@MGNetworking MGNetworking deleted the feature/NTR-23-diet-plans-controlle branch June 6, 2026 10:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant