@infrasoftbe/infrasoft-vnv-api-kit

Infrasoft-api-kit

infrasoft-vnv-api-kit / Documentation

Infrasoft-api-kit lists all the api available for infrasoft tools.

The APIs cover vnv-services :

  • vnv-auth
  • vnv-sessions
  • vnv-database
  • vnv-management

But also covers tiers services :

  • graph365
  • sharepoint
  • S3

Afin de maintenir une cohérence dans le code et faciliter la lisibilité et l’extensibilité, des conventions strictes sont utilisées pour les variables, les schémas, et les types. Les nomenclatures définissent les conventions de nommage et d'organisation des composants dans le projet. Voici les principales catégories :

Les variables doivent respecter les règles suivantes :

  • CamelCase : Le nom des variables doit commencer par une minuscule, et chaque mot suivant doit commencer par une majuscule, sans séparateurs.

    • Exemple : userName, apiKey, sessionToken.
  • Nom explicite : Le nom des variables doit être explicite et décrire clairement son rôle dans l'application.

    • Exemple : fileUploadUrl, userId, queryParams.

Les schémas sont utilisés pour la validation et la transformation des données. Ils sont systématiquement implémentés avec Zod.

Les schémas doivent :

  • Être définis clairement pour chaque entité ou objet qui doit être validé ou transformé.
  • Être utilisés systématiquement dans les fonctions qui manipulent des données en entrée ou en sortie.
  • Avoir des noms explicites correspondant à l’entité ou à l’opération qu’ils décrivent.

Les types doivent être inférés à partir des schémas correspondants. Cela garantit que les types et les schémas sont toujours synchronisés.

  • Variables : Utilisez la notation camelCase pour nommer les variables.
  • Classes : Les classes doivent commencer par un underscore _ suivi de camelCase pour leur nom.
  • Méthodes et Fonctions Utilisez la notation PascalCase pour nommer les méthodes et les fonctions.
  • Types de Requête (Request Body)
    • Prefix {OPERATION}{WHAT}Properties : Pour les types représentant les propriétés du corps d’une requête de création, commencez le nom par create suivi de l’objet concerné, puis Properties.
    • Exemple :
      • Type pour créer un utilisateur : CreateUserProperties
      • Type pour créer une commande : CreateOrderProperties

Ces types définissent la structure des données envoyées dans le corps de la requête pour la création de nouvelles entités.

  • Types de Réponse (Response Body)
    • Prefix {OPERATION}{WHAT}Response : Pour les types représentant les propriétés du corps d’une réponse lors de la création d’une entité, commencez le nom par le nom de l’entité suivi de CreationResponse.
    • Exemple :
      • Réponse pour la création d’un utilisateur : CreateUserResponse
      • Réponse pour la création d’une commande : CreateOrderResponse

Ces types définissent la structure des données retournées par l’API après la création d’une entité.