Skip to content

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
});

Released under the MIT License.