2018-07-12 16:42:17 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace App\Transformer\Api;
|
|
|
|
|
|
|
|
use App\Media;
|
|
|
|
use League\Fractal;
|
|
|
|
|
|
|
|
class MediaTransformer extends Fractal\TransformerAbstract
|
|
|
|
{
|
|
|
|
public function transform(Media $media)
|
|
|
|
{
|
2021-01-20 02:39:04 +00:00
|
|
|
$res = [
|
2019-01-28 02:40:36 +00:00
|
|
|
'id' => (string) $media->id,
|
2022-03-02 08:05:36 +00:00
|
|
|
'type' => strtolower($media->activityVerb()),
|
2021-01-25 04:11:52 +00:00
|
|
|
'url' => $media->url(),
|
2018-12-31 04:26:37 +00:00
|
|
|
'remote_url' => null,
|
2021-01-25 04:11:52 +00:00
|
|
|
'preview_url' => $media->thumbnailUrl(),
|
2021-04-01 04:08:03 +00:00
|
|
|
'optimized_url' => $media->optimized_url,
|
2018-12-31 04:26:37 +00:00
|
|
|
'text_url' => null,
|
|
|
|
'meta' => null,
|
|
|
|
'description' => $media->caption,
|
2021-04-01 04:08:03 +00:00
|
|
|
'license' => $media->getLicense(),
|
2018-12-31 04:26:37 +00:00
|
|
|
'is_nsfw' => $media->is_nsfw,
|
|
|
|
'orientation' => $media->orientation,
|
|
|
|
'filter_name' => $media->filter_name,
|
2020-11-28 02:52:40 +00:00
|
|
|
'filter_class' => $media->version == 1 ? $media->filter_class : null,
|
2018-12-31 04:26:37 +00:00
|
|
|
'mime' => $media->mime,
|
2021-01-31 00:31:07 +00:00
|
|
|
'blurhash' => $media->blurhash ?? 'U4Rfzst8?bt7ogayj[j[~pfQ9Goe%Mj[WBay'
|
2018-07-12 16:42:17 +00:00
|
|
|
];
|
2021-01-20 02:39:04 +00:00
|
|
|
|
|
|
|
if($media->width && $media->height) {
|
|
|
|
$res['meta'] = [
|
|
|
|
'focus' => [
|
|
|
|
'x' => 0,
|
|
|
|
'y' => 0
|
|
|
|
],
|
|
|
|
'original' => [
|
|
|
|
'width' => $media->width,
|
|
|
|
'height' => $media->height,
|
|
|
|
'size' => "{$media->width}x{$media->height}",
|
|
|
|
'aspect' => $media->width / $media->height
|
|
|
|
]
|
|
|
|
];
|
|
|
|
}
|
|
|
|
|
|
|
|
return $res;
|
2018-07-12 16:42:17 +00:00
|
|
|
}
|
2018-08-28 03:07:36 +00:00
|
|
|
}
|