Users

Introduction

L'api users sert à obtenir et modifier les donnés des utilisateurs.

Structure

Objet utilisateur

Champ

Type

Modifiable

Description

id

string

Identifiant unique, voir identifiants uniques.

username

string

Pseudonyme

avatar

?string

ID de l'avatar, voir Fichiers,null si l'utilisateur n'a pas d'avatar.

email

string

Adresse email. Requiert le scope supplémentaire email

first_name

string

Prénom. Requiert le scope supplémentaire personal

last_name

string

Nom de famille. Requiert le scope supplémentaire personal

verified

bool

Si l'adresse email à été ou non vérifiée

flags

int

Un entier, pour les détails, voir Drapeaux.

Drapeaux

Les drapeaux sont des états cumulables qu'un utilisateur peut avoir, il sont stockés dans un entier via des opérations sur les bits.

Liste des drapeaux

Valeur

Description

0x1

Administrateur

0x2

Membre de l'association Edu-Focus

Opération sur les drapeaux

Voici quelque exemples d'opérations possible sur les drapeaux:

#Tester si un utilisateur n'a pas de drapeaux
flags == 0x0
#Tester si un utilisateur à un flag
(flags & 0x1) == 0x1 #True > l'utilisateur à le flag "Administrateur"

Méthodes de l'api

L'api supporte les méthodes suivantes pour les utilisateurs:

Utilisateur actuel:

  • Obtenir l'utilisateur actuel

  • Modifier l'utilisateur actuel²

  • Supprimer le compte de l'utilisateur actuel¹²

Utilisateurs:

  • Obtenir un utilisateur²

  • Bannir un utilisateur¹

¹ Cette action reqiuère un token obtenu via un écran d'autorisation. ² Votre application doit obtenir une permission spéciale pour faire cette action.

get
Obtenir l'utilisateur actuel

https://api.edu-focus.org/users/@current
Permet d'obtenir l'utilisateur actuel, requière au minium le scope identity
Request
Response
Request
Headers
Authorization
required
string
Entête d'autorisation de type Bearer obtenu par OAuth 2.0.
Response
200: OK
Les champs peuvent varier en fonction des scopes demandés lors de l'obtention du token. Pour une liste exhaustive, consultez l'objet utilisateur ci-dessus.
{
"code": 200,
"status": "success"
"payload": {
"id": "3KX0TDpR",
"username": "Developer",
"email": "dev@edu-focus.org",
"avatar": null,
"verified": true
}
}

patch
Modifier l'utilisateur actuel

https://api.edu-focus.org/users/@current
Modifie l'utilisateur actuel, requière le scope modify
Request
Response
Request
Headers
Authorization
required
string
Entête d'autorisation de type Bearer obtenu par OAuth 2.0
Body Parameters
username
optional
string
Nouveau nom d'utilisateur
first_name
optional
string
Nouveau prénom
last_name
optional
string
Nouveau nom
avatar
optional
string
Nouvel avatar Doit être un identifiant de fichier temporaire (voir le sujet Fichiers)
Response
200: OK
Si l'utilisateur à bien été modifié
{
"code": 200,
"message": "updated",
"status": "success"
}
202: Accepted
Aucune modification n'a été nécessaire
{
"code": 202,
"message": "nothing_changed",
"status": "success"
}
400: Bad Request
La requête est invalide.
Nom d'utilisateur pris
Num d'utilisateur interdit
Nom d'utilisateur pris
{
"code": 400,
"status": "failure",
"message": "used_username"
}
Num d'utilisateur interdit
{
"code": 400,
"status": "failure",
"message": "unauthorized_username"
}

Seules les applications vérifiés peuvent modifier les comptes des utilisateurs.