1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- <?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;
- }
- }
|