<?php

namespace App\Services\Transcoding;

use App\Enums\SongStorageType;

class TranscodeStrategyFactory
{
    public static function make(SongStorageType $storageType): TranscodingStrategy
    {
        return match ($storageType) {
            SongStorageType::LOCAL => app(LocalTranscodingStrategy::class),
            SongStorageType::S3,
            SongStorageType::S3_LAMBDA,
            SongStorageType::DROPBOX => app(CloudTranscodingStrategy::class),
            SongStorageType::SFTP => app(SftpTranscodingStrategy::class),
        };
    }
}