File manager - Edit - /var/www/html/back/app/BaseClasses/IntegrationService.php
Back
<?php declare(strict_types=1); namespace App\Services; use App\Models\Integration; use App\Models\System; use App\Repositories\Integrations\Interfaces\IntegrationInterface; use Carbon\Carbon; use Illuminate\Support\Facades\DB; class IntegrationService { private $integrationRepository; public function __construct(IntegrationInterface $integration) { $this->integrationRepository = $integration; } public function store($modelId, $request) { try { DB::beginTransaction(); $dateStart = $request['date_start'] ?? null; $dateEnd = $request['date_end'] ?? null; $name = $data['name'] ?? 'API Token'; $token = $this->createToken($modelId, $dateStart, $dateEnd, $name); $integration = Integration::query()->create([ 'system_id' => $modelId, 'name' => $request['name'], 'configuration' => $request['configuration'], 'compare_payments' => $request['compare_payments'], 'currency' => $request['currency'], 'api_key' => $token->plainTextToken, 'date_refresh' => Carbon::now(), 'date_start' => $dateStart, 'date_end' => $dateEnd ]); DB::commit(); return response()->json([ 'token' => $token->plainTextToken, 'token_type' => 'Bearer', ]); } catch (\Exception $e) { DB::rollBack(); return response()->json(['error' => $e->getMessage()], 500); } } public function update($integrationId, $request) { $integration = Integration::query()->find($integrationId); return $integration->update($request); } public function index() { return Integration::query()->get(); } public function createToken($modelId, $dateStart, $dateEnd, $name) { $system = System::findOrFail($modelId); return $system->createToken($name, ['*'], Carbon::parse($dateEnd)); } public function addData($modelId, $data) { try { $dataMappings = [ 'organizations' => 'createDataInOrganizationsDb', 'counterpartys' => 'createDataInCounterpartyDb', 'accounts' => 'createDataInAccountDb', 'payments' => 'createDataInPaymentsDb', ]; DB::transaction(function () use ($modelId, $data, $dataMappings) { foreach ($dataMappings as $key => $method) { if (!empty($data[$key])) { foreach ($data[$key] as $item) { $this->integrationRepository->$method($modelId, $item); } } } }); $packageNumber = $data['PackageNumber'] ?? null; return response()->json([ 'packageNumber' => $packageNumber, 'status' => 200 ]); } catch (\Exception $e) { return response()->json(['error' => $e->getMessage()], 500); } } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.30 | Generation time: 0.17 |
proxy
|
phpinfo
|
Settings