juniyasyos / manage-unit-kerja
Plugin manage Unit Kerja untuk Filament (modul terpisah)
v2.1.0
2026-03-23 05:04 UTC
Requires
- php: ^8.2
- bezhansalleh/filament-shield: ^4.1
- filament/filament: ^4.0
- guava/filament-modal-relation-managers: ^2.0
- illuminate/support: ^10.0|^11.0|^12.0
Requires (Dev)
- orchestra/testbench: ^8.0|^9.0
- phpunit/phpunit: ^10.0
This package is auto-updated.
Last update: 2026-03-28 07:14:36 UTC
README
Package Laravel/Filament untuk manajemen unit kerja, dengan dukungan mode center/client dan sinkronisasi.
Fitur utama
Filament Resource untuk model UnitKerja.
- Contoh konfig
app_env,center_application,sync.active, danapp_center_url. - Logika CRUD: hanya boleh bila
center_applicationtrue atau environment local. sync.activemenyalakan fitur sinkronisasi.- Mode center: endpoint provisioning
GET /api/manage-unit-kerja/center/provision. - Mode client: endpoint sync
POST /api/manage-unit-kerja/client/sync.
Install
- Pasang package melalui composer (jika belum):
composer require juniyasyos/manage-unit-kerja
- Publish config, migrasi, seeder:
php artisan vendor:publish --tag=manage-unit-kerja-config php artisan vendor:publish --tag=manage-unit-kerja-migrations php artisan vendor:publish --tag=manage-unit-kerja-seeders
- Migrate dan seed (opsional):
php artisan migrate
php artisan db:seed --class="Juniyasyos\\ManageUnitKerja\\Database\\Seeders\\UnitKerjaSeeder"
Konfigurasi
Edit config/manage-unit-kerja.php atau via .env:
MANAGE_UNIT_KERJA_APP_ENV(defaultAPP_ENV/production)MANAGE_UNIT_KERJA_CENTER_APPLICATION(true/false)MANAGE_UNIT_KERJA_SYNC_ACTIVE(true/false)MANAGE_UNIT_KERJA_APP_CENTER_URL(https://center-app.example.com)
Contoh .env:
MANAGE_UNIT_KERJA_APP_ENV=production MANAGE_UNIT_KERJA_CENTER_APPLICATION=false MANAGE_UNIT_KERJA_SYNC_ACTIVE=true MANAGE_UNIT_KERJA_APP_CENTER_URL=https://center-app.example.com
Behavior CRUD
center_application = true=> CRUD full (create/edit/delete aktif).app_env = local=> CRUD tetap aktif (developer/local mode).- selain kondisi di atas => CRUD dibatasi; UI element Filament disembunyikan.
Filament Resource
UnitKerjaResourceuntukUnitKerjamodelListUnitKerjamenyembunyikanCreatejika CRUD tidak diizinkan.UnitKerjaResourceTablemenonaktifkan aksi edit/restore/forceDelete jika CRUD tidak diizinkan.UsersRelationManagerjuga diperiksaisCrudAllowed()untuk attach/detach.
API Sync
Center
- Endpoint:
GET /api/manage-unit-kerja/center/provision - Menghasilkan JSON data
UnitKerjadari database. - Hanya tersedia ketika
center_application=true.
Client
- Endpoint:
POST /api/manage-unit-kerja/client/sync - Memanggil
GET {app_center_url}/api/manage-unit-kerja/center/provision. - Mengupdate/insert unit kerja berdasarkan
slug. - Hanya berjalan kalau
sync.active=true.
Contoh pemakaian client (curl)
curl -X POST \
-H "Accept: application/json" \
https://client-app.example.com/api/manage-unit-kerja/client/sync
Command CLI
php artisan manage-unit-kerja:sync(juga cek sync.active, placeholder).
Pengembangan
- Implementasi provisioning/tokens/auth untuk keamanan.
- Tambahkan validasi payload (schema).
- Buat queue/batch sync utuh jika volume besar.
Catatan
Package ini didesain sebagai satu kesatuan komponen manajemen unit kerja dengan behavior client/center yang konsisten.