26 lines
619 B
PHP
26 lines
619 B
PHP
<?php
|
|
|
|
namespace App\Modules\Movies\Services\Contracts;
|
|
|
|
use Illuminate\Support\Collection;
|
|
|
|
interface MovieProvider
|
|
{
|
|
/**
|
|
* Search movies by title.
|
|
*
|
|
* @param string $query
|
|
* @param int $page 1-based page number
|
|
* @return array{results: Collection, total: int, page: int, has_more: bool}
|
|
*/
|
|
public function search(string $query, int $page = 1): array;
|
|
|
|
/**
|
|
* Fetch full movie details by provider-specific ID.
|
|
*
|
|
* @param string $id
|
|
* @return array Movie details normalized to our internal structure
|
|
*/
|
|
public function details(string $id): array;
|
|
}
|