POST /auth/login HTTP/1.1
Content-Type: application/json;charset=UTF-8
+Accept-Language: fr-fr
Host: localhost:8080
diff --git a/docs/index.html b/docs/index.html index 9e55671b..f2539345 100644 --- a/docs/index.html +++ b/docs/index.html @@ -522,7 +522,7 @@
POST /auth/login HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 64
+Accept-Language: fr-fr
Host: localhost:8080
{
@@ -727,7 +714,7 @@ 1.1 Login
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
-Set-Cookie: refresh_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LnVzZXJAdGVzdC5jb20iLCJ0eXAiOiJyZWZyZXNoIiwiaWF0IjoxNzY5NjgzNzgyLCJleHAiOjE3NzIyNzU3ODJ9.mioKx3NhbIoAQ6TQSZ2CaVYBUSJKzBc-0EJ9FubLCqQ; Path=/auth/refresh; Max-Age=2592000; Expires=Sat, 28 Feb 2026 10:49:42 GMT; Secure; HttpOnly; SameSite=Strict
+Set-Cookie: refresh_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LnVzZXJAdGVzdC5jb20iLCJ0eXAiOiJyZWZyZXNoIiwiaWF0IjoxNzcyMDE2MjgyLCJleHAiOjE3NzQ2MDgyODJ9.UtqrJwHjkvd981d6U124fynplGswBooLzsym8ep5h_o; Path=/auth/refresh; Max-Age=2592000; Expires=Fri, 27 Mar 2026 10:44:42 GMT; Secure; HttpOnly; SameSite=Strict
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
@@ -742,7 +729,7 @@ 1.1 Login
"firstName" : "Test",
"lastName" : "User",
"login" : "test.user@test.com",
- "token" : "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LnVzZXJAdGVzdC5jb20iLCJ0eXAiOiJhY2Nlc3MiLCJpYXQiOjE3Njk2ODM3ODIsImV4cCI6MTc2OTY4NDA4MiwiZmlyc3ROYW1lIjoiVGVzdCIsImxhc3ROYW1lIjoiVXNlciIsIm1haW5Sb2xlIjoiVVNFUiIsInBlcm1pc3Npb25zIjpbIlJPTEVfVVNFUiIsInVzZXI6cmVhZCJdfQ.Bo0b8vhglOPLHQr2i9EVwYn4TA3IHgu2yloJR9wZKqk",
+ "token" : "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LnVzZXJAdGVzdC5jb20iLCJ0eXAiOiJhY2Nlc3MiLCJpYXQiOjE3NzIwMTYyODIsImV4cCI6MTc3MjAxNjU4MiwiZmlyc3ROYW1lIjoiVGVzdCIsImxhc3ROYW1lIjoiVXNlciIsIm1haW5Sb2xlIjoiVVNFUiIsInBlcm1pc3Npb25zIjpbIlJPTEVfVVNFUiIsInVzZXI6cmVhZCJdfQ.5AGtrdSF7asf8LcH24jKv7sCYB92OgBkzBcaLGTSNKc",
"deleted" : false,
"mainRole" : "USER",
"permissions" : [ "ROLE_USER", "user:read" ]
@@ -768,6 +755,7 @@ 1.1.1.1 Missing Login
POST /auth/login HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 30
+Accept-Language: fr-fr
Host: localhost:8080
{
@@ -789,16 +777,16 @@ 1.1.1.1 Missing Login
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
-Content-Length: 203
+Content-Length: 207
{
+ "message" : "login: ne doit pas être vide",
+ "timestamp" : "2026-02-25T10:44:42.567098547",
+ "status" : 400,
+ "error" : "Bad Request",
"fieldErrors" : {
- "login" : "Login is required"
- },
- "error" : "Validation Failed",
- "message" : "login: Login is required",
- "timestamp" : "2026-01-29T10:49:41.955519581",
- "status" : 400
+ "login" : "ne doit pas être vide"
+ }
}
@@ -817,6 +805,7 @@ 1.1.1.2 Missing Password
POST /auth/login HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 36
+Accept-Language: fr-fr
Host: localhost:8080
{
@@ -838,16 +827,16 @@ 1.1.1.2 Missing Password
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
-Content-Length: 215
+Content-Length: 211
{
+ "message" : "password: ne doit pas être nul",
+ "timestamp" : "2026-02-25T10:44:43.217512294",
+ "status" : 400,
+ "error" : "Bad Request",
"fieldErrors" : {
- "password" : "Password is required"
- },
- "error" : "Validation Failed",
- "message" : "password: Password is required",
- "timestamp" : "2026-01-29T10:49:42.617489447",
- "status" : 400
+ "password" : "ne doit pas être nul"
+ }
}
@@ -866,6 +855,7 @@ 1.1.1.3 Invalid Email Format
POST /auth/login HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 66
+Accept-Language: fr-fr
Host: localhost:8080
{
@@ -888,16 +878,16 @@ 1.1.1.3 Invalid Email Format
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
-Content-Length: 237
+Content-Length: 283
{
+ "message" : "login: doit être une adresse électronique syntaxiquement correcte",
+ "timestamp" : "2026-02-25T10:44:42.022411371",
+ "status" : 400,
+ "error" : "Bad Request",
"fieldErrors" : {
- "login" : "Login must be a valid email format"
- },
- "error" : "Validation Failed",
- "message" : "login: Login must be a valid email format",
- "timestamp" : "2026-01-29T10:49:41.423192565",
- "status" : 400
+ "login" : "doit être une adresse électronique syntaxiquement correcte"
+ }
}
@@ -915,6 +905,7 @@ 1.1.1.4 Empty Body
POST /auth/login HTTP/1.1
Content-Type: application/json;charset=UTF-8
+Accept-Language: fr-fr
Host: localhost:8080
@@ -932,13 +923,13 @@ 1.1.1.4 Empty Body
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
-Content-Length: 152
+Content-Length: 339
{
+ "message" : "Required request body is missing: public org.springframework.http.ResponseEntity<ch.sectioninformatique.auth.user.UserDto> ch.sectioninformatique.auth.auth.AuthController.login(ch.sectioninformatique.auth.auth.CredentialsDto)",
+ "timestamp" : "2026-02-25T10:44:43.027886446",
"status" : 400,
- "error" : "Bad Request",
- "message" : "Malformed or missing JSON request body",
- "timestamp" : "2026-01-29T10:49:42.403085940"
+ "error" : "Bad Request"
}
@@ -957,6 +948,7 @@ POST /auth/login HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 53
+Accept-Language: fr-fr
Host: localhost:8080
{"login":"test.user@test.com", "password":"Test1234!"
@@ -976,13 +968,13 @@ POST /auth/login HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 57
+Accept-Language: fr-fr
Host: localhost:8080
{
@@ -1023,16 +1016,16 @@ 1.1.1.6 SQL Injection Attempt Logi
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
-Content-Length: 236
+Content-Length: 283
{
+ "message" : "login: doit être une adresse électronique syntaxiquement correcte",
+ "timestamp" : "2026-02-25T10:44:41.211724127",
+ "status" : 400,
+ "error" : "Bad Request",
"fieldErrors" : {
- "login" : "Login must be a valid email format"
- },
- "error" : "Validation Failed",
- "message" : "login: Login must be a valid email format",
- "timestamp" : "2026-01-29T10:49:40.51645219",
- "status" : 400
+ "login" : "doit être une adresse électronique syntaxiquement correcte"
+ }
}
@@ -1051,6 +1044,7 @@ POST /auth/login HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 66
+Accept-Language: fr-fr
Host: localhost:8080
{
@@ -1073,13 +1067,13 @@ 1.1.1.7 SQL Injection Attempt P
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
-Content-Length: 134
+Content-Length: 136
{
+ "message" : "Identifiants invalides",
+ "timestamp" : "2026-02-25T10:44:42.93704145",
"status" : 401,
- "error" : "Unauthorized",
- "message" : "Invalid credentials",
- "timestamp" : "2026-01-29T10:49:42.292292345"
+ "error" : "Unauthorized"
}
@@ -1104,6 +1098,7 @@ POST /auth/login HTTP/1.1
Content-Type: text/plain;charset=UTF-8
Content-Length: 64
+Accept-Language: fr-fr
Host: localhost:8080
{
@@ -1129,10 +1124,10 @@ 1.1.2.1 Wrong Media Type
Content-Length: 181
{
- "status" : 415,
- "error" : "Unsupported Media Type",
"message" : "Content-Type 'text/plain;charset=UTF-8' is not supported",
- "timestamp" : "2026-01-29T10:49:41.067528565"
+ "timestamp" : "2026-02-25T10:44:41.710247734",
+ "status" : 415,
+ "error" : "Unsupported Media Type"
}
@@ -1157,6 +1152,7 @@ POST /auth/login HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 69
+Accept-Language: fr-fr
Host: localhost:8080
{
@@ -1179,13 +1175,13 @@ 1.1.3.1 Wrong Password
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
-Content-Length: 134
+Content-Length: 136
{
+ "message" : "Identifiants invalides",
+ "timestamp" : "2026-02-25T10:44:42.32523129",
"status" : 401,
- "error" : "Unauthorized",
- "message" : "Invalid credentials",
- "timestamp" : "2026-01-29T10:49:41.731677079"
+ "error" : "Unauthorized"
}
@@ -1204,6 +1200,7 @@ POST /auth/login HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 72
+Accept-Language: fr-fr
Host: localhost:8080
{
@@ -1226,13 +1223,13 @@ 1.1.3.2 Non-Existent User
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
-Content-Length: 134
+Content-Length: 137
{
+ "message" : "Identifiants invalides",
+ "timestamp" : "2026-02-25T10:44:43.173660936",
"status" : 401,
- "error" : "Unauthorized",
- "message" : "Invalid credentials",
- "timestamp" : "2026-01-29T10:49:42.550107691"
+ "error" : "Unauthorized"
}
@@ -1253,6 +1250,7 @@ POST /auth/register HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 120
+Accept-Language: fr-fr
Host: localhost:8080
{
@@ -1271,7 +1269,7 @@ 1.2 Register
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Location: /auth/users/test.newuser@test.com
-Set-Cookie: refresh_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0Lm5ld3VzZXJAdGVzdC5jb20iLCJ0eXAiOiJyZWZyZXNoIiwiaWF0IjoxNzY5NjgzNzgzLCJleHAiOjE3NzIyNzU3ODN9.kahZ-jUzqvM-7oOkL-PRRT4dkrU8PglmN267DOgwKsY; Path=/auth/refresh; Max-Age=2592000; Expires=Sat, 28 Feb 2026 10:49:43 GMT; Secure; HttpOnly; SameSite=Strict
+Set-Cookie: refresh_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0Lm5ld3VzZXJAdGVzdC5jb20iLCJ0eXAiOiJyZWZyZXNoIiwiaWF0IjoxNzcyMDE2MjgzLCJleHAiOjE3NzQ2MDgyODN9.l7Ds-xkr94JYnJWuJhhH2lF_F0zVrJT7N3HPHDL2ZpA; Path=/auth/refresh; Max-Age=2592000; Expires=Fri, 27 Mar 2026 10:44:43 GMT; Secure; HttpOnly; SameSite=Strict
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
@@ -1286,7 +1284,7 @@ 1.2 Register
"firstName" : "Test",
"lastName" : "NewUser",
"login" : "test.newuser@test.com",
- "token" : "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0Lm5ld3VzZXJAdGVzdC5jb20iLCJ0eXAiOiJhY2Nlc3MiLCJpYXQiOjE3Njk2ODM3ODMsImV4cCI6MTc2OTY4NDA4MywiZmlyc3ROYW1lIjoiVGVzdCIsImxhc3ROYW1lIjoiTmV3VXNlciIsIm1haW5Sb2xlIjoiVVNFUiIsInBlcm1pc3Npb25zIjpbIlJPTEVfVVNFUiIsInVzZXI6cmVhZCJdfQ.j7i8IKZu5BGLvTLnfRs3tzMmVOjbmlYH-MId3PO_ers",
+ "token" : "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0Lm5ld3VzZXJAdGVzdC5jb20iLCJ0eXAiOiJhY2Nlc3MiLCJpYXQiOjE3NzIwMTYyODMsImV4cCI6MTc3MjAxNjU4MywiZmlyc3ROYW1lIjoiVGVzdCIsImxhc3ROYW1lIjoiTmV3VXNlciIsIm1haW5Sb2xlIjoiVVNFUiIsInBlcm1pc3Npb25zIjpbIlJPTEVfVVNFUiIsInVzZXI6cmVhZCJdfQ.Un-cjRoqcm4hIats3rjdkrRBByUWKV6mqaa-e9SoZ2A",
"deleted" : false,
"mainRole" : "USER",
"permissions" : [ "ROLE_USER", "user:read" ]
@@ -1312,6 +1310,7 @@ 1.2.1.1 Missing First Name
POST /auth/register HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 96
+Accept-Language: fr-fr
Host: localhost:8080
{
@@ -1335,16 +1334,16 @@ 1.2.1.1 Missing First Name
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
-Content-Length: 221
+Content-Length: 214
{
+ "message" : "firstName: ne doit pas être vide",
+ "timestamp" : "2026-02-25T10:44:41.15362169",
+ "status" : 400,
+ "error" : "Bad Request",
"fieldErrors" : {
- "firstName" : "First name is required"
- },
- "error" : "Validation Failed",
- "message" : "firstName: First name is required",
- "timestamp" : "2026-01-29T10:49:40.445428943",
- "status" : 400
+ "firstName" : "ne doit pas être vide"
+ }
}
@@ -1363,6 +1362,7 @@ 1.2.1.2 Missing Last Name
POST /auth/register HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 94
+Accept-Language: fr-fr
Host: localhost:8080
{
@@ -1386,16 +1386,16 @@ 1.2.1.2 Missing Last Name
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
-Content-Length: 217
+Content-Length: 242
{
+ "message" : "lastName: {validation.signup.lastName.required}",
+ "timestamp" : "2026-02-25T10:44:40.86597445",
+ "status" : 400,
+ "error" : "Bad Request",
"fieldErrors" : {
- "lastName" : "Last name is required"
- },
- "error" : "Validation Failed",
- "message" : "lastName: Last name is required",
- "timestamp" : "2026-01-29T10:49:40.117350696",
- "status" : 400
+ "lastName" : "{validation.signup.lastName.required}"
+ }
}
@@ -1414,6 +1414,7 @@ 1.2.1.3 Missing Login
POST /auth/register HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 83
+Accept-Language: fr-fr
Host: localhost:8080
{
@@ -1437,16 +1438,16 @@ 1.2.1.3 Missing Login
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
-Content-Length: 203
+Content-Length: 207
{
+ "message" : "login: ne doit pas être vide",
+ "timestamp" : "2026-02-25T10:44:42.195991088",
+ "status" : 400,
+ "error" : "Bad Request",
"fieldErrors" : {
- "login" : "Login is required"
- },
- "error" : "Validation Failed",
- "message" : "login: Login is required",
- "timestamp" : "2026-01-29T10:49:41.619613051",
- "status" : 400
+ "login" : "ne doit pas être vide"
+ }
}
@@ -1465,6 +1466,7 @@ 1.2.1.4 Missing Password
POST /auth/register HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 89
+Accept-Language: fr-fr
Host: localhost:8080
{
@@ -1488,16 +1490,16 @@ 1.2.1.4 Missing Password
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
-Content-Length: 215
+Content-Length: 211
{
+ "message" : "password: ne doit pas être nul",
+ "timestamp" : "2026-02-25T10:44:41.970297385",
+ "status" : 400,
+ "error" : "Bad Request",
"fieldErrors" : {
- "password" : "Password is required"
- },
- "error" : "Validation Failed",
- "message" : "password: Password is required",
- "timestamp" : "2026-01-29T10:49:41.366677649",
- "status" : 400
+ "password" : "ne doit pas être nul"
+ }
}
@@ -1516,6 +1518,7 @@ 1.2.1.5 Invalid Email Format
POST /auth/register HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 119
+Accept-Language: fr-fr
Host: localhost:8080
{
@@ -1540,16 +1543,16 @@ 1.2.1.5 Invalid Email Format
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
-Content-Length: 221
+Content-Length: 283
{
+ "message" : "login: doit être une adresse électronique syntaxiquement correcte",
+ "timestamp" : "2026-02-25T10:44:43.741672037",
+ "status" : 400,
+ "error" : "Bad Request",
"fieldErrors" : {
- "login" : "Login must be a valid email"
- },
- "error" : "Validation Failed",
- "message" : "login: Login must be a valid email",
- "timestamp" : "2026-01-29T10:49:43.2095171",
- "status" : 400
+ "login" : "doit être une adresse électronique syntaxiquement correcte"
+ }
}
@@ -1567,6 +1570,7 @@ 1.2.1.6 Empty Body
POST /auth/register HTTP/1.1
Content-Type: application/json;charset=UTF-8
+Accept-Language: fr-fr
Host: localhost:8080
@@ -1584,13 +1588,13 @@ 1.2.1.6 Empty Body
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
-Content-Length: 152
+Content-Length: 337
{
+ "message" : "Required request body is missing: public org.springframework.http.ResponseEntity<ch.sectioninformatique.auth.user.UserDto> ch.sectioninformatique.auth.auth.AuthController.register(ch.sectioninformatique.auth.auth.SignUpDto)",
+ "timestamp" : "2026-02-25T10:44:43.696812538",
"status" : 400,
- "error" : "Bad Request",
- "message" : "Malformed or missing JSON request body",
- "timestamp" : "2026-01-29T10:49:43.150281518"
+ "error" : "Bad Request"
}
@@ -1609,6 +1613,7 @@ POST /auth/register HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 98
+Accept-Language: fr-fr
Host: localhost:8080
{"firstName":"Test", "lastName":"User", "login":"test.newuser@test.com", "password":"testPassword"
@@ -1628,13 +1633,13 @@ POST /auth/register HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 124
+Accept-Language: fr-fr
Host: localhost:8080
{
@@ -1677,16 +1683,16 @@ 1.2.1.8 SQL Injection Attempt
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
-Content-Length: 365
+Content-Length: 285
{
+ "message" : "firstName: doit correspondre à \"^[\\p{L}][\\p{L} '\\-]*[\\p{L}]$\"",
+ "timestamp" : "2026-02-25T10:44:42.824029173",
+ "status" : 400,
+ "error" : "Bad Request",
"fieldErrors" : {
- "firstName" : "First name contains invalid characters (only letters, spaces, hyphens and apostrophes allowed)"
- },
- "error" : "Validation Failed",
- "message" : "firstName: First name contains invalid characters (only letters, spaces, hyphens and apostrophes allowed)",
- "timestamp" : "2026-01-29T10:49:42.178614802",
- "status" : 400
+ "firstName" : "doit correspondre à \"^[\\p{L}][\\p{L} '\\-]*[\\p{L}]$\""
+ }
}
@@ -1705,6 +1711,7 @@ POST /auth/register HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 124
+Accept-Language: fr-fr
Host: localhost:8080
{
@@ -1729,16 +1736,16 @@ 1.2.1.9 SQL Injection Attempt
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
-Content-Length: 361
+Content-Length: 283
{
+ "message" : "lastName: doit correspondre à \"^[\\p{L}][\\p{L} '\\-]*[\\p{L}]$\"",
+ "timestamp" : "2026-02-25T10:44:43.791725449",
+ "status" : 400,
+ "error" : "Bad Request",
"fieldErrors" : {
- "lastName" : "Last name contains invalid characters (only letters, spaces, hyphens and apostrophes allowed)"
- },
- "error" : "Validation Failed",
- "message" : "lastName: Last name contains invalid characters (only letters, spaces, hyphens and apostrophes allowed)",
- "timestamp" : "2026-01-29T10:49:43.264415675",
- "status" : 400
+ "lastName" : "doit correspondre à \"^[\\p{L}][\\p{L} '\\-]*[\\p{L}]$\""
+ }
}
@@ -1757,6 +1764,7 @@ POST /auth/register HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 107
+Accept-Language: fr-fr
Host: localhost:8080
{
@@ -1781,16 +1789,16 @@ 1.2.1.10 SQL Injection Attempt Lo
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
-Content-Length: 222
+Content-Length: 283
{
+ "message" : "login: doit être une adresse électronique syntaxiquement correcte",
+ "timestamp" : "2026-02-25T10:44:41.354523765",
+ "status" : 400,
+ "error" : "Bad Request",
"fieldErrors" : {
- "login" : "Login must be a valid email"
- },
- "error" : "Validation Failed",
- "message" : "login: Login must be a valid email",
- "timestamp" : "2026-01-29T10:49:40.66584231",
- "status" : 400
+ "login" : "doit être une adresse électronique syntaxiquement correcte"
+ }
}
@@ -1815,6 +1823,7 @@ POST /auth/register HTTP/1.1
Content-Type: text/plain;charset=UTF-8
Content-Length: 120
+Accept-Language: fr-fr
Host: localhost:8080
{
@@ -1842,10 +1851,10 @@ 1.2.2.1 Wrong Media Type
Content-Length: 181
{
- "status" : 415,
- "error" : "Unsupported Media Type",
"message" : "Content-Type 'text/plain;charset=UTF-8' is not supported",
- "timestamp" : "2026-01-29T10:49:41.310642586"
+ "timestamp" : "2026-02-25T10:44:41.917692169",
+ "status" : 415,
+ "error" : "Unsupported Media Type"
}
@@ -1870,6 +1879,7 @@ POST /auth/register HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 111
+Accept-Language: fr-fr
Host: localhost:8080
{
@@ -1894,13 +1904,13 @@ 1.2.3.1 Duplicate Login
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
-Content-Length: 150
+Content-Length: 158
{
+ "message" : "L'utilisateur existe déjà: test.user@test.com",
+ "timestamp" : "2026-02-25T10:44:41.764144785",
"status" : 409,
- "error" : "Conflict",
- "message" : "User already exists: test.user@test.com",
- "timestamp" : "2026-01-29T10:49:41.124048632"
+ "error" : "Conflict"
}
@@ -1920,8 +1930,9 @@ POST /auth/refresh HTTP/1.1
Content-Type: application/json;charset=UTF-8
+Accept-Language: fr-fr
Host: localhost:8080
-Cookie: refresh_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LnVzZXJAdGVzdC5jb20iLCJ0eXAiOiJyZWZyZXNoIiwiaWF0IjoxNzY5NjgzNzgxLCJleHAiOjE3NzIyNzU3ODF9.mkvb7pq3DEhbkX7kRnJfJnpbN44SqHVgEVKaReELmQQ
+Cookie: refresh_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LnVzZXJAdGVzdC5jb20iLCJ0eXAiOiJyZWZyZXNoIiwiaWF0IjoxNzcyMDE2MjgxLCJleHAiOjE3NzQ2MDgyODF9.UW6znwr7GfXxq0YCng8A7-7d_PJQYj4wUWS-aKY0D2o
GET /auth/refresh HTTP/1.1
Content-Type: application/json;charset=UTF-8
+Accept-Language: fr-fr
Host: localhost:8080
GET /auth/refresh HTTP/1.1
Content-Type: application/json;charset=UTF-8
+Accept-Language: fr-fr
Host: localhost:8080
GET /auth/refresh HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer this.is.not.a.valid.token
+Accept-Language: fr-fr
Host: localhost:8080
@@ -2058,11 +2072,11 @@ GET /auth/refresh HTTP/1.1
Content-Type: application/json;charset=UTF-8
+Accept-Language: fr-fr
Host: localhost:8080
POST /auth/logout HTTP/1.1
Content-Type: application/json;charset=UTF-8
-Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LnVzZXJAdGVzdC5jb20iLCJ0eXAiOiJhY2Nlc3MiLCJpYXQiOjE3Njk2ODM3ODAsImV4cCI6MTc2OTY4NDA4MCwiZmlyc3ROYW1lIjoiVGVzdCIsImxhc3ROYW1lIjoiVXNlciIsIm1haW5Sb2xlIjoiVVNFUiIsInBlcm1pc3Npb25zIjpbIlJPTEVfVVNFUiIsInVzZXI6cmVhZCJdfQ.5N6FLRj-MxpiJoHqkX3llIyaYrvvgncTxXDQA0dMby4
+Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LnVzZXJAdGVzdC5jb20iLCJ0eXAiOiJhY2Nlc3MiLCJpYXQiOjE3NzIwMTYyODEsImV4cCI6MTc3MjAxNjU4MSwiZmlyc3ROYW1lIjoiVGVzdCIsImxhc3ROYW1lIjoiVXNlciIsIm1haW5Sb2xlIjoiVVNFUiIsInBlcm1pc3Npb25zIjpbIlJPTEVfVVNFUiIsInVzZXI6cmVhZCJdfQ.A7_12_xLBuTIbvCQ5dmWRg4vLQ_ehHWrQ7cNyuBTx44
+Accept-Language: fr-fr
Host: localhost:8080
POST /auth/logout HTTP/1.1
Content-Type: application/json;charset=UTF-8
+Accept-Language: fr-fr
Host: localhost:8080
POST /auth/logout HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer this.is.not.a.valid.token
+Accept-Language: fr-fr
Host: localhost:8080
@@ -2226,11 +2244,11 @@ POST /auth/logout HTTP/1.1
Content-Type: application/json;charset=UTF-8
-Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LnVzZXJAdGVzdC5jb20iLCJ0eXAiOiJhY2Nlc3MiLCJpYXQiOjE3Njk2NzY1ODIsImV4cCI6MTc2OTY3Njg4MiwiZmlyc3ROYW1lIjoiVGVzdCIsImxhc3ROYW1lIjoiVXNlciIsIm1haW5Sb2xlIjoiVVNFUiIsInBlcm1pc3Npb25zIjpbIlJPTEVfVVNFUiIsInVzZXI6cmVhZCJdfQ.lTt_6DLiHAF4mBVXTeD7iUEiyc2zPpURNTc4-RKxBmk
+Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LnVzZXJAdGVzdC5jb20iLCJ0eXAiOiJhY2Nlc3MiLCJpYXQiOjE3NzIwMDkwODMsImV4cCI6MTc3MjAwOTM4MywiZmlyc3ROYW1lIjoiVGVzdCIsImxhc3ROYW1lIjoiVXNlciIsIm1haW5Sb2xlIjoiVVNFUiIsInBlcm1pc3Npb25zIjpbIlJPTEVfVVNFUiIsInVzZXI6cmVhZCJdfQ.6CqYu5boOudzSMYprWlMb7cbMm4I2ENsjuBjJWXOwbY
+Accept-Language: fr-fr
Host: localhost:8080
This is an example output for the PUT /auth/update-password endpoint.
PUT /auth/update-password HTTP/1.1
Content-Type: application/json;charset=UTF-8
-Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LnVzZXJAdGVzdC5jb20iLCJ0eXAiOiJhY2Nlc3MiLCJpYXQiOjE3Njk2ODM3ODIsImV4cCI6MTc2OTY4NDA4MiwiZmlyc3ROYW1lIjoiVGVzdCIsImxhc3ROYW1lIjoiVXNlciIsIm1haW5Sb2xlIjoiVVNFUiIsInBlcm1pc3Npb25zIjpbIlJPTEVfVVNFUiIsInVzZXI6cmVhZCJdfQ.Bo0b8vhglOPLHQr2i9EVwYn4TA3IHgu2yloJR9wZKqk
+Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LnVzZXJAdGVzdC5jb20iLCJ0eXAiOiJhY2Nlc3MiLCJpYXQiOjE3NzIwMTYyODMsImV4cCI6MTc3MjAxNjU4MywiZmlyc3ROYW1lIjoiVGVzdCIsImxhc3ROYW1lIjoiVXNlciIsIm1haW5Sb2xlIjoiVVNFUiIsInBlcm1pc3Npb25zIjpbIlJPTEVfVVNFUiIsInVzZXI6cmVhZCJdfQ.DNeKm8L06NRLmzQK7zcE_TMU6NCl1RFaqRKs6xI-6rM
Content-Length: 70
+Accept-Language: fr-fr
Host: localhost:8080
{
@@ -2314,15 +2334,15 @@ 1.5 Set Password
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
-Content-Length: 49
+Content-Length: 57
{
- "message" : "Password updated successfully"
+ "message" : "Mot de passe mis à jour avec succès"
}
It sets a password for a user account using a token.
+It updates the password for the authenticated user.
PUT /auth/update-password HTTP/1.1
Content-Type: application/json;charset=UTF-8
-Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LnVzZXJAdGVzdC5jb20iLCJ0eXAiOiJhY2Nlc3MiLCJpYXQiOjE3Njk2ODM3ODAsImV4cCI6MTc2OTY4NDA4MCwiZmlyc3ROYW1lIjoiVGVzdCIsImxhc3ROYW1lIjoiVXNlciIsIm1haW5Sb2xlIjoiVVNFUiIsInBlcm1pc3Npb25zIjpbIlJPTEVfVVNFUiIsInVzZXI6cmVhZCJdfQ.5N6FLRj-MxpiJoHqkX3llIyaYrvvgncTxXDQA0dMby4
+Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LnVzZXJAdGVzdC5jb20iLCJ0eXAiOiJhY2Nlc3MiLCJpYXQiOjE3NzIwMTYyODEsImV4cCI6MTc3MjAxNjU4MSwiZmlyc3ROYW1lIjoiVGVzdCIsImxhc3ROYW1lIjoiVXNlciIsIm1haW5Sb2xlIjoiVVNFUiIsInBlcm1pc3Npb25zIjpbIlJPTEVfVVNFUiIsInVzZXI6cmVhZCJdfQ.A7_12_xLBuTIbvCQ5dmWRg4vLQ_ehHWrQ7cNyuBTx44
+Accept-Language: fr-fr
Host: localhost:8080
PUT /auth/update-password HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 70
+Accept-Language: fr-fr
Host: localhost:8080
{
@@ -2410,153 +2432,10 @@ 1.5.2.1 Missing Token
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
-Content-Length: 75
-
-{
- "message" : "Full authentication is required to access this resource"
-}
-
-
-It returns a 401 Unauthorized error indicating that full authentication is required.
-This is an example output for the PUT /auth/update-password endpoint.
PUT /auth/update-password HTTP/1.1
-Content-Type: application/json;charset=UTF-8
-Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LnVzZXJAdGVzdC5jb20iLCJ0eXAiOiJhY2Nlc3MiLCJpYXQiOjE3Njk2ODM3ODIsImV4cCI6MTc2OTY4NDA4MiwiZmlyc3ROYW1lIjoiVGVzdCIsImxhc3ROYW1lIjoiVXNlciIsIm1haW5Sb2xlIjoiVVNFUiIsInBlcm1pc3Npb25zIjpbIlJPTEVfVVNFUiIsInVzZXI6cmVhZCJdfQ.Bo0b8vhglOPLHQr2i9EVwYn4TA3IHgu2yloJR9wZKqk
-Content-Length: 70
-Host: localhost:8080
-
-{
- "oldPassword" : "Test1234!",
- "newPassword" : "TestNewPassword"
-}
-HTTP/1.1 200 OK
-Vary: Origin
-Vary: Access-Control-Request-Method
-Vary: Access-Control-Request-Headers
-Content-Type: application/json
-X-Content-Type-Options: nosniff
-X-XSS-Protection: 0
-Cache-Control: no-cache, no-store, max-age=0, must-revalidate
-Pragma: no-cache
-Expires: 0
-X-Frame-Options: DENY
-Content-Length: 49
-
-{
- "message" : "Password updated successfully"
-}
-It sets a new password for the authenticated user.
-These are example outputs for the PUT /auth/update-password endpoint for bad request.
This is an example output when the request body is missing.
-PUT /auth/update-password HTTP/1.1
-Content-Type: application/json;charset=UTF-8
-Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LnVzZXJAdGVzdC5jb20iLCJ0eXAiOiJhY2Nlc3MiLCJpYXQiOjE3Njk2ODM3ODAsImV4cCI6MTc2OTY4NDA4MCwiZmlyc3ROYW1lIjoiVGVzdCIsImxhc3ROYW1lIjoiVXNlciIsIm1haW5Sb2xlIjoiVVNFUiIsInBlcm1pc3Npb25zIjpbIlJPTEVfVVNFUiIsInVzZXI6cmVhZCJdfQ.5N6FLRj-MxpiJoHqkX3llIyaYrvvgncTxXDQA0dMby4
-Host: localhost:8080
-HTTP/1.1 400 Bad Request
-Vary: Origin
-Vary: Access-Control-Request-Method
-Vary: Access-Control-Request-Headers
-Content-Type: application/json
-X-Content-Type-Options: nosniff
-X-XSS-Protection: 0
-Cache-Control: no-cache, no-store, max-age=0, must-revalidate
-Pragma: no-cache
-Expires: 0
-X-Frame-Options: DENY
-Content-Length: 152
-
-{
- "status" : 400,
- "error" : "Bad Request",
- "message" : "Malformed or missing JSON request body",
- "timestamp" : "2026-01-29T10:49:40.797899793"
-}
-It returns a 400 Bad Request error indicating that the request body is missing.
-These are example outputs for the PUT /auth/update-password endpoint for unauthorized access.
This is an example output when the request token is missing.
-PUT /auth/update-password HTTP/1.1
-Content-Type: application/json;charset=UTF-8
-Content-Length: 70
-Host: localhost:8080
-
-{
- "oldPassword" : "Test1234!",
- "newPassword" : "TestNewPassword"
-}
-HTTP/1.1 401 Unauthorized
-Vary: Origin
-Vary: Access-Control-Request-Method
-Vary: Access-Control-Request-Headers
-Content-Type: application/json
-X-Content-Type-Options: nosniff
-X-XSS-Protection: 0
-Cache-Control: no-cache, no-store, max-age=0, must-revalidate
-Pragma: no-cache
-Expires: 0
-X-Frame-Options: DENY
-Content-Length: 75
+Content-Length: 66
{
- "message" : "Full authentication is required to access this resource"
+ "message" : "Jeton d''authentification invalide ou manquant"
}
GET /users/me HTTP/1.1
Content-Type: application/json;charset=UTF-8
-Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LnVzZXJAdGVzdC5jb20iLCJ0eXAiOiJhY2Nlc3MiLCJpYXQiOjE3Njk2ODM3OTIsImV4cCI6MTc2OTY4NDA5MiwiZmlyc3ROYW1lIjoiVGVzdCIsImxhc3ROYW1lIjoiVXNlciIsIm1haW5Sb2xlIjoiVVNFUiIsInBlcm1pc3Npb25zIjpbIlJPTEVfVVNFUiIsInVzZXI6cmVhZCJdfQ.ZCpoDDNnCa-Sk-V_GvHw4KSsdRT3BDduAppb6OfJ4cg
+Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LnVzZXJAdGVzdC5jb20iLCJ0eXAiOiJhY2Nlc3MiLCJpYXQiOjE3NzIwMTYyOTYsImV4cCI6MTc3MjAxNjU5NiwiZmlyc3ROYW1lIjoiVGVzdCIsImxhc3ROYW1lIjoiVXNlciIsIm1haW5Sb2xlIjoiVVNFUiIsInBlcm1pc3Npb25zIjpbIlJPTEVfVVNFUiIsInVzZXI6cmVhZCJdfQ.yU6Bk5rTJZY4Nw5FBAMsnBf57RvxZVjbC3461c1-IGc
+Accept-Language: fr-fr
Host: localhost:8080
GET /users/me HTTP/1.1
Content-Type: application/json;charset=UTF-8
+Accept-Language: fr-fr
Host: localhost:8080
GET /users/me HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer this.is.not.a.valid.token
+Accept-Language: fr-fr
Host: localhost:8080
@@ -2687,11 +2569,11 @@ GET /users/me HTTP/1.1
Content-Type: application/json;charset=UTF-8
-Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LnVzZXJAdGVzdC5jb20iLCJ0eXAiOiJhY2Nlc3MiLCJpYXQiOjE3Njk2NzY1OTEsImV4cCI6MTc2OTY3Njg5MSwiZmlyc3ROYW1lIjoiVGVzdCIsImxhc3ROYW1lIjoiVXNlciIsIm1haW5Sb2xlIjoiVVNFUiIsInBlcm1pc3Npb25zIjpbIlJPTEVfVVNFUiIsInVzZXI6cmVhZCJdfQ.PqLJed9PXLajVfm80MdNoX4fBXg5ACPbAd_afKwyTaQ
+Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LnVzZXJAdGVzdC5jb20iLCJ0eXAiOiJhY2Nlc3MiLCJpYXQiOjE3NzIwMDkwOTUsImV4cCI6MTc3MjAwOTM5NSwiZmlyc3ROYW1lIjoiVGVzdCIsImxhc3ROYW1lIjoiVXNlciIsIm1haW5Sb2xlIjoiVVNFUiIsInBlcm1pc3Npb25zIjpbIlJPTEVfVVNFUiIsInVzZXI6cmVhZCJdfQ.wFRtvRHQQX7lJONslrx4e8q_7HnNwrRbHJsaJhseJdg
+Accept-Language: fr-fr
Host: localhost:8080
GET /users/all HTTP/1.1
Content-Type: application/json;charset=UTF-8
-Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LnVzZXJAdGVzdC5jb20iLCJ0eXAiOiJhY2Nlc3MiLCJpYXQiOjE3Njk2ODM3OTMsImV4cCI6MTc2OTY4NDA5MywiZmlyc3ROYW1lIjoiVGVzdCIsImxhc3ROYW1lIjoiVXNlciIsIm1haW5Sb2xlIjoiVVNFUiIsInBlcm1pc3Npb25zIjpbIlJPTEVfVVNFUiIsInVzZXI6cmVhZCJdfQ.FkO--RsRSJjLL4t8DUbz8IapuPNQ_IGcDzZasB-cDG4
+Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LnVzZXJAdGVzdC5jb20iLCJ0eXAiOiJhY2Nlc3MiLCJpYXQiOjE3NzIwMTYyOTcsImV4cCI6MTc3MjAxNjU5NywiZmlyc3ROYW1lIjoiVGVzdCIsImxhc3ROYW1lIjoiVXNlciIsIm1haW5Sb2xlIjoiVVNFUiIsInBlcm1pc3Npb25zIjpbIlJPTEVfVVNFUiIsInVzZXI6cmVhZCJdfQ.6XjrUnM--H3TY69kOPnTJbzVqgpfjpblY38VT_Ber_s
+Accept-Language: fr-fr
Host: localhost:8080
GET /users/all HTTP/1.1
Content-Type: application/json;charset=UTF-8
+Accept-Language: fr-fr
Host: localhost:8080
GET /users/all HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer this.is.not.a.valid.token
+Accept-Language: fr-fr
Host: localhost:8080
@@ -2881,11 +2767,11 @@ GET /users/all HTTP/1.1
Content-Type: application/json;charset=UTF-8
-Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LnVzZXJAdGVzdC5jb20iLCJ0eXAiOiJhY2Nlc3MiLCJpYXQiOjE3Njk2NzY1OTEsImV4cCI6MTc2OTY3Njg5MSwiZmlyc3ROYW1lIjoiVGVzdCIsImxhc3ROYW1lIjoiVXNlciIsIm1haW5Sb2xlIjoiVVNFUiIsInBlcm1pc3Npb25zIjpbIlJPTEVfVVNFUiIsInVzZXI6cmVhZCJdfQ.PqLJed9PXLajVfm80MdNoX4fBXg5ACPbAd_afKwyTaQ
+Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LnVzZXJAdGVzdC5jb20iLCJ0eXAiOiJhY2Nlc3MiLCJpYXQiOjE3NzIwMDkwOTYsImV4cCI6MTc3MjAwOTM5NiwiZmlyc3ROYW1lIjoiVGVzdCIsImxhc3ROYW1lIjoiVXNlciIsIm1haW5Sb2xlIjoiVVNFUiIsInBlcm1pc3Npb25zIjpbIlJPTEVfVVNFUiIsInVzZXI6cmVhZCJdfQ.cwzGBitqsqgkLYPFwg2K5Xh1IscPMPqEPxUgr02mm04
+Accept-Language: fr-fr
Host: localhost:8080
GET /users/all-with-deleted HTTP/1.1
Content-Type: application/json;charset=UTF-8
-Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LmFkbWluQHRlc3QuY29tIiwidHlwIjoiYWNjZXNzIiwiaWF0IjoxNzY5NjgzNzkzLCJleHAiOjE3Njk2ODQwOTMsImZpcnN0TmFtZSI6IlRlc3QiLCJsYXN0TmFtZSI6IkFkbWluIiwibWFpblJvbGUiOiJBRE1JTiIsInBlcm1pc3Npb25zIjpbInVzZXI6ZGVsZXRlIiwidXNlcjpyZWFkIiwidXNlcjp3cml0ZSIsInVzZXI6dXBkYXRlIiwiUk9MRV9BRE1JTiJdfQ.NGkozMagAfxoIFExlWjiNaCKP1qAPUlEFj8fmlPjY8Y
+Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LmFkbWluQHRlc3QuY29tIiwidHlwIjoiYWNjZXNzIiwiaWF0IjoxNzcyMDE2Mjk3LCJleHAiOjE3NzIwMTY1OTcsImZpcnN0TmFtZSI6IlRlc3QiLCJsYXN0TmFtZSI6IkFkbWluIiwibWFpblJvbGUiOiJBRE1JTiIsInBlcm1pc3Npb25zIjpbInVzZXI6ZGVsZXRlIiwidXNlcjpyZWFkIiwidXNlcjp3cml0ZSIsInVzZXI6dXBkYXRlIiwiUk9MRV9BRE1JTiJdfQ.hAGhO5SjEIs-btbbf_WFDNOgY6v2NkCZD8T8vTidM4U
+Accept-Language: fr-fr
Host: localhost:8080
GET /users/deleted HTTP/1.1
Content-Type: application/json;charset=UTF-8
-Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LmFkbWluQHRlc3QuY29tIiwidHlwIjoiYWNjZXNzIiwiaWF0IjoxNzY5NjgzNzkxLCJleHAiOjE3Njk2ODQwOTEsImZpcnN0TmFtZSI6IlRlc3QiLCJsYXN0TmFtZSI6IkFkbWluIiwibWFpblJvbGUiOiJBRE1JTiIsInBlcm1pc3Npb25zIjpbInVzZXI6ZGVsZXRlIiwidXNlcjpyZWFkIiwidXNlcjp3cml0ZSIsInVzZXI6dXBkYXRlIiwiUk9MRV9BRE1JTiJdfQ.XROd5lhqRCqXHv1WSupoawFuD1Na0-cz9-1-OfMmLzw
+Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LmFkbWluQHRlc3QuY29tIiwidHlwIjoiYWNjZXNzIiwiaWF0IjoxNzcyMDE2Mjk1LCJleHAiOjE3NzIwMTY1OTUsImZpcnN0TmFtZSI6IlRlc3QiLCJsYXN0TmFtZSI6IkFkbWluIiwibWFpblJvbGUiOiJBRE1JTiIsInBlcm1pc3Npb25zIjpbInVzZXI6ZGVsZXRlIiwidXNlcjpyZWFkIiwidXNlcjp3cml0ZSIsInVzZXI6dXBkYXRlIiwiUk9MRV9BRE1JTiJdfQ.J5OgTmZEJgl5CaI9O0DOTHqhqI_6HvVLzhX71MUOkzM
+Accept-Language: fr-fr
Host: localhost:8080
PUT /users/1/promote-manager HTTP/1.1
Content-Type: application/json;charset=UTF-8
-Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LmFkbWluQHRlc3QuY29tIiwidHlwIjoiYWNjZXNzIiwiaWF0IjoxNzY5NjgzNzkyLCJleHAiOjE3Njk2ODQwOTIsImZpcnN0TmFtZSI6IlRlc3QiLCJsYXN0TmFtZSI6IkFkbWluIiwibWFpblJvbGUiOiJBRE1JTiIsInBlcm1pc3Npb25zIjpbInVzZXI6ZGVsZXRlIiwidXNlcjpyZWFkIiwidXNlcjp3cml0ZSIsInVzZXI6dXBkYXRlIiwiUk9MRV9BRE1JTiJdfQ.aJlUYY4QpoC39zt6PFmLl5p7dpmENM0cjeejr-JeZXg
+Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LmFkbWluQHRlc3QuY29tIiwidHlwIjoiYWNjZXNzIiwiaWF0IjoxNzcyMDE2Mjk2LCJleHAiOjE3NzIwMTY1OTYsImZpcnN0TmFtZSI6IlRlc3QiLCJsYXN0TmFtZSI6IkFkbWluIiwibWFpblJvbGUiOiJBRE1JTiIsInBlcm1pc3Npb25zIjpbInVzZXI6ZGVsZXRlIiwidXNlcjpyZWFkIiwidXNlcjp3cml0ZSIsInVzZXI6dXBkYXRlIiwiUk9MRV9BRE1JTiJdfQ.vnY8yl-QWnchspXCm9FnMvsOacrzgLDDDhnnEzOdZZg
+Accept-Language: fr-fr
Host: localhost:8080
These are example outputs for the PUT /users/{userId}/promote-manager endpoint for unauthorized access.
This is an example output when the Authorization header is missing in the request.
PUT /users/1/promote-manager HTTP/1.1
Content-Type: application/json;charset=UTF-8
+Accept-Language: fr-fr
Host: localhost:8080
This is an example output when the token provided is malformed.
PUT /users/1/promote-manager HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer this.is.not.a.valid.token
+Accept-Language: fr-fr
Host: localhost:8080
These are example outputs for the PUT /users/{userId}/promote-manager endpoint for forbidden access.
This is an example output when a non-admin user attempts to promote a user to manager.
PUT /users/1/promote-manager HTTP/1.1
Content-Type: application/json;charset=UTF-8
-Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LnVzZXJAdGVzdC5jb20iLCJ0eXAiOiJhY2Nlc3MiLCJpYXQiOjE3Njk2ODM3OTMsImV4cCI6MTc2OTY4NDA5MywiZmlyc3ROYW1lIjoiVGVzdCIsImxhc3ROYW1lIjoiVXNlciIsIm1haW5Sb2xlIjoiVVNFUiIsInBlcm1pc3Npb25zIjpbIlJPTEVfVVNFUiIsInVzZXI6cmVhZCJdfQ.FkO--RsRSJjLL4t8DUbz8IapuPNQ_IGcDzZasB-cDG4
+Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LnVzZXJAdGVzdC5jb20iLCJ0eXAiOiJhY2Nlc3MiLCJpYXQiOjE3NzIwMTYyOTcsImV4cCI6MTc3MjAxNjU5NywiZmlyc3ROYW1lIjoiVGVzdCIsImxhc3ROYW1lIjoiVXNlciIsIm1haW5Sb2xlIjoiVVNFUiIsInBlcm1pc3Npb25zIjpbIlJPTEVfVVNFUiIsInVzZXI6cmVhZCJdfQ.6XjrUnM--H3TY69kOPnTJbzVqgpfjpblY38VT_Ber_s
+Accept-Language: fr-fr
Host: localhost:8080
These are example outputs for the PUT /users/{userId}/promote-manager endpoint for not found errors.
This is an example output when the user to be promoted is not found.
PUT /users/9999/promote-manager HTTP/1.1
Content-Type: application/json;charset=UTF-8
-Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LmFkbWluQHRlc3QuY29tIiwidHlwIjoiYWNjZXNzIiwiaWF0IjoxNzY5NjgzNzkzLCJleHAiOjE3Njk2ODQwOTMsImZpcnN0TmFtZSI6IlRlc3QiLCJsYXN0TmFtZSI6IkFkbWluIiwibWFpblJvbGUiOiJBRE1JTiIsInBlcm1pc3Npb25zIjpbInVzZXI6ZGVsZXRlIiwidXNlcjpyZWFkIiwidXNlcjp3cml0ZSIsInVzZXI6dXBkYXRlIiwiUk9MRV9BRE1JTiJdfQ.NGkozMagAfxoIFExlWjiNaCKP1qAPUlEFj8fmlPjY8Y
+Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LmFkbWluQHRlc3QuY29tIiwidHlwIjoiYWNjZXNzIiwiaWF0IjoxNzcyMDE2Mjk3LCJleHAiOjE3NzIwMTY1OTcsImZpcnN0TmFtZSI6IlRlc3QiLCJsYXN0TmFtZSI6IkFkbWluIiwibWFpblJvbGUiOiJBRE1JTiIsInBlcm1pc3Npb25zIjpbInVzZXI6ZGVsZXRlIiwidXNlcjpyZWFkIiwidXNlcjp3cml0ZSIsInVzZXI6dXBkYXRlIiwiUk9MRV9BRE1JTiJdfQ.hAGhO5SjEIs-btbbf_WFDNOgY6v2NkCZD8T8vTidM4U
+Accept-Language: fr-fr
Host: localhost:8080
These are example outputs for the PUT /users/{userId}/promote-manager endpoint for conflict errors.
This is an example output when the user to be promoted is already a manager.
PUT /users/2/promote-manager HTTP/1.1
Content-Type: application/json;charset=UTF-8
-Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LmFkbWluQHRlc3QuY29tIiwidHlwIjoiYWNjZXNzIiwiaWF0IjoxNzY5NjgzNzkyLCJleHAiOjE3Njk2ODQwOTIsImZpcnN0TmFtZSI6IlRlc3QiLCJsYXN0TmFtZSI6IkFkbWluIiwibWFpblJvbGUiOiJBRE1JTiIsInBlcm1pc3Npb25zIjpbInVzZXI6ZGVsZXRlIiwidXNlcjpyZWFkIiwidXNlcjp3cml0ZSIsInVzZXI6dXBkYXRlIiwiUk9MRV9BRE1JTiJdfQ.aJlUYY4QpoC39zt6PFmLl5p7dpmENM0cjeejr-JeZXg
+Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LmFkbWluQHRlc3QuY29tIiwidHlwIjoiYWNjZXNzIiwiaWF0IjoxNzcyMDE2Mjk2LCJleHAiOjE3NzIwMTY1OTYsImZpcnN0TmFtZSI6IlRlc3QiLCJsYXN0TmFtZSI6IkFkbWluIiwibWFpblJvbGUiOiJBRE1JTiIsInBlcm1pc3Npb25zIjpbInVzZXI6ZGVsZXRlIiwidXNlcjpyZWFkIiwidXNlcjp3cml0ZSIsInVzZXI6dXBkYXRlIiwiUk9MRV9BRE1JTiJdfQ.vnY8yl-QWnchspXCm9FnMvsOacrzgLDDDhnnEzOdZZg
+Accept-Language: fr-fr
Host: localhost:8080
This is an example output when the user to be promoted is already an admin.
PUT /users/3/promote-manager HTTP/1.1
Content-Type: application/json;charset=UTF-8
-Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LmFkbWluQHRlc3QuY29tIiwidHlwIjoiYWNjZXNzIiwiaWF0IjoxNzY5NjgzNzkyLCJleHAiOjE3Njk2ODQwOTIsImZpcnN0TmFtZSI6IlRlc3QiLCJsYXN0TmFtZSI6IkFkbWluIiwibWFpblJvbGUiOiJBRE1JTiIsInBlcm1pc3Npb25zIjpbInVzZXI6ZGVsZXRlIiwidXNlcjpyZWFkIiwidXNlcjp3cml0ZSIsInVzZXI6dXBkYXRlIiwiUk9MRV9BRE1JTiJdfQ.aJlUYY4QpoC39zt6PFmLl5p7dpmENM0cjeejr-JeZXg
+Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LmFkbWluQHRlc3QuY29tIiwidHlwIjoiYWNjZXNzIiwiaWF0IjoxNzcyMDE2Mjk2LCJleHAiOjE3NzIwMTY1OTYsImZpcnN0TmFtZSI6IlRlc3QiLCJsYXN0TmFtZSI6IkFkbWluIiwibWFpblJvbGUiOiJBRE1JTiIsInBlcm1pc3Npb25zIjpbInVzZXI6ZGVsZXRlIiwidXNlcjpyZWFkIiwidXNlcjp3cml0ZSIsInVzZXI6dXBkYXRlIiwiUk9MRV9BRE1JTiJdfQ.vnY8yl-QWnchspXCm9FnMvsOacrzgLDDDhnnEzOdZZg
+Accept-Language: fr-fr
Host: localhost:8080
PUT /users/2/revoke-manager HTTP/1.1
Content-Type: application/json;charset=UTF-8
-Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LmFkbWluQHRlc3QuY29tIiwidHlwIjoiYWNjZXNzIiwiaWF0IjoxNzY5NjgzNzkxLCJleHAiOjE3Njk2ODQwOTEsImZpcnN0TmFtZSI6IlRlc3QiLCJsYXN0TmFtZSI6IkFkbWluIiwibWFpblJvbGUiOiJBRE1JTiIsInBlcm1pc3Npb25zIjpbInVzZXI6ZGVsZXRlIiwidXNlcjpyZWFkIiwidXNlcjp3cml0ZSIsInVzZXI6dXBkYXRlIiwiUk9MRV9BRE1JTiJdfQ.XROd5lhqRCqXHv1WSupoawFuD1Na0-cz9-1-OfMmLzw
+Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LmFkbWluQHRlc3QuY29tIiwidHlwIjoiYWNjZXNzIiwiaWF0IjoxNzcyMDE2Mjk1LCJleHAiOjE3NzIwMTY1OTUsImZpcnN0TmFtZSI6IlRlc3QiLCJsYXN0TmFtZSI6IkFkbWluIiwibWFpblJvbGUiOiJBRE1JTiIsInBlcm1pc3Npb25zIjpbInVzZXI6ZGVsZXRlIiwidXNlcjpyZWFkIiwidXNlcjp3cml0ZSIsInVzZXI6dXBkYXRlIiwiUk9MRV9BRE1JTiJdfQ.J5OgTmZEJgl5CaI9O0DOTHqhqI_6HvVLzhX71MUOkzM
+Accept-Language: fr-fr
Host: localhost:8080
PUT /users/2/revoke-manager HTTP/1.1
Content-Type: application/json;charset=UTF-8
+Accept-Language: fr-fr
Host: localhost:8080
PUT /users/2/revoke-manager HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer this.is.not.a.valid.token
+Accept-Language: fr-fr
Host: localhost:8080
@@ -3456,11 +3355,11 @@ PUT /users/2/revoke-manager HTTP/1.1
Content-Type: application/json;charset=UTF-8
-Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LnVzZXJAdGVzdC5jb20iLCJ0eXAiOiJhY2Nlc3MiLCJpYXQiOjE3Njk2ODM3OTEsImV4cCI6MTc2OTY4NDA5MSwiZmlyc3ROYW1lIjoiVGVzdCIsImxhc3ROYW1lIjoiVXNlciIsIm1haW5Sb2xlIjoiVVNFUiIsInBlcm1pc3Npb25zIjpbIlJPTEVfVVNFUiIsInVzZXI6cmVhZCJdfQ.OcKvGgkQV0iORcACxh5AlaOeZY24OYuffcC0FQoctww
+Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LnVzZXJAdGVzdC5jb20iLCJ0eXAiOiJhY2Nlc3MiLCJpYXQiOjE3NzIwMTYyOTYsImV4cCI6MTc3MjAxNjU5NiwiZmlyc3ROYW1lIjoiVGVzdCIsImxhc3ROYW1lIjoiVXNlciIsIm1haW5Sb2xlIjoiVVNFUiIsInBlcm1pc3Npb25zIjpbIlJPTEVfVVNFUiIsInVzZXI6cmVhZCJdfQ.yU6Bk5rTJZY4Nw5FBAMsnBf57RvxZVjbC3461c1-IGc
+Accept-Language: fr-fr
Host: localhost:8080
PUT /users/9999/revoke-manager HTTP/1.1
Content-Type: application/json;charset=UTF-8
-Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LmFkbWluQHRlc3QuY29tIiwidHlwIjoiYWNjZXNzIiwiaWF0IjoxNzY5NjgzNzkxLCJleHAiOjE3Njk2ODQwOTEsImZpcnN0TmFtZSI6IlRlc3QiLCJsYXN0TmFtZSI6IkFkbWluIiwibWFpblJvbGUiOiJBRE1JTiIsInBlcm1pc3Npb25zIjpbInVzZXI6ZGVsZXRlIiwidXNlcjpyZWFkIiwidXNlcjp3cml0ZSIsInVzZXI6dXBkYXRlIiwiUk9MRV9BRE1JTiJdfQ.XROd5lhqRCqXHv1WSupoawFuD1Na0-cz9-1-OfMmLzw
+Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LmFkbWluQHRlc3QuY29tIiwidHlwIjoiYWNjZXNzIiwiaWF0IjoxNzcyMDE2Mjk1LCJleHAiOjE3NzIwMTY1OTUsImZpcnN0TmFtZSI6IlRlc3QiLCJsYXN0TmFtZSI6IkFkbWluIiwibWFpblJvbGUiOiJBRE1JTiIsInBlcm1pc3Npb25zIjpbInVzZXI6ZGVsZXRlIiwidXNlcjpyZWFkIiwidXNlcjp3cml0ZSIsInVzZXI6dXBkYXRlIiwiUk9MRV9BRE1JTiJdfQ.J5OgTmZEJgl5CaI9O0DOTHqhqI_6HvVLzhX71MUOkzM
+Accept-Language: fr-fr
Host: localhost:8080
PUT /users/2/promote-admin HTTP/1.1
Content-Type: application/json;charset=UTF-8
-Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LmFkbWluQHRlc3QuY29tIiwidHlwIjoiYWNjZXNzIiwiaWF0IjoxNzY5NjgzNzkxLCJleHAiOjE3Njk2ODQwOTEsImZpcnN0TmFtZSI6IlRlc3QiLCJsYXN0TmFtZSI6IkFkbWluIiwibWFpblJvbGUiOiJBRE1JTiIsInBlcm1pc3Npb25zIjpbInVzZXI6ZGVsZXRlIiwidXNlcjpyZWFkIiwidXNlcjp3cml0ZSIsInVzZXI6dXBkYXRlIiwiUk9MRV9BRE1JTiJdfQ.XROd5lhqRCqXHv1WSupoawFuD1Na0-cz9-1-OfMmLzw
+Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LmFkbWluQHRlc3QuY29tIiwidHlwIjoiYWNjZXNzIiwiaWF0IjoxNzcyMDE2Mjk1LCJleHAiOjE3NzIwMTY1OTUsImZpcnN0TmFtZSI6IlRlc3QiLCJsYXN0TmFtZSI6IkFkbWluIiwibWFpblJvbGUiOiJBRE1JTiIsInBlcm1pc3Npb25zIjpbInVzZXI6ZGVsZXRlIiwidXNlcjpyZWFkIiwidXNlcjp3cml0ZSIsInVzZXI6dXBkYXRlIiwiUk9MRV9BRE1JTiJdfQ.J5OgTmZEJgl5CaI9O0DOTHqhqI_6HvVLzhX71MUOkzM
+Accept-Language: fr-fr
Host: localhost:8080
PUT /users/2/promote-admin HTTP/1.1
Content-Type: application/json;charset=UTF-8
+Accept-Language: fr-fr
Host: localhost:8080
PUT /users/2/promote-admin HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer this.is.not.a.valid.token
+Accept-Language: fr-fr
Host: localhost:8080
@@ -3667,11 +3571,11 @@ PUT /users/2/promote-admin HTTP/1.1
Content-Type: application/json;charset=UTF-8
-Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LnVzZXJAdGVzdC5jb20iLCJ0eXAiOiJhY2Nlc3MiLCJpYXQiOjE3Njk2ODM3OTEsImV4cCI6MTc2OTY4NDA5MSwiZmlyc3ROYW1lIjoiVGVzdCIsImxhc3ROYW1lIjoiVXNlciIsIm1haW5Sb2xlIjoiVVNFUiIsInBlcm1pc3Npb25zIjpbIlJPTEVfVVNFUiIsInVzZXI6cmVhZCJdfQ.OcKvGgkQV0iORcACxh5AlaOeZY24OYuffcC0FQoctww
+Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LnVzZXJAdGVzdC5jb20iLCJ0eXAiOiJhY2Nlc3MiLCJpYXQiOjE3NzIwMTYyOTUsImV4cCI6MTc3MjAxNjU5NSwiZmlyc3ROYW1lIjoiVGVzdCIsImxhc3ROYW1lIjoiVXNlciIsIm1haW5Sb2xlIjoiVVNFUiIsInBlcm1pc3Npb25zIjpbIlJPTEVfVVNFUiIsInVzZXI6cmVhZCJdfQ.5RA-iUWnlKBq1uFnsE_g-RF5y-C2jTjknNxDy-l4qZ4
+Accept-Language: fr-fr
Host: localhost:8080
PUT /users/9999/promote-admin HTTP/1.1
Content-Type: application/json;charset=UTF-8
-Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LmFkbWluQHRlc3QuY29tIiwidHlwIjoiYWNjZXNzIiwiaWF0IjoxNzY5NjgzNzkyLCJleHAiOjE3Njk2ODQwOTIsImZpcnN0TmFtZSI6IlRlc3QiLCJsYXN0TmFtZSI6IkFkbWluIiwibWFpblJvbGUiOiJBRE1JTiIsInBlcm1pc3Npb25zIjpbInVzZXI6ZGVsZXRlIiwidXNlcjpyZWFkIiwidXNlcjp3cml0ZSIsInVzZXI6dXBkYXRlIiwiUk9MRV9BRE1JTiJdfQ.aJlUYY4QpoC39zt6PFmLl5p7dpmENM0cjeejr-JeZXg
+Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LmFkbWluQHRlc3QuY29tIiwidHlwIjoiYWNjZXNzIiwiaWF0IjoxNzcyMDE2Mjk2LCJleHAiOjE3NzIwMTY1OTYsImZpcnN0TmFtZSI6IlRlc3QiLCJsYXN0TmFtZSI6IkFkbWluIiwibWFpblJvbGUiOiJBRE1JTiIsInBlcm1pc3Npb25zIjpbInVzZXI6ZGVsZXRlIiwidXNlcjpyZWFkIiwidXNlcjp3cml0ZSIsInVzZXI6dXBkYXRlIiwiUk9MRV9BRE1JTiJdfQ.vnY8yl-QWnchspXCm9FnMvsOacrzgLDDDhnnEzOdZZg
+Accept-Language: fr-fr
Host: localhost:8080
PUT /users/3/promote-admin HTTP/1.1
Content-Type: application/json;charset=UTF-8
-Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LmFkbWluQHRlc3QuY29tIiwidHlwIjoiYWNjZXNzIiwiaWF0IjoxNzY5NjgzNzkyLCJleHAiOjE3Njk2ODQwOTIsImZpcnN0TmFtZSI6IlRlc3QiLCJsYXN0TmFtZSI6IkFkbWluIiwibWFpblJvbGUiOiJBRE1JTiIsInBlcm1pc3Npb25zIjpbInVzZXI6ZGVsZXRlIiwidXNlcjpyZWFkIiwidXNlcjp3cml0ZSIsInVzZXI6dXBkYXRlIiwiUk9MRV9BRE1JTiJdfQ.aJlUYY4QpoC39zt6PFmLl5p7dpmENM0cjeejr-JeZXg
+Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LmFkbWluQHRlc3QuY29tIiwidHlwIjoiYWNjZXNzIiwiaWF0IjoxNzcyMDE2Mjk2LCJleHAiOjE3NzIwMTY1OTYsImZpcnN0TmFtZSI6IlRlc3QiLCJsYXN0TmFtZSI6IkFkbWluIiwibWFpblJvbGUiOiJBRE1JTiIsInBlcm1pc3Npb25zIjpbInVzZXI6ZGVsZXRlIiwidXNlcjpyZWFkIiwidXNlcjp3cml0ZSIsInVzZXI6dXBkYXRlIiwiUk9MRV9BRE1JTiJdfQ.vnY8yl-QWnchspXCm9FnMvsOacrzgLDDDhnnEzOdZZg
+Accept-Language: fr-fr
Host: localhost:8080
PUT /users/4/revoke-admin HTTP/1.1
Content-Type: application/json;charset=UTF-8
-Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LmFkbWluQHRlc3QuY29tIiwidHlwIjoiYWNjZXNzIiwiaWF0IjoxNzY5NjgzNzkyLCJleHAiOjE3Njk2ODQwOTIsImZpcnN0TmFtZSI6IlRlc3QiLCJsYXN0TmFtZSI6IkFkbWluIiwibWFpblJvbGUiOiJBRE1JTiIsInBlcm1pc3Npb25zIjpbInVzZXI6ZGVsZXRlIiwidXNlcjpyZWFkIiwidXNlcjp3cml0ZSIsInVzZXI6dXBkYXRlIiwiUk9MRV9BRE1JTiJdfQ.aJlUYY4QpoC39zt6PFmLl5p7dpmENM0cjeejr-JeZXg
+Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LmFkbWluQHRlc3QuY29tIiwidHlwIjoiYWNjZXNzIiwiaWF0IjoxNzcyMDE2Mjk2LCJleHAiOjE3NzIwMTY1OTYsImZpcnN0TmFtZSI6IlRlc3QiLCJsYXN0TmFtZSI6IkFkbWluIiwibWFpblJvbGUiOiJBRE1JTiIsInBlcm1pc3Npb25zIjpbInVzZXI6ZGVsZXRlIiwidXNlcjpyZWFkIiwidXNlcjp3cml0ZSIsInVzZXI6dXBkYXRlIiwiUk9MRV9BRE1JTiJdfQ.vnY8yl-QWnchspXCm9FnMvsOacrzgLDDDhnnEzOdZZg
+Accept-Language: fr-fr
Host: localhost:8080
PUT /users/4/revoke-admin HTTP/1.1
Content-Type: application/json;charset=UTF-8
+Accept-Language: fr-fr
Host: localhost:8080
PUT /users/4/revoke-admin HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer this.is.not.a.valid.token
+Accept-Language: fr-fr
Host: localhost:8080
@@ -3926,11 +3836,11 @@ PUT /users/4/revoke-admin HTTP/1.1
Content-Type: application/json;charset=UTF-8
-Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LnVzZXJAdGVzdC5jb20iLCJ0eXAiOiJhY2Nlc3MiLCJpYXQiOjE3Njk2ODM3OTMsImV4cCI6MTc2OTY4NDA5MywiZmlyc3ROYW1lIjoiVGVzdCIsImxhc3ROYW1lIjoiVXNlciIsIm1haW5Sb2xlIjoiVVNFUiIsInBlcm1pc3Npb25zIjpbIlJPTEVfVVNFUiIsInVzZXI6cmVhZCJdfQ.FkO--RsRSJjLL4t8DUbz8IapuPNQ_IGcDzZasB-cDG4
+Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LnVzZXJAdGVzdC5jb20iLCJ0eXAiOiJhY2Nlc3MiLCJpYXQiOjE3NzIwMTYyOTcsImV4cCI6MTc3MjAxNjU5NywiZmlyc3ROYW1lIjoiVGVzdCIsImxhc3ROYW1lIjoiVXNlciIsIm1haW5Sb2xlIjoiVVNFUiIsInBlcm1pc3Npb25zIjpbIlJPTEVfVVNFUiIsInVzZXI6cmVhZCJdfQ.6XjrUnM--H3TY69kOPnTJbzVqgpfjpblY38VT_Ber_s
+Accept-Language: fr-fr
Host: localhost:8080
PUT /users/9999/revoke-admin HTTP/1.1
Content-Type: application/json;charset=UTF-8
-Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LmFkbWluQHRlc3QuY29tIiwidHlwIjoiYWNjZXNzIiwiaWF0IjoxNzY5NjgzNzkyLCJleHAiOjE3Njk2ODQwOTIsImZpcnN0TmFtZSI6IlRlc3QiLCJsYXN0TmFtZSI6IkFkbWluIiwibWFpblJvbGUiOiJBRE1JTiIsInBlcm1pc3Npb25zIjpbInVzZXI6ZGVsZXRlIiwidXNlcjpyZWFkIiwidXNlcjp3cml0ZSIsInVzZXI6dXBkYXRlIiwiUk9MRV9BRE1JTiJdfQ.aJlUYY4QpoC39zt6PFmLl5p7dpmENM0cjeejr-JeZXg
+Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LmFkbWluQHRlc3QuY29tIiwidHlwIjoiYWNjZXNzIiwiaWF0IjoxNzcyMDE2Mjk2LCJleHAiOjE3NzIwMTY1OTYsImZpcnN0TmFtZSI6IlRlc3QiLCJsYXN0TmFtZSI6IkFkbWluIiwibWFpblJvbGUiOiJBRE1JTiIsInBlcm1pc3Npb25zIjpbInVzZXI6ZGVsZXRlIiwidXNlcjpyZWFkIiwidXNlcjp3cml0ZSIsInVzZXI6dXBkYXRlIiwiUk9MRV9BRE1JTiJdfQ.vnY8yl-QWnchspXCm9FnMvsOacrzgLDDDhnnEzOdZZg
+Accept-Language: fr-fr
Host: localhost:8080
PUT /users/4/downgrade-admin HTTP/1.1
Content-Type: application/json;charset=UTF-8
-Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LmFkbWluQHRlc3QuY29tIiwidHlwIjoiYWNjZXNzIiwiaWF0IjoxNzY5NjgzNzkzLCJleHAiOjE3Njk2ODQwOTMsImZpcnN0TmFtZSI6IlRlc3QiLCJsYXN0TmFtZSI6IkFkbWluIiwibWFpblJvbGUiOiJBRE1JTiIsInBlcm1pc3Npb25zIjpbInVzZXI6ZGVsZXRlIiwidXNlcjpyZWFkIiwidXNlcjp3cml0ZSIsInVzZXI6dXBkYXRlIiwiUk9MRV9BRE1JTiJdfQ.NGkozMagAfxoIFExlWjiNaCKP1qAPUlEFj8fmlPjY8Y
+Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LmFkbWluQHRlc3QuY29tIiwidHlwIjoiYWNjZXNzIiwiaWF0IjoxNzcyMDE2Mjk3LCJleHAiOjE3NzIwMTY1OTcsImZpcnN0TmFtZSI6IlRlc3QiLCJsYXN0TmFtZSI6IkFkbWluIiwibWFpblJvbGUiOiJBRE1JTiIsInBlcm1pc3Npb25zIjpbInVzZXI6ZGVsZXRlIiwidXNlcjpyZWFkIiwidXNlcjp3cml0ZSIsInVzZXI6dXBkYXRlIiwiUk9MRV9BRE1JTiJdfQ.hAGhO5SjEIs-btbbf_WFDNOgY6v2NkCZD8T8vTidM4U
+Accept-Language: fr-fr
Host: localhost:8080
PUT /users/4/downgrade-admin HTTP/1.1
Content-Type: application/json;charset=UTF-8
+Accept-Language: fr-fr
Host: localhost:8080
PUT /users/4/downgrade-admin HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer this.is.not.a.valid.token
+Accept-Language: fr-fr
Host: localhost:8080
@@ -4140,11 +4055,11 @@ DELETE /users/1 HTTP/1.1
Content-Type: application/json;charset=UTF-8
-Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LmFkbWluQHRlc3QuY29tIiwidHlwIjoiYWNjZXNzIiwiaWF0IjoxNzY5NjgzNzkzLCJleHAiOjE3Njk2ODQwOTMsImZpcnN0TmFtZSI6IlRlc3QiLCJsYXN0TmFtZSI6IkFkbWluIiwibWFpblJvbGUiOiJBRE1JTiIsInBlcm1pc3Npb25zIjpbInVzZXI6ZGVsZXRlIiwidXNlcjpyZWFkIiwidXNlcjp3cml0ZSIsInVzZXI6dXBkYXRlIiwiUk9MRV9BRE1JTiJdfQ.NGkozMagAfxoIFExlWjiNaCKP1qAPUlEFj8fmlPjY8Y
+Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LmFkbWluQHRlc3QuY29tIiwidHlwIjoiYWNjZXNzIiwiaWF0IjoxNzcyMDE2Mjk3LCJleHAiOjE3NzIwMTY1OTcsImZpcnN0TmFtZSI6IlRlc3QiLCJsYXN0TmFtZSI6IkFkbWluIiwibWFpblJvbGUiOiJBRE1JTiIsInBlcm1pc3Npb25zIjpbInVzZXI6ZGVsZXRlIiwidXNlcjpyZWFkIiwidXNlcjp3cml0ZSIsInVzZXI6dXBkYXRlIiwiUk9MRV9BRE1JTiJdfQ.hAGhO5SjEIs-btbbf_WFDNOgY6v2NkCZD8T8vTidM4U
+Accept-Language: fr-fr
Host: localhost:8080
DELETE /users/1 HTTP/1.1
Content-Type: application/json;charset=UTF-8
+Accept-Language: fr-fr
Host: localhost:8080
DELETE /users/1 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer this.is.not.a.valid.token
+Accept-Language: fr-fr
Host: localhost:8080
@@ -4264,11 +4182,11 @@ DELETE /users/1 HTTP/1.1
Content-Type: application/json;charset=UTF-8
-Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LmFkbWluQHRlc3QuY29tIiwidHlwIjoiYWNjZXNzIiwiaWF0IjoxNzY5NjgzNzkzLCJleHAiOjE3Njk2ODQwOTMsImZpcnN0TmFtZSI6IlRlc3QiLCJsYXN0TmFtZSI6IkFkbWluIiwibWFpblJvbGUiOiJBRE1JTiIsInBlcm1pc3Npb25zIjpbInVzZXI6ZGVsZXRlIiwidXNlcjpyZWFkIiwidXNlcjp3cml0ZSIsInVzZXI6dXBkYXRlIiwiUk9MRV9BRE1JTiJdfQ.NGkozMagAfxoIFExlWjiNaCKP1qAPUlEFj8fmlPjY8Y
+Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LmFkbWluQHRlc3QuY29tIiwidHlwIjoiYWNjZXNzIiwiaWF0IjoxNzcyMDE2Mjk3LCJleHAiOjE3NzIwMTY1OTcsImZpcnN0TmFtZSI6IlRlc3QiLCJsYXN0TmFtZSI6IkFkbWluIiwibWFpblJvbGUiOiJBRE1JTiIsInBlcm1pc3Npb25zIjpbInVzZXI6ZGVsZXRlIiwidXNlcjpyZWFkIiwidXNlcjp3cml0ZSIsInVzZXI6dXBkYXRlIiwiUk9MRV9BRE1JTiJdfQ.hAGhO5SjEIs-btbbf_WFDNOgY6v2NkCZD8T8vTidM4U
+Accept-Language: fr-fr
Host: localhost:8080
DELETE /users/1/permanent HTTP/1.1
Content-Type: application/json;charset=UTF-8
-Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LmFkbWluQHRlc3QuY29tIiwidHlwIjoiYWNjZXNzIiwiaWF0IjoxNzY5NjgzNzkzLCJleHAiOjE3Njk2ODQwOTMsImZpcnN0TmFtZSI6IlRlc3QiLCJsYXN0TmFtZSI6IkFkbWluIiwibWFpblJvbGUiOiJBRE1JTiIsInBlcm1pc3Npb25zIjpbInVzZXI6ZGVsZXRlIiwidXNlcjpyZWFkIiwidXNlcjp3cml0ZSIsInVzZXI6dXBkYXRlIiwiUk9MRV9BRE1JTiJdfQ.NGkozMagAfxoIFExlWjiNaCKP1qAPUlEFj8fmlPjY8Y
+Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LmFkbWluQHRlc3QuY29tIiwidHlwIjoiYWNjZXNzIiwiaWF0IjoxNzcyMDE2Mjk3LCJleHAiOjE3NzIwMTY1OTcsImZpcnN0TmFtZSI6IlRlc3QiLCJsYXN0TmFtZSI6IkFkbWluIiwibWFpblJvbGUiOiJBRE1JTiIsInBlcm1pc3Npb25zIjpbInVzZXI6ZGVsZXRlIiwidXNlcjpyZWFkIiwidXNlcjp3cml0ZSIsInVzZXI6dXBkYXRlIiwiUk9MRV9BRE1JTiJdfQ.hAGhO5SjEIs-btbbf_WFDNOgY6v2NkCZD8T8vTidM4U
+Accept-Language: fr-fr
Host: localhost:8080
PUT /users/1/restore HTTP/1.1
Content-Type: application/json;charset=UTF-8
-Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LmFkbWluQHRlc3QuY29tIiwidHlwIjoiYWNjZXNzIiwiaWF0IjoxNzY5NjgzNzkzLCJleHAiOjE3Njk2ODQwOTMsImZpcnN0TmFtZSI6IlRlc3QiLCJsYXN0TmFtZSI6IkFkbWluIiwibWFpblJvbGUiOiJBRE1JTiIsInBlcm1pc3Npb25zIjpbInVzZXI6ZGVsZXRlIiwidXNlcjpyZWFkIiwidXNlcjp3cml0ZSIsInVzZXI6dXBkYXRlIiwiUk9MRV9BRE1JTiJdfQ.NGkozMagAfxoIFExlWjiNaCKP1qAPUlEFj8fmlPjY8Y
+Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0LmFkbWluQHRlc3QuY29tIiwidHlwIjoiYWNjZXNzIiwiaWF0IjoxNzcyMDE2Mjk3LCJleHAiOjE3NzIwMTY1OTcsImZpcnN0TmFtZSI6IlRlc3QiLCJsYXN0TmFtZSI6IkFkbWluIiwibWFpblJvbGUiOiJBRE1JTiIsInBlcm1pc3Npb25zIjpbInVzZXI6ZGVsZXRlIiwidXNlcjpyZWFkIiwidXNlcjp3cml0ZSIsInVzZXI6dXBkYXRlIiwiUk9MRV9BRE1JTiJdfQ.hAGhO5SjEIs-btbbf_WFDNOgY6v2NkCZD8T8vTidM4U
+Accept-Language: en-us
Host: localhost:8080