PIMS/app/Modules/Movies/Services/Contracts/MovieProvider.php

26 lines
619 B
PHP
Raw Permalink Normal View History

2025-12-07 03:49:26 +00:00
<?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;
}