<?php

declare(strict_types=1);

use TYPO3\CMS\Core\Utility\ArrayUtility;
use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;

(static function (string $extensionKey, string $tableName) {
    $languagePath = 'LLL:EXT:' . $extensionKey . '/Resources/Private/Language/locallang_tca.xlf:' . $tableName . '.';

    ArrayUtility::mergeRecursiveWithOverrule($GLOBALS['TCA'][$tableName], [
        'columns' => [
            'youtube' => [
                'label' => $languagePath . 'youtube',
                'config' => [
                    'type' => 'input',
                    'eval' => 'trim',
                ],
            ],
            'poster' => [
                'label' => $languagePath . 'poster',
                'config' => [
                    'type' => 'file',
                    'maxitems' => 1,
                    'allowed' => 'common-image-types',
                ],
            ],
        ],
    ]);

    ExtensionManagementUtility::addToAllTCAtypes(
        $tableName,
        'youtube, poster',
        '',
        'after:title'
    );
})('ds_site', 'sys_file_metadata');