<?php

namespace App\Modules\HalkbankOnlinePayment\Controllers;

use App\Http\Controllers\Controller;
use App\Modules\HalkbankOnlinePayment\Repositories\HalkbankOnlinePaymentRepository;
use App\Modules\OnlinePayment\Repositories\OnlinePaymentRepository;
use Illuminate\Contracts\View\View;
use Illuminate\Http\Request;

class HalkbankOnlinePaymentController extends Controller
{
    public function store(Request $request): View
    {
        $request->validate([
            'orderId' => ['required', 'string', 'max:50', 'exists:online_payments,orderId'],
        ]);

        $onlinePaymentRepository = OnlinePaymentRepository::make()
            ->setPaymentProvider(new HalkbankOnlinePaymentRepository);

        $paymentStatus = $onlinePaymentRepository->checkPayment($request->string('orderId'));

        return $onlinePaymentRepository->paymentStatusView($paymentStatus);
    }
}
