Download the PHP package nawasara/sync without Composer
On this page you can find all versions of the php package nawasara/sync. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Table of contents
Download nawasara/sync
More information about nawasara/sync
Files in nawasara/sync
Download nawasara/sync
More information about nawasara/sync
Files in nawasara/sync
Vendor nawasara
Package sync
Short Description Foundation for the DB-cache + queue pattern shared across Nawasara service packages (WHM, Cloudflare, Keycloak, etc.) — sync job tracker, repository contract, snapshot trait, and audit UI.
License MIT
Package sync
Short Description Foundation for the DB-cache + queue pattern shared across Nawasara service packages (WHM, Cloudflare, Keycloak, etc.) — sync job tracker, repository contract, snapshot trait, and audit UI.
License MIT
Please rate this library. Is it a good library?
Informations about the package sync
Nawasara Sync
The foundation package for the DB-cache + queue pattern used across every Nawasara service integration. Provides the sync-job tracker, repository contract, snapshot trait, audit log UI, and a system-health dashboard.
The pattern
External services (Cloudflare, WHM, Keycloak, etc.) are slow, rate-limited, and unreliable. Hitting them on every page render is wrong. Instead, every Nawasara service package follows this shape:
- Reads come from a local snapshot table (paginated, indexed, fast)
- Writes dispatch queued mutation jobs that update the external API and the local snapshot atomically with content-hash conflict detection
- Audit log at
/admin/sync/jobsrecords every dispatched job (action, target, user, payload with sensitive fields masked, status, duration, error)
What this package ships
SyncJobmodel — the audit row for every queued action across every packageAbstractSyncJob— base for queued mutation/sync jobs. Auto-creates the tracker row in the constructor, marks it running/success/failed/conflict inhandle(), and masks sensitive payload keys (password, secret, token, key) before persistingSyncedRepositorycontract —list / find / all / create / update / delete / syncNow / lastSyncedAt. Every service package implements this consistentlyHasSyncStatustrait — addssync_status,sync_error,last_synced_at, andcontent_hashcolumns plus convenience scopes (pendingSync,failed,synced) and helpers (markPending,markSynced,markFailed)TracksLastSynctrait — repository helper that resolves the last successful sync time fromnawasara_sync_jobsinstead of from per-recordlast_synced_at(which only updates when content changes)<x-nawasara-sync::sync-badge>— pill component that visualises a row's sync state in tables- System Health at
/admin/sync/health— totals, per-service breakdown with success rate, recent failures, and a window switcher - Sync Jobs at
/admin/sync/jobs— searchable, filterable audit log with retry and detail modal
Installation
Auto-discovered.
Implementing a service package
Permissions
| Permission | Description |
|---|---|
sync.job.view |
View sync jobs audit log |
sync.job.manage |
Retry or delete sync job rows |
Author
Pringgo J. Saputro <[email protected]>
License
MIT
All versions of sync with dependencies
PHP Build Version
Package Version
Requires
php Version
^8.1
illuminate/support Version ^10.0|^12.0
spatie/laravel-permission Version ^6.0
nawasara/ui Version *
livewire/livewire Version ^3.0
illuminate/support Version ^10.0|^12.0
spatie/laravel-permission Version ^6.0
nawasara/ui Version *
livewire/livewire Version ^3.0
The package nawasara/sync contains the following files
Loading the files please wait ...