Files
mtdb_movie/app/Actions/Titles/HandlesEncodedTmdbId.php
maher 703f50a09d
Some checks failed
Build / run (push) Has been cancelled
first commit
2025-10-29 11:42:25 +01:00

41 lines
1005 B
PHP
Executable File

<?php
namespace App\Actions\Titles;
trait HandlesEncodedTmdbId
{
public static function encodeTmdbId(
string $provider,
string $type,
string|int $id,
): string {
return base64_encode("$provider|$type|$id");
}
public static function decodeTmdbId($encodedId): array
{
$encodedId = base64_decode($encodedId);
$parts = explode('|', $encodedId);
if (count($parts) === 3) {
return [
'provider' => $parts[0],
'type' => $parts[1],
'id' => $parts[2],
];
} else {
return ['provider' => null, 'type' => null, 'id' => null];
}
}
public static function decodeTmdbIdOrFail(string $encodedId): array
{
[$provider, $type, $id] = array_values(
static::decodeTmdbId($encodedId),
);
if (!$provider || !$type || !$id) {
abort(404);
}
return [(int) $id, $type];
}
}