forked from mirror/pixelfed
44 lines
719 B
PHP
44 lines
719 B
PHP
<?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;
|
|
}
|
|
} |