31 lines
888 B
PHP
31 lines
888 B
PHP
|
|
<?php
|
||
|
|
|
||
|
|
namespace App\Modules\Movies\Http\Controllers\Admin;
|
||
|
|
|
||
|
|
use App\Http\Controllers\Controller;
|
||
|
|
use App\Modules\Movies\Http\Requests\AcceptMovieRequest;
|
||
|
|
use App\Modules\Movies\Services\Contracts\MovieProvider;
|
||
|
|
use App\Modules\Movies\Services\Contracts\UpsertMovieServiceInterface;
|
||
|
|
use Illuminate\Http\JsonResponse;
|
||
|
|
|
||
|
|
class AcceptMovieController extends Controller
|
||
|
|
{
|
||
|
|
public function store(
|
||
|
|
AcceptMovieRequest $request,
|
||
|
|
MovieProvider $provider,
|
||
|
|
UpsertMovieServiceInterface $upserter
|
||
|
|
): JsonResponse {
|
||
|
|
$providerId = $request->validated('provider_id');
|
||
|
|
$mode = $request->validated('mode'); // overwrite|duplicate
|
||
|
|
|
||
|
|
$details = $provider->details($providerId);
|
||
|
|
|
||
|
|
$movie = $upserter->handle($details, $mode);
|
||
|
|
|
||
|
|
return response()->json([
|
||
|
|
'status' => 'ok',
|
||
|
|
'movie_id' => $movie->id,
|
||
|
|
]);
|
||
|
|
}
|
||
|
|
}
|