- Added client_id field to StoreTenantRequest and UpdateTenantRequest for tenant management. - Updated TenantResource to include client_id in the response. - Created migration to establish clients table and link tenants to clients. - Migrated existing tenant integrations to client_integrations table. - Grouped specific tenants under a shared client (OnTicket) in a new migration. - Updated seeders to reflect new client structure and relationships. - Adjusted integration configurations to require client instead of tenant. - Added tests for client integration functionality and ensured existing tests reflect the new client structure.
33 lines
993 B
PHP
33 lines
993 B
PHP
<?php
|
|
|
|
namespace App\Domains\Integration\Controllers;
|
|
|
|
use App\Domains\Client\Models\Client;
|
|
use App\Domains\Integration\Requests\TelepagosWebhookRequest;
|
|
use App\Domains\Integration\Services\TelepagosWebhookService;
|
|
use App\Http\Controllers\Controller;
|
|
use Illuminate\Http\JsonResponse;
|
|
|
|
class TelepagosWebhookController extends Controller
|
|
{
|
|
/**
|
|
* Handle the incoming Telepagos webhook.
|
|
*/
|
|
public function handle(TelepagosWebhookRequest $request, Client $client, TelepagosWebhookService $service): JsonResponse
|
|
{
|
|
try {
|
|
$cashinId = $request->validated('id');
|
|
|
|
$service->handleWebhook($client, $cashinId);
|
|
|
|
return response()->json(['status' => 'success']);
|
|
} catch (\Exception $e) {
|
|
return response()->json([
|
|
'status' => 'error',
|
|
'code' => 'integration.webhook_failed',
|
|
'message' => __('api.integration.webhook_failed'),
|
|
], 500);
|
|
}
|
|
}
|
|
}
|