Download the PHP package nawasara/zoom without Composer
On this page you can find all versions of the php package nawasara/zoom. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download nawasara/zoom
More information about nawasara/zoom
Files in nawasara/zoom
Package zoom
Short Description Zoom meeting management dashboard for Nawasara — user management, meeting CRUD, recording management, and webhook integration with DB-cached snapshots and queue-backed mutations.
License MIT
Informations about the package zoom
Nawasara Zoom Package
Zoom meeting management dashboard untuk Nawasara — user management, meeting CRUD, recording management, dan webhook integration dengan DB-cached snapshots dan queue-backed mutations.
Menggunakan komponen UI dari nawasara-ui dan mengikuti pola package architecture seperti nawasara-cloudflare dan nawasara-whm.
Fitur
✅ P1 — User Management (Read-only Mirror)
- List semua user di account Zoom Kominfo
- Detail user dengan license type, department, last login, total meetings
- Filter by license type dan status
- License usage tracking
- Responsive table dengan pagination
✅ P1 — Meeting Management (CRUD)
- List meeting (scheduled + past) dengan filter
- Search by topic
- Create meeting — topic, start time, duration, host, password, waiting room, recording auto
- Update dan delete meeting
- Get join link (copyable URL + password)
- Support recurring meeting (P2)
🟡 P2 — Recording Management
- List recording per meeting/host
- Download link (cloud recording)
- Delete recording dengan retention policy
- Storage size tracking
🟡 P2 — Webhook Integration
- Real-time event handling (meeting started/ended, recording ready)
- Signature verification (HMAC SHA-256)
UI Components (nawasara-ui)
Package menggunakan komponen-komponen dari nawasara-ui:
x-nawasara-ui::page.container— Page wrapperx-nawasara-ui::page.title— Page titlex-nawasara-ui::page.actions— Action buttons areax-nawasara-ui::button— Custom button dengan color/size variantsx-nawasara-ui::filter-bar— Search + filter UIx-nawasara-ui::filter-dropdown— Filter dropdownx-nawasara-ui::filter-chip— Active filter chipx-nawasara-ui::table— Data table dengan headersx-nawasara-ui::form.label— Form labelx-lucide-*— Icon components dari Lucide
Setup
1. Vault Configuration
Tambah credential Zoom ke Vault:
2. Create Server-to-Server OAuth App
- Login ke Zoom Marketplace
- Create aplikasi baru dengan type Server-to-Server OAuth
- Set scopes:
user:read:adminmeeting:read:admin,meeting:write:adminrecording:read:admin,recording:write:admin
- Copy Account ID, Client ID, Client Secret ke Vault
3. Run Migration
4. Seed Permissions
5. Test Connection
Penggunaan
Sync Jobs
Manual trigger:
Scheduled (automatic):
- Users: setiap 1 jam
- Meetings: setiap 5 menit
- Recordings: setiap 30 menit
Permissions
Livewire Components Structure
Components mengikuti pola yang konsisten dengan packages lain:
View Structure
Key Livewire Pattern
Index Component (Page Level):
Section Component (Table/Form):
Database
Models
ZoomUser— snapshot user ZoomZoomMeeting— snapshot meetingZoomRecording— snapshot recording
Jobs
SyncZoomUsersJob— hourly user syncSyncZoomMeetingsJob— 5-minute meeting syncSyncZoomRecordingsJob— 30-minute recording syncCreateZoomMeetingJob— create meeting mutationUpdateZoomMeetingJob— update meeting mutationDeleteZoomMeetingJob— delete meeting mutation
Repositories
ZoomUserRepository— user data accessZoomMeetingRepository— meeting data accessZoomRecordingRepository— recording data access
Livewire Components
Users/Index— list usersMeetings/Index— list meetingsMeetings/Form— create/edit meetingRecordings/Index— list recordings
Database Tables
| Table | Purpose |
|---|---|
nawasara_zoom_users |
User snapshot |
nawasara_zoom_meetings |
Meeting snapshot |
nawasara_zoom_recordings |
Recording snapshot |
API Rate Limits
Zoom API rate limits: 30 req/sec (Light), 60 req/sec (Medium)
Default sync intervals sudah account untuk limits ini. Untuk high-volume account, adjust di config/nawasara-zoom.php.
Troubleshooting
"Credential belum lengkap"
Pastikan Vault sudah punya credential:
"Token expired during request"
ZoomClient automatically refresh token (cached untuk 55 menit). Jika error persist, check timezone server.
"Rate limit exceeded"
Increase sync interval di config atau reduce page size.
Cross-package Integration
| Package | Trigger | Action |
|---|---|---|
| nawasara/notification | Meeting started/ended (webhook) | Notify host/participant |
| nawasara/registry | Zoom user mapping | Map Zoom user ↔ OPD/PIC |
| nawasara/itop | Zoom user sync | Sync ke iTop Person record |
Roadmap
- [ ] Webhook real-time sync (P2)
- [ ] Batch meeting creation via CSV (P3)
- [ ] Meeting recordings auto-retention (P2)
- [ ] Integration dengan Zoom Phone (P3)
- [ ] Zoom Webinar support (P3)
License
MIT
All versions of zoom with dependencies
illuminate/support Version ^10.0|^12.0
spatie/laravel-activitylog Version ^4.9
spatie/laravel-permission Version ^6.0
nawasara/ui Version *
nawasara/sync Version *
nawasara/vault Version *
nawasara/registry Version *
livewire/livewire Version ^3.0