Update AP helpers, import Emoji tags

This commit is contained in:
Daniel Supernault 2022-01-18 23:26:44 -07:00
parent ca79e26d3a
commit 01798daf56
No known key found for this signature in database
GPG key ID: 0DEF1C662C9033F7
2 changed files with 17 additions and 3 deletions

View file

@ -8,12 +8,12 @@ use App\Models\CustomEmoji;
class CustomEmojiService
{
public static function getByShortcode($shortcode)
public static function get($shortcode)
{
return CustomEmoji::whereShortcode($shortcode)->first();
}
public static function getByUrl($url)
public static function import($url)
{
if(Helpers::validateUrl($url) == false) {
return;

View file

@ -27,6 +27,7 @@ use App\Util\ActivityPub\HttpSignature;
use Illuminate\Support\Str;
use App\Services\ActivityPubFetchService;
use App\Services\ActivityPubDeliveryService;
use App\Services\CustomEmojiService;
use App\Services\InstanceService;
use App\Services\MediaPathService;
use App\Services\MediaStorageService;
@ -368,7 +369,6 @@ class Helpers {
$cw = true;
}
$statusLockKey = 'helpers:status-lock:' . hash('sha256', $res['id']);
$status = Cache::lock($statusLockKey)
->get(function () use(
@ -381,6 +381,20 @@ class Helpers {
$scope,
$id
) {
if(isset($res['tag']) && is_array($res['tag']) && !empty($res['tag'])) {
collect($res['tag'])
->filter(function($tag) {
// todo: finish hashtag + mention import
// return in_array($tag['type'], ['Emoji', 'Hashtag', 'Mention']);
return in_array($tag['type'], ['Emoji']);
})
->each(function($tag) {
if(isset($tag['id'])) {
CustomEmojiService::import($tag['id']);
}
});
}
if($res['type'] === 'Question') {
$status = self::storePoll(
$profile,