UserSignUp |
signup(name, surname, username, email, password) |
User details object( name (String, required), surname (String, required), username (String, required), email (String, required)) |
Successful creation response |
Email must not already exist |
New user must be added to the system |
409 If email already exists, 500 internal server error |
UserLogin |
login(email,password) |
User details object( email (String, required), password (String, required) ) |
Successful login response |
Email must already exist and password must match stored hash |
User marked as logged in |
401 Invalid email or password, 404 if email not registered, 500 Internal server error |
UserDetails |
uniqueUsername(username) |
username (String, required) |
Object (exists: Boolean) |
A non-empty username must be provided |
Returns true if the username exists, otherwise false |
500 Internal server error |
|
uniqueEmail(email) |
email (String, required) |
Object (exists: Boolean ) |
A valid email must be provided |
Returns true if the email exists, otherwise false |
500 Internal server error |
UserProfile |
getUserData(userID) |
userID (Number, required) |
User object (userID, username, name, surname, email) |
userID must correspond to an existing user in the database |
Returns user details if found |
404 If userID not found, 500 internal server error |
|
updateUserDetails(userID, name, surname, username, email) |
userID (Number, required), name (String, required), surname (String, required), username (String, required), email (String, required) |
Successful update response and updated user object (userID, username, name, surname, email) |
userID must exist and input fields must be valid |
User information is updated in the database |
404 If userID not found, 500 internal server error |
|
updateUserPassword(id, name, surname, username, email, password) |
userID (Number, required), name (String, required), surname (String, required), username (String, required), email (String, required), password (String, required) |
Successful update response and updated user object (userID, username, name, surname, email) |
userID must exist and input fields must be valid |
User info and hashed password are updated |
404 If userID not found, 500 internal server error |
UserProgress |
learningProgress(username) |
username (String, required) |
Learning progress object (lessonsCompleted(Number), streak(Number), signsLearned(Number), currentLevel(String)) |
Username must exist in the system |
Returns the correct user's learning progress |
404 If username not found, 400 if username not provided , 500 internal server error |
|
learningProgress(username, learnig progress object) |
username (String, required) and Learning progress object (lessonsCompleted(Number, required), streak(Number, required), signsLearned(Number, required), currentLevel(String, required)) |
Successful update response |
Username must exist in the system |
The users learning stats are updated |
404 If username not found, 400 if username and Learning stats object not provided, 500 internal server error |