Hack System
  • Hack System
  • Commencer Ici
    • Installation
    • Page
  • Features
    • 📝Gestion du Contenu
    • 🔓Auth (classique)
  • APIs
    • 👤Groupe API : Authentication
      • 💚POST : Auth Login
      • 💚POST : Auth Signup
      • 💙GET : Auth User
      • 💙GET : Linkedin Continue
      • 💙GET : Linkedin Init
      • 💙GET : Reset Password
      • 💚POST : Reset Password
    • ✍️Groupe API : Content
      • 💙GET : Content
    • ⚙️Groupe API : Settings
      • 💛PUT user/password
      • 💛PUT user/profile
    • 🗒️Groupe API : Waitinglist
      • 💙POST waitinglist
  • 🗃️Base de données
    • 🪪users
    • 📧transactional_emails
    • 📬messages
    • 🏗️App_structure
    • ✍️Content_strings
    • 🗒️Waitinglist
    • 🏢Workspace
  • 🔁Fonctions Xano
    • 📚Notes : Fonctions
    • 🚫Fonction : Error Empty Email
    • 🚫Fonction : Error Empty Password
    • 🚫Fonction : Error Existing Email
    • 🚫Fonction : Error Not Existing User
    • ℹ️Fonction : Information Good Password
    • 🤵Fonction : LinkedIn OAuth Get Access Token
    • 🤵Fonction : LinkedIn OAuth Get Authentication URL
    • 🤵Fonction : LinkedIn OAuth Get User Information
    • 📨Fonction : Send Email
Propulsé par GitBook
Sur cette page

Cet article vous a-t-il été utile ?

  1. APIs
  2. Groupe API : Settings

PUT user/profile

Nom de l'API : /user/profile (PUT)

Description : Cette API permet aux utilisateurs authentifiés de mettre à jour leur profil et les informations liées à leur espace de travail. Elle gère à la fois les données utilisateur et les données de l'espace de travail.

Endpoint : /user/profile

Méthode : PUT

Authentification : Requise

Paramètres d'entrée :

  1. user (type: object) : Informations de l'utilisateur à mettre à jour

  2. workspace_info (type: object) : Informations de l'espace de travail à mettre à jour

  3. workspace_id (type: text) : Identifiant de l'espace de travail

Fonctionnement détaillé :

  1. Get Record From users :

    • Récupère les informations de l'utilisateur actuel

    • Utilise l'ID de l'utilisateur authentifié (auth:id)

    • Retourne le résultat sous le nom "current_user"

  2. Query All Records From workspace :

    • Récupère les informations de l'espace de travail de l'utilisateur

    • Filtre :

      • Join avec workspace_users sur workspace_users.users_id == current_user.id

      • db:workspace.id == db:workspace.id (probablement pour s'assurer que l'espace existe)

    • Retourne le résultat sous le nom "current_workspace"

  3. Get Record From messages :

    • Récupère le message d'erreur potentiel

    • Filtre : internal_name == "settings_info_error"

    • Retourne le résultat sous le nom "error_message"

  4. Precondition :

    • Vérifie que l'espace de travail existe

    • Condition : var:current_workspace|is_empty == false

    • Message d'erreur : error_message

    • Type d'erreur : Standard

  5. Edit Record In users :

    • Met à jour les informations de l'utilisateur

    • Trouve l'utilisateur par son ID (current_user.id)

    • Champs modifiables : email, password (et potentiellement d'autres champs non visibles dans l'image)

    • Retourne le résultat sous le nom "updated_user"

  6. Edit Record In workspace :

    • Met à jour les informations de l'espace de travail

    • Trouve l'espace de travail par son ID (current_workspace.id)

    • Champs modifiables :

      • name : input:object workspace_info.name

      • users : probablement une liste d'utilisateurs associés à l'espace de travail

    • Retourne le résultat sous le nom "updated_workspace"

  7. Get Record From messages :

    • Récupère le message de confirmation

    • Filtre : internal_name == "settings_updated"

    • Retourne le résultat sous le nom "response"

Réponse : L'API renvoie un objet JSON (var: response) contenant probablement :

  • Un message de confirmation (response.message)

  • Les informations mises à jour de l'utilisateur (updated_user)

  • Les informations mises à jour de l'espace de travail (updated_workspace)

Gestion des erreurs :

  • Si l'espace de travail n'existe pas : Renvoie le message d'erreur défini dans "error_message"

Sécurité :

  • L'API nécessite une authentification

  • Vérifie que l'utilisateur a accès à l'espace de travail avant toute modification

Notes pour les développeurs :

  • Assurez-vous de valider et de nettoyer toutes les entrées utilisateur avant de les enregistrer dans la base de données

  • Considérez l'ajout de vérifications supplémentaires pour s'assurer que l'utilisateur a les droits nécessaires pour modifier l'espace de travail

  • Cette API gère à la fois les mises à jour du profil utilisateur et de l'espace de travail, ce qui pourrait nécessiter une gestion soignée des transactions en cas d'échec partiel de la mise à jour.

Considérations de sécurité :

  • Assurez-vous que les mots de passe sont correctement hachés avant d'être stockés dans la base de données

  • Vérifiez que l'utilisateur a les permissions nécessaires pour modifier les informations de l'espace de travail, en particulier si la modification des utilisateurs associés est autorisée

Gestion des erreurs :

  • En cas d'échec de la mise à jour de l'une des tables (users ou workspace), assurez-vous que les changements sont annulés pour maintenir la cohérence des données

Cette API offre une fonctionnalité complète pour mettre à jour à la fois le profil utilisateur et les informations de l'espace de travail en une seule opération, ce qui nécessite une gestion soignée des transactions et des vérifications de sécurité.

PrécédentPUT user/passwordSuivantGroupe API : Waitinglist

Dernière mise à jour il y a 7 mois

Cet article vous a-t-il été utile ?

⚙️
💛