Update README.md

This commit is contained in:
Dita Aji Pratama 2026-06-13 13:13:31 +07:00
parent 169269267d
commit 41e147fb28

194
README.md
View File

@ -189,40 +189,61 @@ Jika tidak menyertakan token atau token salah, API akan mengembalikan response `
## 📡 Daftar Endpoint ## 📡 Daftar Endpoint
| Endpoint | Method | Auth | Fungsi | Base URL default:
```bash
http://localhost:8080
```
Jika menjalankan server dengan port lain, misalnya `py app.py --port 5000`, ganti `8080` menjadi `5000`.
Semua request ke endpoint API wajib menyertakan header autentikasi:
```bash
Authorization: Bearer secret123
```
### Ringkasan Endpoint
| Method | URL | Auth | Fungsi |
|---|---|---|---| |---|---|---|---|
| `/` | `GET` | Tidak | Halaman playground UI | | `GET` | `/api/enroll` | Ya | List semua enrollment |
| `/api/enroll` | `GET` | Ya | List semua enrollment | | `GET` | `/api/enroll?id=<id>` | Ya | Mendapatkan detail enrollment berdasarkan ID |
| `/api/enroll?id=<id>` | `GET` | Ya | Mendapatkan detail enrollment berdasarkan ID | | `POST` | `/api/enroll` | Ya | Tambah enrollment baru |
| `/api/enroll` | `POST` | Ya | Tambah, edit, atau hapus enrollment | | `POST` | `/api/enroll` | Ya | Edit enrollment berdasarkan `id` |
| `POST` | `/api/enroll` | Ya | Hapus enrollment berdasarkan `id` |
Endpoint `POST /api/enroll` dapat menerima data dalam format:
- Form URL-encoded
- JSON
--- ---
## 🧬 Database Schema ## 🧪 Detail Endpoint
Tabel: `enroll` ### 1. `GET /api/enroll` — List Semua Enrollment
| Kolom | Tipe | Keterangan | **Method:** `GET`
|---|---|---|
| `id` | INTEGER | Primary key, auto-increment |
| `type` | TEXT | Tipe enrollment, hanya boleh `Annually` atau `Monthly` |
| `service` | TEXT | Paket layanan, hanya boleh `Lite`, `Value`, atau `Pro` |
| `user` | TEXT | Nama pengguna |
--- **URL:**
## 🧪 Penggunaan Endpoint ```bash
http://localhost:8080/api/enroll
```
### 1. List Semua Enrollment **Autentikasi:** wajib
**Request** **Parameter request:** tidak ada
**Contoh request:**
```bash ```bash
curl -H "Authorization: Bearer secret123" \ curl -H "Authorization: Bearer secret123" \
http://localhost:8080/api/enroll http://localhost:8080/api/enroll
``` ```
**Response** **Response sukses:**
```json ```json
{ {
@ -243,18 +264,42 @@ curl -H "Authorization: Bearer secret123" \
} }
``` ```
**Response error jika token tidak valid:**
```json
{
"error": "invalid token"
}
```
--- ---
### 2. Detail Enrollment Berdasarkan ID ### 2. `GET /api/enroll?id=<id>`Detail Enrollment Berdasarkan ID
**Request** **Method:** `GET`
**URL:**
```bash
http://localhost:8080/api/enroll?id=1
```
**Autentikasi:** wajib
**Parameter request:**
| Parameter | Tipe | Wajib | Keterangan |
|---|---|---|---|
| `id` | integer | Ya | ID enrollment yang ingin dicari |
**Contoh request:**
```bash ```bash
curl -H "Authorization: Bearer secret123" \ curl -H "Authorization: Bearer secret123" \
"http://localhost:8080/api/enroll?id=1" "http://localhost:8080/api/enroll?id=1"
``` ```
**Response** **Response sukses:**
```json ```json
{ {
@ -267,7 +312,7 @@ curl -H "Authorization: Bearer secret123" \
} }
``` ```
Jika ID tidak ditemukan: **Response jika ID tidak ditemukan:**
```json ```json
{ {
@ -277,12 +322,30 @@ Jika ID tidak ditemukan:
--- ---
### 3. Tambah Enrollment Baru ### 3. `POST /api/enroll`Tambah Enrollment Baru
Endpoint `POST /api/enroll` dapat menerima data dalam format form-urlencoded atau JSON. **Method:** `POST`
**URL:**
```bash
http://localhost:8080/api/enroll
```
**Autentikasi:** wajib
**Request body:**
| Field | Wajib | Keterangan |
|---|---|---|
| `type` | Ya | Harus `Annually` atau `Monthly` |
| `service` | Ya | Harus `Lite`, `Value`, atau `Pro` |
| `user` | Ya | Nama pengguna |
#### Menggunakan Form Data #### Menggunakan Form Data
**Contoh request:**
```bash ```bash
curl -X POST http://localhost:8080/api/enroll \ curl -X POST http://localhost:8080/api/enroll \
-H "Authorization: Bearer secret123" \ -H "Authorization: Bearer secret123" \
@ -293,6 +356,8 @@ curl -X POST http://localhost:8080/api/enroll \
#### Menggunakan JSON #### Menggunakan JSON
**Contoh request:**
```bash ```bash
curl -X POST http://localhost:8080/api/enroll \ curl -X POST http://localhost:8080/api/enroll \
-H "Authorization: Bearer secret123" \ -H "Authorization: Bearer secret123" \
@ -304,7 +369,7 @@ curl -X POST http://localhost:8080/api/enroll \
}' }'
``` ```
**Response** **Response sukses:**
```json ```json
{ {
@ -313,14 +378,43 @@ curl -X POST http://localhost:8080/api/enroll \
} }
``` ```
**Response error jika field wajib kosong:**
```json
{
"error": "type, service, user are required"
}
```
--- ---
### 4. Edit Enrollment ### 4. `POST /api/enroll`Edit Enrollment
Untuk melakukan edit, kirim field `id` bersama data baru. **Method:** `POST`
**URL:**
```bash
http://localhost:8080/api/enroll
```
**Autentikasi:** wajib
**Request body:**
| Field | Wajib | Keterangan |
|---|---|---|
| `id` | Ya | ID enrollment yang ingin diubah |
| `type` | Ya | Harus `Annually` atau `Monthly` |
| `service` | Ya | Harus `Lite`, `Value`, atau `Pro` |
| `user` | Ya | Nama pengguna |
> Jangan kirim `action=remove` jika ingin melakukan edit. Kirim `action=remove` hanya untuk menghapus data.
#### Menggunakan Form Data #### Menggunakan Form Data
**Contoh request:**
```bash ```bash
curl -X POST http://localhost:8080/api/enroll \ curl -X POST http://localhost:8080/api/enroll \
-H "Authorization: Bearer secret123" \ -H "Authorization: Bearer secret123" \
@ -332,6 +426,8 @@ curl -X POST http://localhost:8080/api/enroll \
#### Menggunakan JSON #### Menggunakan JSON
**Contoh request:**
```bash ```bash
curl -X POST http://localhost:8080/api/enroll \ curl -X POST http://localhost:8080/api/enroll \
-H "Authorization: Bearer secret123" \ -H "Authorization: Bearer secret123" \
@ -344,7 +440,7 @@ curl -X POST http://localhost:8080/api/enroll \
}' }'
``` ```
**Response** **Response sukses:**
```json ```json
{ {
@ -353,17 +449,39 @@ curl -X POST http://localhost:8080/api/enroll \
} }
``` ```
**Response jika ID tidak ditemukan:**
```json
{
"error": "not found"
}
```
--- ---
### 5. Hapus Enrollment ### 5. `POST /api/enroll`Hapus Enrollment
Untuk menghapus data, gunakan `POST /api/enroll` dengan field: **Method:** `POST`
- `id` **URL:**
- `action=remove`
```bash
http://localhost:8080/api/enroll
```
**Autentikasi:** wajib
**Request body:**
| Field | Wajib | Keterangan |
|---|---|---|
| `id` | Ya | ID enrollment yang ingin dihapus |
| `action` | Ya | Harus bernilai `remove` |
#### Menggunakan Form Data #### Menggunakan Form Data
**Contoh request:**
```bash ```bash
curl -X POST http://localhost:8080/api/enroll \ curl -X POST http://localhost:8080/api/enroll \
-H "Authorization: Bearer secret123" \ -H "Authorization: Bearer secret123" \
@ -373,6 +491,8 @@ curl -X POST http://localhost:8080/api/enroll \
#### Menggunakan JSON #### Menggunakan JSON
**Contoh request:**
```bash ```bash
curl -X POST http://localhost:8080/api/enroll \ curl -X POST http://localhost:8080/api/enroll \
-H "Authorization: Bearer secret123" \ -H "Authorization: Bearer secret123" \
@ -383,7 +503,7 @@ curl -X POST http://localhost:8080/api/enroll \
}' }'
``` ```
**Response** **Response sukses:**
```json ```json
{ {
@ -392,6 +512,14 @@ curl -X POST http://localhost:8080/api/enroll \
} }
``` ```
**Response jika ID tidak ditemukan:**
```json
{
"error": "not found"
}
```
--- ---
## 🧠 Logika `POST /api/enroll` ## 🧠 Logika `POST /api/enroll`