Update ComposeController, add collection support to compose endpoint

This commit is contained in:
Daniel Supernault 2022-02-16 02:43:27 -07:00
parent 0f6bf484d6
commit ec2cfaf54e
No known key found for this signature in database
GPG key ID: 0DEF1C662C9033F7

View file

@ -7,6 +7,8 @@ use Auth, Cache, DB, Storage, URL;
use Carbon\Carbon; use Carbon\Carbon;
use App\{ use App\{
Avatar, Avatar,
Collection,
CollectionItem,
Hashtag, Hashtag,
Like, Like,
Media, Media,
@ -449,7 +451,8 @@ class ComposeController extends Controller
'place' => 'nullable', 'place' => 'nullable',
'comments_disabled' => 'nullable', 'comments_disabled' => 'nullable',
'tagged' => 'nullable', 'tagged' => 'nullable',
'license' => 'nullable|integer|min:1|max:16' 'license' => 'nullable|integer|min:1|max:16',
'collections' => 'sometimes|array|min:1|max:5',
// 'optimize_media' => 'nullable' // 'optimize_media' => 'nullable'
]); ]);
@ -572,6 +575,20 @@ class ComposeController extends Controller
MediaTagService::sendNotification($mt); MediaTagService::sendNotification($mt);
} }
if($request->filled('collections')) {
$collections = Collection::whereProfileId($profile->id)
->find($request->input('collections'))
->each(function($collection) use($status) {
CollectionItem::firstOrCreate([
'collection_id' => $collection->id,
'object_type' => 'App\Status',
'object_id' => $status->id
], [
'order' => $collection->items()->count()
]);
});
}
NewStatusPipeline::dispatch($status); NewStatusPipeline::dispatch($status);
Cache::forget('user:account:id:'.$profile->user_id); Cache::forget('user:account:id:'.$profile->user_id);
Cache::forget('_api:statuses:recent_9:'.$profile->id); Cache::forget('_api:statuses:recent_9:'.$profile->id);