User 🔒

Endpoint untuk mengelola data user. Semua endpoint memerlukan autentikasi Bearer token.


Request Header
Authorization: Bearer {token}
Response 200 — Berhasil
{
  "success": true,
  "message": "Data user ditemukan",
  "data": [
    {
      "id": 1,
      "name": "Admin",
      "email": "admin@example.com",
      "role": "admin",
      "is_active": true,
      "created_at": "2024-01-01T00:00:00.000000Z",
      "updated_at": "2024-01-01T00:00:00.000000Z"
    }
  ]
}
Response 401 — Tidak Terautentikasi
{
  "success": false,
  "message": "Unauthenticated",
  "errors": {}
}

Request Header
Authorization: Bearer {token}
Response 200 — Berhasil
{
  "success": true,
  "message": "Data user ditemukan",
  "data": {
    "id": 1,
    "name": "Admin",
    "email": "admin@example.com",
    "role": "admin",
    "is_active": true,
    "created_at": "2024-01-01T00:00:00.000000Z",
    "updated_at": "2024-01-01T00:00:00.000000Z"
  }
}
Response 404 — User Tidak Ditemukan
{
  "success": false,
  "message": "Data tidak ditemukan",
  "errors": {}
}

Request Header
Authorization: Bearer {token}
Request Body
{
  "name": "User Baru",
  "email": "user@example.com",
  "password": "password123",
  "role": "user",
  "is_active": true
}
Response 201 — Berhasil Dibuat
{
  "success": true,
  "message": "User berhasil dibuat",
  "data": {
    "id": 2,
    "name": "User Baru",
    "email": "user@example.com",
    "role": "user",
    "is_active": true,
    "created_at": "2024-01-01T00:00:00.000000Z",
    "updated_at": "2024-01-01T00:00:00.000000Z"
  }
}
Response 422 — Validasi Gagal
{
  "success": false,
  "message": "Data tidak valid",
  "errors": {
    "email": ["The email has already been taken."],
    "password": ["The password field must be at least 8 characters."]
  }
}

Request Header
Authorization: Bearer {token}
Request Body
{
  "name": "User Diperbarui",
  "email": "user@example.com",
  "password": "newpassword123",
  "role": "admin",
  "is_active": false
}

Field password bersifat opsional saat update.

Response 200 — Berhasil Diperbarui
{
  "success": true,
  "message": "User berhasil diperbarui",
  "data": {
    "id": 2,
    "name": "User Diperbarui",
    "email": "user@example.com",
    "role": "admin",
    "is_active": false,
    "created_at": "2024-01-01T00:00:00.000000Z",
    "updated_at": "2024-01-01T00:00:00.000000Z"
  }
}
Response 404 — User Tidak Ditemukan
{
  "success": false,
  "message": "Data tidak ditemukan",
  "errors": {}
}

Request Header
Authorization: Bearer {token}
Response 200 — Berhasil Dihapus
{
  "success": true,
  "message": "User berhasil dihapus",
  "data": {}
}
Response 404 — User Tidak Ditemukan
{
  "success": false,
  "message": "Data tidak ditemukan",
  "errors": {}
}