瀏覽代碼

Add MediaBlocklistService

Daniel Supernault 5 年之前
父節點
當前提交
5d0a24a779
共有 1 個文件被更改,包括 44 次插入0 次删除
  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;
+	}
+}