API Documentation

1. POST /api/auth/login

Endpoint untuk login pengguna.

Headers

  • content-type: application/json

Request Payload

  • email (string, required): Alamat email pengguna.
  • password (string, required): Kata sandi pengguna.

Response

Jika berhasil, akan mengembalikan token JWT yang dapat digunakan untuk autentikasi:

{
  "status": true,
  "token": "your_jwt_token_here"
}
          

Jika gagal, akan mengembalikan pesan error:

{
  "message": "User not found" 
  // atau
  "message": "Account not verified. Please check your email for verification instructions."
}
          

2. POST /api/auth/register

Endpoint untuk registrasi pengguna baru.

Headers

  • content-type: application/json

Request Payload

  • name (string, required): Nama lengkap pengguna.
  • email (string, required): Alamat email pengguna.
  • password (string, required): Kata sandi pengguna.

Response

Jika berhasil, akan mengembalikan pesan sukses:

{
  "status": true,
  "message": "Registration successful! Please check your email for the verification code"
}
          

Jika gagal, akan mengembalikan pesan error:

{
  "message": "Email already in use" 
  // atau
  "message": "Failed to register user"
}
          

3. GET /api/users/profile

Endpoint untuk mengambil profil pengguna.

Headers

  • x-token: your_jwt_token_here
  • content-type: application/json

Response

Jika berhasil, akan mengembalikan profil pengguna:

{
  "data": {
    "name": "example",
    "email": "example@gmail.com",
    "role": "member or admin",
    "createdAt": "2024-08-31",
    "updatedAt": "2024-08-31",
    "contacts": []
  }
}
          

4. GET /api/blog

Endpoint untuk mengambil profil pengguna.

Headers

  • content-type: application/json

Response

Jika berhasil, akan mengembalikan profil pengguna:

{
  "data": [
    {
      "ID": "904cf597-09dd-4dd5-997c-49551319cd7d",
      "title": "example",
      "description": "example",
      "content": "example",
      "thumbnail": "/blog/thumbnails/b871063d-fdcc-4c9b-9a16-544b8bcc2455.png",
      "createdAt": "2024-08-31T21:22:19.532+07:00",
      "updatedAt": "2024-08-31T21:22:19.532+07:00"
    }
    // dan seterus nya
  ]
}
          

5. POST /api/blog

Endpoint untuk mengambil profil pengguna.

Headers

  • x-token: your_jwt_token_here
  • content-type: application/json

Multipart/form-data

  • title: example
  • description: example
  • content: example
  • thumbnail: file type: image

Response

Jika berhasil, akan mengembalikan profil pengguna:

{
  "ID": "904cf597-09dd-4dd5-997c-49551319cd7d",
  "title": "example",
  "description": "example",
  "content": "example",
  "thumbnail": "/blog/thumbnails/b871063d-fdcc-4c9b-9a16-544b8bcc2455.png",
  "createdAt": "2024-08-31T21:22:19.532+07:00",
  "updatedAt": "2024-08-31T21:22:19.532+07:00"
}