vid-queue/app/Commands/TraktWatchImport.php
2022-09-15 07:54:28 -05:00

31 lines
992 B
PHP

<?php
namespace App\Commands;
use App\Data\WatchData;
use Illuminate\Support\Facades\Http;
class TraktWatchImport extends Command
{
protected $signature = 'show:watch:import {files* : JSON files to import}';
protected $description = 'Once online, sync watches from show:watch:export';
public function handle(): int
{
$watched = WatchData::from($this->arguments());
$data = $watched->structuredData;
$headers = [
'trakt-api-version' => 2,
'trakt-api-key' => env('TRAKT_APP_ID'),
'Authorization' => 'Bearer ' . env('TRAKT_OAUTH_TOKEN'),
];
$this->info(sprintf('Submitting %s to trakt with headers %s', json_encode($data), json_encode($headers)));
$response = Http::withHeaders($headers)->post('https://api.trakt.tv/sync/history', $data);
$this->line('Response: ' . PHP_EOL . json_encode($response->json(), JSON_PRETTY_PRINT));
return static::SUCCESS;
}
}