POST /register
{
"username": "rio",
"email": "rio@gmail.com",
"address": "depok",
"password": "test1234",
"role": "USER"
}RESULT 200 /register
{
"token": null,
"message": "User registered successfully"
}RESULT 400 /register
{
"token": null,
"message": "Username is already taken"
}{
"token": null,
"message": "Password must be at least 8 characters"
}POST /login
{
"username": "rio",
"password": "test1234"
}RESULT OK /login
{
"token": "eyJhbGciOiJIUzM4NCJ9.eyJzdWIiOiJyaW8iLCJpYXQiOjE3MTUzODEyMjYsImV4cCI6MTcxNTQ2NzYyNn0.R1bnphzu1r3RAIek2MTrkz-4-tNu6r_JXbKgDiT8-sRWT9ygVAf1HRNI4Os-3_5_",
"message": "User authenticated successfully"
}RESULT 401 /login
RESULT 400 /login
{
"token": null,
"message": "User not found"
}POST /userLogout
RESULT 200 /userLogout
{
"token": null,
"message": "User logged out successfully"
}RESULT 400 /userLogout
{
"token": null,
"message": "User not found"
}RESULT 401 /userLogout
GET /profile
RESULT 200 /profile
{
"message": "User profile retrieved successfully",
"id": 1,
"username": "rio",
"email": "rio@gmail.com",
"address": "depok"
}RESULT 400 /profile
{
"message": "Invalid token",
"id": null,
"username": null,
"email": null,
"address": null
}RESULT 401 /profile
PUT /profile/address
{
"newAddress": "jakarta"
}RESULT 200 /profile/address
{
"message": "Address updated successfully",
"id": null,
"username": null,
"email": null,
"address": null
}RESULT 400 /profile/address
{
"message": "Invalid token",
"id": null,
"username": null,
"email": null,
"address": null
}RESULT 401 /profile/address
PUT /profile/balance
{
"userId": 1,
"balance": 300
}RESULT 200 /profile/balance
{
"message": "Balance updated successfully",
"id": null,
"username": null,
"email": null,
"address": null
}RESULT 400 /profile/balance
{
"message": "Invalid token",
"id": null,
"username": null,
"email": null,
"address": null
}RESULT 400 /profile/balance
{
"message": "User not found",
"id": null,
"username": null,
"email": null,
"address": null
}RESULT 401 /profile/balance
PUT /profile/myBalance
{
"balance": 300
}RESULT 200 /profile/myBalance
{
"message": "Balance updated successfully",
"id": null,
"username": null,
"email": null,
"address": null
}RESULT 400 /profile/myBalance
{
"message": "Invalid token",
"id": null,
"username": null,
"email": null,
"address": null
}RESULT 400 /profile/myBalance
{
"message": "Not enough balance",
"id": null,
"username": null,
"email": null,
"address": null
}RESULT 400 /profile/myBalance
{
"message": "User not found",
"id": null,
"username": null,
"email": null,
"address": null
}RESULT 401 /profile/myBalance
PUT /profile/password
{
"oldPassword": "abcdefgh",
"newPassword": "abcdefghi"
}RESULT 200 /profile/password
{
"message": "Password updated successfully",
"id": null,
"username": null,
"email": null,
"address": null
}RESULT 400 /profile/password
{
"message": "Invalid token",
"id": null,
"username": null,
"email": null,
"address": null
}{
"message": "Old password is incorrect",
"id": null,
"username": null,
"email": null,
"address": null
}RESULT 401 /profile/password
DELETE /profile/delete
RESULT 400 /profile/delete
{
"message": "Invalid token",
"id": null,
"username": null,
"email": null,
"address": null
}RESULT 401 /profile/delete