2024-05-05 23:50:50 +02:00
register_swagger = {
2024-06-02 22:41:14 +02:00
" methods " : [ " POST " ] ,
" tags " : [ " User " ] ,
" description " : " Registers a new user in the app. Also sends a notification to the user via the provided email " ,
" parameters " : [
{
" in " : " body " ,
" name " : " body " ,
" description " : ' Username, displayname and password of the new user \n - Username can be only lowercase and up to 64 characters \n - Displayname can contain special characters (. _ -) and lower and upper characters \n - Password must be at least 8 characters long, contain both lower and upper characters, numbers and special characters \n - Email has to be in format " name@domain.tld " and up to 64 characters long in total ' ,
" required " : True ,
" schema " : {
" type " : " object " ,
" properties " : {
" username " : { " type " : " string " , " example " : " mycoolusername " } ,
" email " : { " type " : " string " , " example " : " mymail@dot.com " } ,
" displayname " : { " type " : " string " , " example " : " MyCoolDisplayName " } ,
" password " : { " type " : " string " , " example " : " My5tr0ngP@55w0rd " } ,
} ,
} ,
}
] ,
2024-05-05 23:50:50 +02:00
}
2024-03-13 13:43:34 +01:00
login_swagger = {
2024-06-02 22:41:14 +02:00
" methods " : [ " POST " ] ,
" tags " : [ " User " ] ,
" description " : " Logs in using username and password and returns a JWT token for further authorization of requests. \n **The token is valid for 1 hour** " ,
" parameters " : [
{
" in " : " body " ,
" name " : " body " ,
" description " : " Username and password payload " ,
" required " : True ,
" schema " : {
" type " : " object " ,
" properties " : {
" username " : { " type " : " string " , " example " : " mycoolusername " } ,
" password " : { " type " : " string " , " example " : " MyStrongPassword123 " } ,
} ,
} ,
}
] ,
" responses " : {
" 200 " : {
" description " : " Returns a fresh token " ,
" schema " : {
" type " : " object " ,
" properties " : {
" token " : {
" type " : " string " ,
" example " : " eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJmcmVzaCI6ZmFsc2UsImlhdCI6MTcxMDMyMjkyOCwianRpIjoiZDFhYzQxZDktZjA4NC00MmYzLThlMWUtZWFmZjJiNGU1MDAyIiwidHlwZSI6ImFjY2VzcyIsInN1YiI6MjMwMDEsIm5iZiI6MTcxMDMyMjkyOCwiZXhwIjoxNzEwMzI2NTI4fQ.SW7LAi1j5vDOEIvzeN-sy0eHPP9PFJFkXYY029O35w0 " ,
}
} ,
} ,
} ,
" 400 " : {
" description " : " Possible causes: \n - Missing username or password from request. \n - Nonexistent username "
} ,
" 401 " : { " description " : " Password is incorrect " } ,
} ,
2024-05-02 20:44:26 +02:00
}
logout_swagger = {
2024-06-02 22:41:14 +02:00
" methods " : [ " DELETE " ] ,
" tags " : [ " User " ] ,
" security " : [ { " JWT " : [ ] } ] ,
" description " : " Logs out the user via provided JWT token " ,
" parameters " : [ ] ,
" responses " : { " 200 " : { " description " : " User successfully logged out " } } ,
2024-05-02 20:44:26 +02:00
}
2024-06-02 22:41:14 +02:00
update_swagger = {
" methods " : [ " PUT " ] ,
" tags " : [ " User " ] ,
" security " : [ { " JWT " : [ ] } ] ,
" description " : " Updates user attributes. " ,
" parameters " : [
{
" in " : " body " ,
" name " : " body " ,
" description " : " Attributes to update for the user. " ,
" required " : True ,
" schema " : {
" type " : " object " ,
" properties " : {
" new_username " : { " type " : " string " , " example " : " mycoolusername " } ,
" new_email " : { " type " : " string " , " example " : " mymail@dot.com " } ,
" new_displayname " : {
" type " : " string " ,
" example " : " MyCoolDisplayName " ,
} ,
" new_password " : { " type " : " string " , " example " : " My5tr0ngP@55w0rd " } ,
} ,
} ,
}
] ,
" responses " : {
" 200 " : { " description " : " User attributes updated successfully. " } ,
" 400 " : { " description " : " Bad request. Check the request body for errors. " } ,
" 401 " : { " description " : " Unauthorized. User must be logged in. " } ,
" 409 " : { " description " : " Conflict. Check the response message for details. " } ,
" 500 " : {
" description " : " Internal server error. Contact the system administrator. "
} ,
} ,
}
2024-05-02 20:44:26 +02:00
delete_swagger = {
2024-06-02 22:41:14 +02:00
" methods " : [ " DELETE " ] ,
" tags " : [ " User " ] ,
" security " : [ { " JWT " : [ ] } ] ,
" description " : " Deletes a user via JWT token " ,
" parameters " : [ ] ,
" responses " : { " 200 " : { " description " : " User successfully deleted " } } ,
}