|
|
||
|---|---|---|
| .. | ||
| controller | ||
| mapper | ||
| repository | ||
| request | ||
| response | ||
| service | ||
| README.md | ||
| client_approval_settings.module.go | ||
README.md
Client Approval Settings Module
Module ini mengatur konfigurasi approval per client, memungkinkan setiap client untuk memiliki setting approval yang berbeda.
✅ Status: SELESAI & SIAP DIGUNAKAN
🎯 Fitur Utama:
- Konfigurasi Approval per Client - Setiap client bisa mengatur apakah memerlukan approval atau tidak
- Auto Publish Articles - Artikel bisa di-publish otomatis jika tidak memerlukan approval
- Exemption Rules - User, role, atau category tertentu bisa di-exempt dari approval
- Default Workflow - Set workflow default untuk client
- Dynamic Toggle - Bisa mengaktifkan/menonaktifkan approval secara dinamis
📁 Struktur File:
app/module/client_approval_settings/
├── client_approval_settings.module.go # Module & Router
├── controller/
│ └── client_approval_settings.controller.go
├── request/
│ └── client_approval_settings.request.go
├── response/
│ └── client_approval_settings.response.go
├── repository/
│ ├── client_approval_settings.repository.go
│ └── client_approval_settings.repository.impl.go
├── service/
│ └── client_approval_settings.service.go
├── mapper/
│ └── client_approval_settings.mapper.go
└── README.md
🔗 API Endpoints:
GET /api/v1/client-approval-settings- Get settingsPUT /api/v1/client-approval-settings- Update settingsDELETE /api/v1/client-approval-settings- Delete settingsPOST /api/v1/client-approval-settings/toggle-approval- Toggle approvalPOST /api/v1/client-approval-settings/enable-approval- Enable approvalPOST /api/v1/client-approval-settings/disable-approval- Disable approvalPUT /api/v1/client-approval-settings/default-workflow- Set default workflowPOST /api/v1/client-approval-settings/exempt-users- Manage exempt usersPOST /api/v1/client-approval-settings/exempt-roles- Manage exempt rolesPOST /api/v1/client-approval-settings/exempt-categories- Manage exempt categories
🔧 Integration:
- ✅ Terdaftar di Router (
app/router/api.go) - ✅ Terdaftar di Main (
main.go) - ✅ Terintegrasi dengan Articles Service
- ✅ Menggunakan Entity yang sudah ada
- ✅ Dependency Injection lengkap
💡 Cara Penggunaan:
-
Get Settings Client:
GET /api/v1/client-approval-settings Headers: X-Client-Key: <client-id> -
Disable Approval untuk Client:
POST /api/v1/client-approval-settings/toggle-approval Body: {"requiresApproval": false} -
Set Auto Publish:
PUT /api/v1/client-approval-settings Body: {"autoPublishArticles": true} -
Add Exempt User:
POST /api/v1/client-approval-settings/exempt-users Body: {"userId": 123, "reason": "Admin user"}