90a48e21
Geoffrey PREUD'HOMME
Personnes
|
1
|
#%RAML 0.8
|
ea2f57e1
Geoffrey PREUD'HOMME
Test API
|
2
3
4
|
title: API d'Etunicorn
baseUri: https://etunicorn.plil.net/{version}/
version: v1
|
90a48e21
Geoffrey PREUD'HOMME
Personnes
|
5
|
|
464d0189
Geoffrey PREUD'HOMME
Sécurité
|
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
securitySchemes:
- oauth_2_0:
description: Il faut un token OAuth 2.0 pour utiliser cette API
type: OAuth 2.0
describedBy:
headers:
Authorization:
description: |
Utilisé pour envoyer un token d'accès OAuth 2. Ne pas envoyer en même temps que le paramètre de requête "access_token"
type: string
queryParameters:
access_token:
description: |
Utilisé pour envoyer un token d'accès OAuth 2. Ne pas envoyer en même temps que le header "Authorization"
type: string
responses:
401:
description: Token expiré ou invalide. Reconnectez-vous
403:
description: Permission refusée. Se re-connecter ne changera rien
# Les codes 400 sont implicites
|
509e1d6e
Geoffrey PREUD'HOMME
API: Login
|
28
|
/login:
|
b8824e3a
Geoffrey PREUD'HOMME
Avec le login, ce...
|
29
30
|
post:
description: Instancie une nouvelle connexion
|
90a48e21
Geoffrey PREUD'HOMME
Personnes
|
31
|
queryParameters:
|
b8824e3a
Geoffrey PREUD'HOMME
Avec le login, ce...
|
32
33
34
35
36
37
38
39
40
41
42
43
44
|
login:
displayName: Login Polytech
type: string
required: true
password:
displayName: Mot de passe Polytech
type: string
required: false
responses:
200:
description: Authentification réussie
body:
application/json:
|
90a48e21
Geoffrey PREUD'HOMME
Personnes
|
45
|
example: |
|
b8824e3a
Geoffrey PREUD'HOMME
Avec le login, ce...
|
46
47
|
{
"token": "ooT6zahdura7vaethuiph1ugiph6co",
|
377081e3
Geoffrey PREUD'HOMME
Rôles et permissions
|
48
49
50
51
52
53
54
55
56
57
|
"expire": 1485607703,
"role": "admin",
"permissions": [
{
"nom": "CREER_EVENEMENT"
},
{
"nom": "SUPPRIMER_EVENEMENT"
}
]
|
b8824e3a
Geoffrey PREUD'HOMME
Avec le login, ce...
|
58
59
60
|
}
401:
description: Authentication échouée
|
90a48e21
Geoffrey PREUD'HOMME
Personnes
|
61
62
63
64
65
66
67
|
/{token}:
delete:
description: Se déconnecter
responses:
204:
description: Déconnecté avec succès
404:
|
464d0189
Geoffrey PREUD'HOMME
Sécurité
|
68
|
description: Jeton invalide ou expiré. À priori, vous êtes déjà déconnecté
|
ea2f57e1
Geoffrey PREUD'HOMME
Test API
|
69
|
/personne:
|
509e1d6e
Geoffrey PREUD'HOMME
API: Login
|
70
|
get:
|
464d0189
Geoffrey PREUD'HOMME
Sécurité
|
71
72
73
|
securedBy: [oauth_2_0]
description: Obtenir la liste des persones
responses:
|
509e1d6e
Geoffrey PREUD'HOMME
API: Login
|
74
75
76
|
200:
body:
application/json:
|
90a48e21
Geoffrey PREUD'HOMME
Personnes
|
77
|
example: |
|
509e1d6e
Geoffrey PREUD'HOMME
API: Login
|
78
|
[
|
90a48e21
Geoffrey PREUD'HOMME
Personnes
|
79
80
81
|
{
"id": 42,
"carte": "AAAAA",
|
509e1d6e
Geoffrey PREUD'HOMME
API: Login
|
82
83
|
"naissance": "1997-02-14",
"solde": 1337,
|
377081e3
Geoffrey PREUD'HOMME
Rôles et permissions
|
84
85
|
"login": "gbontoux",
"role": "etudiant"
|
509e1d6e
Geoffrey PREUD'HOMME
API: Login
|
86
87
|
}
]
|
90a48e21
Geoffrey PREUD'HOMME
Personnes
|
88
89
|
/{idPersonne}:
get:
|
464d0189
Geoffrey PREUD'HOMME
Sécurité
|
90
|
securedBy: [oauth_2_0]
|
90a48e21
Geoffrey PREUD'HOMME
Personnes
|
91
92
93
94
95
96
97
98
99
100
101
102
|
description: Obtenir les infos sur une personne
responses:
200:
description: Utilisateur récupéré
body:
application/json:
example: |
{
"id": 42,
"carte": "AAAAA",
"naissance": "1997-02-14",
"solde": 1337,
|
377081e3
Geoffrey PREUD'HOMME
Rôles et permissions
|
103
104
|
"login": "gbontoux",
"role": "etudiant"
|
90a48e21
Geoffrey PREUD'HOMME
Personnes
|
105
106
107
108
|
}
404:
description: Utilisateur non trouvé
put:
|
464d0189
Geoffrey PREUD'HOMME
Sécurité
|
109
|
securedBy: [oauth_2_0]
|
90a48e21
Geoffrey PREUD'HOMME
Personnes
|
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
description: Modifer les infos d'une personne
queryParameters:
carte:
displayName: ID de la carte NFC
type: string
required: false
minLength: 14
maxLength: 14
example: 39cdd9ed0b191d
naissance:
displayName: Date de naissance
type: date
required: false
example: 1997-02-14
login:
displayName: Login Polytech
type: string
required: false
example: gbontoux
|
377081e3
Geoffrey PREUD'HOMME
Rôles et permissions
|
129
130
131
132
133
|
role:
displayName: Rôle
type: string
required: false
example: etudiant
|
90a48e21
Geoffrey PREUD'HOMME
Personnes
|
134
135
136
|
responses:
202:
description: Utilisateur modifié
|
90a48e21
Geoffrey PREUD'HOMME
Personnes
|
137
138
139
|
404:
description: Utilisateur non trouvé
delete:
|
464d0189
Geoffrey PREUD'HOMME
Sécurité
|
140
|
securedBy: [oauth_2_0]
|
90a48e21
Geoffrey PREUD'HOMME
Personnes
|
141
142
143
144
145
146
147
|
description: Obtenir les infos sur une personne
responses:
204:
description: Utilisateur supprimé
404:
description: Utilisateur non trouvé
post:
|
464d0189
Geoffrey PREUD'HOMME
Sécurité
|
148
|
securedBy: [oauth_2_0]
|
90a48e21
Geoffrey PREUD'HOMME
Personnes
|
149
|
description: Ajoute une nouvelle personne
|
509e1d6e
Geoffrey PREUD'HOMME
API: Login
|
150
|
queryParameters:
|
90a48e21
Geoffrey PREUD'HOMME
Personnes
|
151
|
carte:
|
509e1d6e
Geoffrey PREUD'HOMME
API: Login
|
152
153
154
|
displayName: ID de la carte NFC
type: string
required: false
|
90a48e21
Geoffrey PREUD'HOMME
Personnes
|
155
156
157
|
minLength: 14
maxLength: 14
example: 39cdd9ed0b191d
|
509e1d6e
Geoffrey PREUD'HOMME
API: Login
|
158
159
|
naissance:
displayName: Date de naissance
|
90a48e21
Geoffrey PREUD'HOMME
Personnes
|
160
161
162
163
164
165
166
167
|
type: date
required: false
example: 1997-02-14
login:
displayName: Login Polytech
type: string
required: false
example: gbontoux
|
377081e3
Geoffrey PREUD'HOMME
Rôles et permissions
|
168
169
170
171
172
173
|
role:
displayName: Rôle
type: string
required: true
example: etudiant
default: etudiant
|
90a48e21
Geoffrey PREUD'HOMME
Personnes
|
174
175
176
177
178
179
180
181
182
|
responses:
201:
description: Personne ajoutée avec succès
body:
application/json:
example: |
{
"id": 42
}
|
377081e3
Geoffrey PREUD'HOMME
Rôles et permissions
|
183
184
|
/role:
get:
|
464d0189
Geoffrey PREUD'HOMME
Sécurité
|
185
|
securedBy: [oauth_2_0]
|
377081e3
Geoffrey PREUD'HOMME
Rôles et permissions
|
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
|
description: Liste les rôles
responses:
200:
body:
application/json:
example: |
[
{
"nom": "etudiant",
"permissions": []
},
{
"nom": "bde",
"permissions": [
{
"nom": "CREER_EVENEMENT"
},
{
"nom": "SUPPRIMER_EVENEMENT"
}
]
}
]
post:
|
464d0189
Geoffrey PREUD'HOMME
Sécurité
|
210
|
securedBy: [oauth_2_0]
|
377081e3
Geoffrey PREUD'HOMME
Rôles et permissions
|
211
212
213
214
215
216
217
218
219
220
221
222
223
224
|
description: Ajoute un nouveau rôle
queryParameters:
nom:
type: string
minLength: 3
required: true
example: bde
responses:
201:
description: Rôle créé avec succès
409:
description: Un rôle avec le même nom existe déjà
/{nomRole}:
delete:
|
464d0189
Geoffrey PREUD'HOMME
Sécurité
|
225
|
securedBy: [oauth_2_0]
|
377081e3
Geoffrey PREUD'HOMME
Rôles et permissions
|
226
227
228
229
230
231
232
|
description: Supprime un rôle
responses:
204:
description: Rôle supprimé
404:
description: Rôle inconnu
post:
|
464d0189
Geoffrey PREUD'HOMME
Sécurité
|
233
|
securedBy: [oauth_2_0]
|
377081e3
Geoffrey PREUD'HOMME
Rôles et permissions
|
234
235
236
237
238
239
240
241
242
243
244
245
246
|
description: Ajoute une permission à un rôle
queryParameters:
nom:
type: string
required: true
minLength: 3
responses:
201:
description: Permission ajouté avec succès
404:
description: Permission ou rôle inconnu
/{nomPermission}:
delete:
|
464d0189
Geoffrey PREUD'HOMME
Sécurité
|
247
|
securedBy: [oauth_2_0]
|
377081e3
Geoffrey PREUD'HOMME
Rôles et permissions
|
248
249
250
251
252
253
254
255
|
description: Enlève la permission du rôle
responses:
204:
description: Permission enlevée avec succès
404:
description: Permission ou rôle inconnu
/permission:
get:
|
464d0189
Geoffrey PREUD'HOMME
Sécurité
|
256
|
securedBy: [oauth_2_0]
|
377081e3
Geoffrey PREUD'HOMME
Rôles et permissions
|
257
258
259
260
261
262
263
264
265
266
267
268
269
270
|
description: Liste les permissions
responses:
200:
body:
application/json:
example: |
[
{
"nom": "CREER_EVENEMENT"
},
{
"nom": "SUPPRIMER_EVENEMENT"
}
]
|