Skip to content

Conception µS Operations

Vincent ZWINGMANN edited this page Sep 23, 2024 · 7 revisions

Diagrammes C4

C1 - Contexte

Diagramme C1

C2 - Conteneurs "Application Budgets"

Diagramme C2

C3 - Composant "Opérations"

Diagramme C3

API BudgetsResource

La classe BudgetsResource est un contrôleur REST qui gère les opérations liées aux budgets mensuels des utilisateurs. Elle agit comme un adaptateur pour le port IOperationsAppProvider, fournissant des points d'entrée pour les opérations de gestion des budgets.

Points d'entrée

getBudget

  • Description: Retourne le budget mensuel d'un utilisateur pour un compte spécifique.
  • Méthode HTTP: GET
  • Chemin: /budgets
  • Rôles autorisés: OPERATIONS_ROLE
  • Paramètres:
    • idCompte: Identifiant du compte.
    • mois: Mois du budget.
    • annee: Année du budget.
  • Réponses:
    • 200: Opération réussie, retourne le budget mensuel.
    • 401: Utilisateur non authentifié.
    • 403: Opération non autorisée.
    • 404: Données introuvables.

getBudgetSolde

  • Description: Retourne le solde d'un budget mensuel pour un compte d'un utilisateur.
  • Méthode HTTP: GET
  • Chemin: /budgets/soldes
  • Rôles autorisés: OPERATIONS_ROLE
  • Paramètres:
    • idCompte: Identifiant du compte.
    • mois: Mois du budget.
    • annee: Année du budget.
  • Réponses:
    • 200: Opération réussie, retourne le solde du budget.
    • 401: Utilisateur non authentifié.
    • 403: Opération non autorisée.
    • 404: Données introuvables.

getBudget

  • Description: Charge un budget spécifique par son identifiant.
  • Méthode HTTP: GET
  • Chemin: /budgets/{idBudget}
  • Rôles autorisés: OPERATIONS_ROLE
  • Paramètres:
    • idBudget: Identifiant du budget.
  • Réponses:
    • 200: Budget chargé.
    • 401: Utilisateur non authentifié.
    • 403: Opération non autorisée.
    • 404: Données introuvables.

reinitializeBudget

  • Description: Réinitialise un budget spécifique par son identifiant.
  • Méthode HTTP: DELETE
  • Chemin: /budgets/{idBudget}
  • Rôles autorisés: OPERATIONS_ROLE
  • Paramètres:
    • idBudget: Identifiant du budget.
  • Réponses:
    • 200: Budget réinitialisé.
    • 401: Utilisateur non authentifié.
    • 403: Opération non autorisée.
    • 404: Données introuvables.
    • 405: Compte clos, impossible de réinitialiser le budget.

isBudgetActif

  • Description: Retourne l'état d'un budget mensuel (ouvert ou clôturé).
  • Méthode HTTP: GET
  • Chemin: /budgets/{idBudget}/etat
  • Rôles autorisés: OPERATIONS_ROLE
  • Paramètres:
    • idBudget: Identifiant du budget.
    • actif: État du budget.
  • Réponses:
    • 200: Budget actif.
    • 423: Budget inactif.
    • 400: Paramètres incorrects.
    • 401: Utilisateur non authentifié.
    • 403: Opération non autorisée.
    • 404: Données introuvables.

setBudgetActif

  • Description: Met à jour l'état d'un budget mensuel (ouvert ou clôturé).
  • Méthode HTTP: POST
  • Chemin: /budgets/{idBudget}/etat
  • Rôles autorisés: OPERATIONS_ROLE
  • Paramètres:
    • idBudget: Identifiant du budget.
    • actif: État du budget.
  • Réponses:
    • 200: Opération réussie.
    • 401: Utilisateur non authentifié.
    • 403: Opération non autorisée.
    • 404: Données introuvables.
    • 500: Opération en échec.

createOperation

  • Description: Crée une nouvelle opération dans un budget.
  • Méthode HTTP: POST
  • Chemin: /budgets/{idBudget}/operations
  • Rôles autorisés: OPERATIONS_ROLE
  • Paramètres:
    • idBudget: Identifiant du budget.
    • operation: Détails de l'opération.
  • Réponses:
    • 200: Opération mise à jour.
    • 400: Paramètres incorrects.
    • 401: Utilisateur non authentifié.
    • 403: Opération non autorisée.
    • 404: Données introuvables.
    • 423: Compte clos.

createOperationIntercomptes

  • Description: Crée une nouvelle opération intercomptes.
  • Méthode HTTP: POST
  • Chemin: /budgets/{idBudget}/operations/intercomptes
  • Rôles autorisés: OPERATIONS_ROLE
  • Paramètres:
    • idBudget: Identifiant du budget.
    • idCompte: Identifiant du compte.
    • operation: Détails de l'opération.
  • Réponses:
    • 200: Opération mise à jour.
    • 400: Paramètres incorrects.
    • 401: Utilisateur non authentifié.
    • 403: Opération non autorisée.
    • 404: Données introuvables.
    • 423: Compte clos.

updateOperation

  • Description: Met à jour une opération existante dans un budget.
  • Méthode HTTP: POST
  • Chemin: /budgets/{idBudget}/operations/{idOperation}
  • Rôles autorisés: OPERATIONS_ROLE
  • Paramètres:
    • idBudget: Identifiant du budget.
    • idOperation: Identifiant de l'opération.
    • operation: Détails de l'opération.
  • Réponses:
    • 200: Opération mise à jour.
    • 400: Paramètres incorrects.
    • 401: Utilisateur non authentifié.
    • 403: Opération non autorisée.
    • 404: Données introuvables.
    • 423: Compte clos.

deleteOperation

  • Description: Supprime une opération existante dans un budget.
  • Méthode HTTP: DELETE
  • Chemin: /budgets/{idBudget}/operations/{idOperation}
  • Rôles autorisés: OPERATIONS_ROLE
  • Paramètres:
    • idBudget: Identifiant du budget.
    • idOperation: Identifiant de l'opération.
  • Réponses:
    • 200: Opération supprimée.
    • 204: Opération supprimée.
    • 400: Paramètres incorrects.
    • 401: Utilisateur non authentifié.
    • 403: Opération non autorisée.
    • 404: Données introuvables.
    • 405: Compte clos.

libellesOperationsCompte

  • Description: Retourne la liste des libellés des opérations pour un compte spécifique.
  • Méthode HTTP: GET
  • Chemin: /budgets/{idCompte}/operations/libelles
  • Rôles autorisés: OPERATIONS_ROLE
  • Paramètres:
    • idCompte: Identifiant du compte.
  • Réponses:
    • 200: Liste des opérations.
    • 400: Paramètres incorrects.
    • 401: Utilisateur non authentifié.
    • 403: Opération non autorisée.
    • 404: Données introuvables.
    • 423: Compte clos.

Filtres

preMatchingFilter

  • Description: Filtre les requêtes entrantes avant le matching des routes pour appliquer des règles de sécurité.
  • Annotation: @ServerRequestFilter(preMatching = true)

postMatchingFilter

  • Description: Filtre les réponses sortantes après le matching des routes pour appliquer des règles de sécurité.
  • Annotation: @ServerResponseFilter

Injections

  • IBudgetAppProvider budgetService: Fournisseur de services pour les opérations sur les budgets mensuels.

Clone this wiki locally