ReviewOS

also looking at this

meemalabs/laravel-media-converter

feat: add support for tagging

#17
Merged glennmichael123 wants to merge add-tags into main
4 files +20 -5
src/Contracts/Converter.phpmodified+1-1
Changes to src/Contracts/Converter.php
@@ -58,7 +58,7 @@ interface Converter
5858 * @param int $priority
5959 * @return \Aws\Result
6060 */
61 public function createJob(array $settings, array $metaData, int $priority);
61 public function createJob(array $settings, array $metaData, array $tags, int $priority);
6262
6363 /**
6464 * Gets the job.
src/Converters/MediaConvert.phpmodified+2-1
Changes to src/Converters/MediaConvert.php
@@ -146,13 +146,14 @@ class MediaConvert implements Converter
146146 * @param int $priority
147147 * @return \Aws\Result
148148 */
149 public function createJob(array $settings, array $metaData = [], int $priority = 0)
149 public function createJob(array $settings, array $metaData = [], array $tags = [], int $priority = 0)
150150 {
151151 return $this->client->createJob([
152152 'Role' => config('media-converter.iam_arn'),
153153 'Settings' => $settings,
154154 'Queue' => config('media-converter.queue_arn'),
155155 'UserMetadata' => $metaData,
156 'Tags' => $tags,
156157 'StatusUpdateInterval' => $this->getStatusUpdateInterval(),
157158 'Priority' => $priority,
158159 ]);
src/Facades/MediaConvert.phpmodified+1-1
Changes to src/Facades/MediaConvert.php
@@ -11,7 +11,7 @@ use Illuminate\Support\Facades\Facade;
1111 * @method static \Meema\MediaConverter\Converters\MediaConvert withThumbnails(int $framerateNumerator, int $framerateDenominator, int $maxCaptures, $width = null, $nameModifier = null, $imageQuality = 80)
1212 * @method static \Aws\Result saveTo(string $s3Path, $s3bucket = null)
1313 * @method static \Aws\Result cancelJob(string $id)
14 * @method static \Aws\Result createJob(array $settings, array $metaData = [], int $priority = 0)
14 * @method static \Aws\Result createJob(array $settings, array $metaData = [], array $tags = [], int $priority = 0)
1515 * @method static \Aws\Result getJob(string $id)
1616 * @method static \Aws\Result listJobs(array $options)
1717 */
src/Jobs/CreateVideoConversion.phpmodified+16-2
Changes to src/Jobs/CreateVideoConversion.php
@@ -13,19 +13,32 @@ class CreateVideoConversion implements ShouldQueue
1313{
1414 use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
1515
16 /**
17 * @var array
18 */
1619 private array $jobSettings;
1720
21 /**
22 * @var int
23 */
1824 private int $mediaId;
1925
26 /**
27 * @var array
28 */
29 private array $tags;
30
2031 /**
2132 * Create a new job instance.
2233 *
2334 * @param $jobSettings
35 * @param $tags
2436 * @param $mediaId
2537 */
26 public function __construct($jobSettings, $mediaId = null)
38 public function __construct($jobSettings, $tags, $mediaId = null)
2739 {
2840 $this->jobSettings = $jobSettings;
41 $this->tags = $tags;
2942
3043 if ($mediaId) {
3144 $this->mediaId = $mediaId;
@@ -40,11 +53,12 @@ class CreateVideoConversion implements ShouldQueue
4053 public function handle()
4154 {
4255 $metaData = [];
56 $tags = $this->tags;
4357
4458 if ($this->mediaId) {
4559 $metaData = ['model_id' => $this->mediaId];
4660 }
4761
48 MediaConvert::createJob($this->jobSettings, $metaData);
62 MediaConvert::createJob($this->jobSettings, $metaData, $tags);
4963 }
5064}