<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\Validator;

use App\Models\EmbedVideo;
use App\Utilities\PageLink;

class VideoText extends Model
{
    use HasFactory;

    public function embedVideo()
    {
        return $this->belongsTo(EmbedVideo::class);
    }

    public function saveVideoText($input, EmbedVideo $embed_video, $id = null)
    {
        if ($id >= 1) {
            $video_text = VideoText::findOrFail($id);
        } else {
            $video_text = new VideoText();
        }

        $video_text->embed_video_id = $embed_video->id;
        $video_text->header = Arr::get($input, 'header');
        $video_text->body = Arr::get($input, 'body');
        $video_text->link = Arr::get($input, 'link');
        $video_text->link_text = Arr::get($input, 'link_text');
        $video_text->start_time = Arr::get($input, 'start_time');
        $video_text->length = Arr::get($input, 'length');
        $video_text->offsetX = Arr::get($input, 'offsetX');
        $video_text->offsetY = Arr::get($input, 'offsetY');
        $video_text->header_size = Arr::get($input, 'header_size');
        $video_text->save();

        return $video_text;
    }

    public function getLinkAttribute($value)
    {
        return PageLink::convertLink($value);
    }

    public function getBodyAttribute($value)
    {
        return PageLink::convertLinkText($value);
    }
}
