Kaynağa Gözat

Add MediaBlocklistService

Daniel Supernault 5 yıl önce
ebeveyn
işleme
5d0a24a779
1 değiştirilmiş dosya ile 44 ekleme ve 0 silme
  1. 44 0
      app/Services/MediaBlocklistService.php

+ 44 - 0
app/Services/MediaBlocklistService.php

@@ -0,0 +1,44 @@
+<?php
+
+namespace App\Services;
+
+use Cache;
+use Illuminate\Support\Facades\File;
+use App\Media;
+use App\MediaBlocklist;
+
+class MediaBlocklistService
+{
+	public static function get()
+	{
+		return MediaBlocklist::whereActive(true)
+			->pluck('sha256')
+			->toArray();
+	}
+
+	public static function exists($hash)
+	{
+		$hashes = self::get();
+		return in_array($hash, $hashes) == true;
+	}
+
+	public static function remove($hash)
+	{
+		if(!self::exists($hash)) {
+			return;
+		}
+		MediaBlocklist::whereSha256($hash)->delete();
+		return;
+	}
+
+	public static function add($hash, $metadata)
+	{
+		$m = new MediaBlocklist;
+		$m->sha256 = $hash;
+		$m->active = true;
+		$m->metadata = json_encode($metadata);
+		$m->save();
+
+		return $m;
+	}
+}