Services & Middleware
Services
RecordApiResponseService
Provides standardized JSON responses:
php
use Mylekha\RecordApi\Services\RecordApiResponseService;
use Mylekha\RecordApi\Enums\RecordApiJsonResponseEnum;
$response = app('api.response');
return $response->success($data, 'Operation successful');
return $response->error('Error message', RecordApiJsonResponseEnum::ERROR->value);AuditLogService
Comprehensive audit logging for data changes:
php
use Mylekha\RecordApi\Services\AuditLogService;
use Mylekha\RecordApi\Enums\AuditLogEventEnum;
AuditLogService::handleAuditDataEntry(
event: AuditLogEventEnum::CREATED,
entityName: 'users',
entityType: 'users',
queryData: ['id' => 1, 'name' => 'John Doe'],
subject: 'John Doe',
recap: null,
tenantId: null,
);AuditLogJob
Queue-based audit logging for improved performance:
php
use Mylekha\RecordApi\Jobs\AuditLogJob;
use Mylekha\RecordApi\Enums\AuditLogEventEnum;
// Dispatch audit log job to queue
AuditLogJob::dispatch(
event: AuditLogEventEnum::CREATED,
entityName: 'users',
entityType: 'users',
queryData: ['id' => 1, 'name' => 'John Doe'],
tenantId: null,
);QueryCacheService
Intelligent query caching:
php
use Mylekha\RecordApi\Services\QueryCacheService;
$result = QueryCacheService::remember(
key: 'users:first',
callback: fn () => \Illuminate\Support\Facades\DB::table('users')->first(),
ttl: 3600,
);Middleware
The package registers the request.id middleware:
php
Route::middleware('request.id')->group(function () {
// Your routes here
});