Skip to main content

ProfileController API Documentation

Introduction

The ProfileController class handles user profile-related operations such as retrieving profile data, updating user information, changing passwords, logging out, and deleting accounts.


API Endpoints

1. Get User Profile

Endpoint:

GET /api/profile

Description:
Fetches the authenticated user's profile data.

Request Example:

{}

Response Example (Success):

{
"status": true,
"message": "Profile Data Load",
"data": {
"id": 1,
"name": "John Doe",
"email": "user@example.com",
"phone": "1234567890"
}
}

Response Example (Failure):

{
"status": false,
"message": "user not found"
}

2. Update User Profile

Endpoint:

POST /api/profile

Description:
Updates the user's profile data (name, email, phone, etc.).

Request Example:

{
"name": "John Updated",
"email": "john.updated@example.com",
"phone": "9876543210"
}

Response Example (Success):

{
"status": true,
"message": "Profile Data Updated",
"data": {
"id": 1,
"name": "John Updated",
"email": "john.updated@example.com",
"phone": "9876543210"
}
}

Response Example (Failure):

{
"status": false,
"message": "user not found"
}

3. Update User Password

Endpoint:

POST /api/profile/password

Description:
Updates the user's password.

Request Example:

{
"password": "newpassword123",
"password_confirmation": "newpassword123"
}

Response Example (Success):

{
"status": true,
"message": "Password Updated"
}

Response Example (Failure):

{
"status": false,
"message": "user not found"
}

4. Logout User

Endpoint:

POST /api/profile/logout

Description:
Logs out the user by destroying their token and session.

Request Example:

{}

Response Example (Success):

{
"status": true,
"message": "Logout Success"
}

5. Close Account

Endpoint:

DELETE /api/profile/destroy

Description:
Closes the user's account and deletes their data.

Request Example:

{}

Response Example (Success):

{
"status": true,
"message": "Account Has Been Deleted"
}

Response Example (Failure):

{
"status": false,
"message": "user not found"
}

Summary of Methods

  1. profile() - Retrieves the authenticated user's profile data.
  2. update() - Updates the user's profile data (name, email, phone, etc.).
  3. password() - Changes the user's password.
  4. logout() - Logs out the user and destroys the session.
  5. destroy() - Deletes the user's account and data.