<?php

namespace App\Http\Controllers;

use App\Http\Requests\StoreEarnTaskResultsRequest;
use App\Services\EarnApiAccessLogger;
use App\Services\EarnTaskResultService;
use Illuminate\Http\JsonResponse;

class EarnTaskResultController extends Controller
{
    /**
     * Doğrulanmış istemciden gelen görev sonuçlarını kısmi kabul özetiyle kaydeder.
     *
     * @author Gökhan Engin - İletişim : https://bit.ly/YazılımUzmanı
     */
    public function store(StoreEarnTaskResultsRequest $request, EarnTaskResultService $service, EarnApiAccessLogger $logs): JsonResponse
    {
        $items = $request->validated('tasks');
        $logs->record($request, 'task_results_received', 200);
        $data = $service->store($request, $items);

        return response()->json(['success' => true, 'data' => $data])->header('Cache-Control', 'no-store');
    }
}
