forked from mirror/pixelfed
commit
f4cfff0271
|
@ -83,8 +83,6 @@ class DeleteAccountPipeline implements ShouldQueue
|
|||
StatusDelete::dispatchNow($status);
|
||||
}
|
||||
});
|
||||
$this->deleteUserColumns($user);
|
||||
AccountService::del($user->profile_id);
|
||||
|
||||
AccountLog::whereItemType('App\User')->whereItemId($user->id)->forceDelete();
|
||||
|
||||
|
@ -176,6 +174,8 @@ class DeleteAccountPipeline implements ShouldQueue
|
|||
|
||||
Report::whereUserId($user->id)->forceDelete();
|
||||
PublicTimelineService::warmCache(true, 400);
|
||||
$this->deleteUserColumns($user);
|
||||
AccountService::del($user->profile_id);
|
||||
Profile::whereUserId($user->id)->delete();
|
||||
}
|
||||
|
||||
|
|
|
@ -74,10 +74,11 @@ class StatusDelete implements ShouldQueue
|
|||
$profile = $this->status->profile;
|
||||
|
||||
StatusService::del($status->id, true);
|
||||
|
||||
if(in_array($status->type, ['photo', 'photo:album', 'video', 'video:album', 'photo:video:album'])) {
|
||||
$profile->status_count = $profile->status_count - 1;
|
||||
$profile->save();
|
||||
if($profile) {
|
||||
if(in_array($status->type, ['photo', 'photo:album', 'video', 'video:album', 'photo:video:album'])) {
|
||||
$profile->status_count = $profile->status_count - 1;
|
||||
$profile->save();
|
||||
}
|
||||
}
|
||||
|
||||
if(config_cache('federation.activitypub.enabled') == true) {
|
||||
|
@ -92,7 +93,7 @@ class StatusDelete implements ShouldQueue
|
|||
Media::whereStatusId($status->id)
|
||||
->get()
|
||||
->each(function($media) {
|
||||
MediaDeletePipeline::dispatch($media)->onQueue('mmo');
|
||||
MediaDeletePipeline::dispatchNow($media);
|
||||
});
|
||||
|
||||
if($status->in_reply_to_id) {
|
||||
|
@ -141,9 +142,14 @@ class StatusDelete implements ShouldQueue
|
|||
|
||||
public function fanoutDelete($status)
|
||||
{
|
||||
$audience = $status->profile->getAudienceInbox();
|
||||
$profile = $status->profile;
|
||||
|
||||
if(!$profile) {
|
||||
return;
|
||||
}
|
||||
|
||||
$audience = $status->profile->getAudienceInbox();
|
||||
|
||||
$fractal = new Fractal\Manager();
|
||||
$fractal->setSerializer(new ArraySerializer());
|
||||
$resource = new Fractal\Resource\Item($status, new DeleteNote());
|
||||
|
|
|
@ -137,7 +137,6 @@ class StatusService
|
|||
|
||||
public static function del($id, $purge = false)
|
||||
{
|
||||
|
||||
if($purge) {
|
||||
$status = self::get($id);
|
||||
if($status && isset($status['account']) && isset($status['account']['id'])) {
|
||||
|
|
|
@ -5,6 +5,7 @@ namespace App\Transformer\Api;
|
|||
use App\Status;
|
||||
use League\Fractal;
|
||||
use Cache;
|
||||
use App\Services\AccountService;
|
||||
use App\Services\HashidService;
|
||||
use App\Services\LikeService;
|
||||
use App\Services\MediaService;
|
||||
|
@ -12,7 +13,6 @@ use App\Services\MediaTagService;
|
|||
use App\Services\StatusHashtagService;
|
||||
use App\Services\StatusLabelService;
|
||||
use App\Services\StatusMentionService;
|
||||
use App\Services\ProfileService;
|
||||
use App\Services\PollService;
|
||||
use App\Models\CustomEmoji;
|
||||
|
||||
|
@ -63,7 +63,7 @@ class StatusStatelessTransformer extends Fractal\TransformerAbstract
|
|||
'label' => StatusLabelService::get($status),
|
||||
'liked_by' => LikeService::likedBy($status),
|
||||
'media_attachments' => MediaService::get($status->id),
|
||||
'account' => ProfileService::get($status->profile_id),
|
||||
'account' => AccountService::get($status->profile_id, true),
|
||||
'tags' => StatusHashtagService::statusTags($status->id),
|
||||
'poll' => $poll
|
||||
];
|
||||
|
|
|
@ -5,47 +5,47 @@ namespace App\Util\Media;
|
|||
class Filter {
|
||||
|
||||
public static $filters = [
|
||||
'1977' => 'filter-1977',
|
||||
'Aden' => 'filter-aden',
|
||||
'Amaro' => 'filter-amaro',
|
||||
'Ashby' => 'filter-ashby',
|
||||
'Brannan' => 'filter-brannan',
|
||||
'Brooklyn' => 'filter-brooklyn',
|
||||
'Charmes' => 'filter-charmes',
|
||||
'Clarendon' => 'filter-clarendon',
|
||||
'Crema' => 'filter-crema',
|
||||
'Dogpatch' => 'filter-dogpatch',
|
||||
'Earlybird' => 'filter-earlybird',
|
||||
'Gingham' => 'filter-gingham',
|
||||
'Ginza' => 'filter-ginza',
|
||||
'Hefe' => 'filter-hefe',
|
||||
'Helena' => 'filter-helena',
|
||||
'Hudson' => 'filter-hudson',
|
||||
'Inkwell' => 'filter-inkwell',
|
||||
'Kelvin' => 'filter-kelvin',
|
||||
'Kuno' => 'filter-juno',
|
||||
'Lark' => 'filter-lark',
|
||||
'Lo-Fi' => 'filter-lofi',
|
||||
'Ludwig' => 'filter-ludwig',
|
||||
'Maven' => 'filter-maven',
|
||||
'Mayfair' => 'filter-mayfair',
|
||||
'Moon' => 'filter-moon',
|
||||
'Nashville' => 'filter-nashville',
|
||||
'Perpetua' => 'filter-perpetua',
|
||||
'Poprocket' => 'filter-poprocket',
|
||||
'Reyes' => 'filter-reyes',
|
||||
'Rise' => 'filter-rise',
|
||||
'Sierra' => 'filter-sierra',
|
||||
'Skyline' => 'filter-skyline',
|
||||
'Slumber' => 'filter-slumber',
|
||||
'Stinson' => 'filter-stinson',
|
||||
'Sutro' => 'filter-sutro',
|
||||
'Toaster' => 'filter-toaster',
|
||||
'Valencia' => 'filter-valencia',
|
||||
'Vesper' => 'filter-vesper',
|
||||
'Walden' => 'filter-walden',
|
||||
'Willow' => 'filter-willow',
|
||||
'X-Pro II' => 'filter-xpro-ii'
|
||||
'1984' => 'filter-1977',
|
||||
'Azen' => 'filter-aden',
|
||||
'Astairo' => 'filter-amaro',
|
||||
'Grassbee' => 'filter-ashby',
|
||||
'Bookrun' => 'filter-brannan',
|
||||
'Borough' => 'filter-brooklyn',
|
||||
'Farms' => 'filter-charmes',
|
||||
'Hairsadone' => 'filter-clarendon',
|
||||
'Cleana ' => 'filter-crema',
|
||||
'Catpatch' => 'filter-dogpatch',
|
||||
'Earlyworm' => 'filter-earlybird',
|
||||
'Plaid' => 'filter-gingham',
|
||||
'Kyo' => 'filter-ginza',
|
||||
'Yefe' => 'filter-hefe',
|
||||
'Goddess' => 'filter-helena',
|
||||
'Yards' => 'filter-hudson',
|
||||
'Quill' => 'filter-inkwell',
|
||||
'Rankine' => 'filter-kelvin',
|
||||
'Juno' => 'filter-juno',
|
||||
'Mark' => 'filter-lark',
|
||||
'Chill' => 'filter-lofi',
|
||||
'Van' => 'filter-ludwig',
|
||||
'Apache' => 'filter-maven',
|
||||
'Mayflower' => 'filter-mayfair',
|
||||
'Ceres' => 'filter-moon',
|
||||
'Knoxville' => 'filter-nashville',
|
||||
'Felicity' => 'filter-perpetua',
|
||||
'Sandblast' => 'filter-poprocket',
|
||||
'Daisy' => 'filter-reyes',
|
||||
'Elevate' => 'filter-rise',
|
||||
'Nevada' => 'filter-sierra',
|
||||
'Futura' => 'filter-skyline',
|
||||
'Sleepy' => 'filter-slumber',
|
||||
'Steward' => 'filter-stinson',
|
||||
'Savoy' => 'filter-sutro',
|
||||
'Blaze' => 'filter-toaster',
|
||||
'Apricot' => 'filter-valencia',
|
||||
'Gloming' => 'filter-vesper',
|
||||
'Walter' => 'filter-walden',
|
||||
'Poplar' => 'filter-willow',
|
||||
'Xenon' => 'filter-xpro-ii'
|
||||
];
|
||||
|
||||
public static function classes()
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use App\Status;
|
||||
use App\Jobs\StatusPipeline\StatusDelete;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Status::doesntHave('profile')->get()->each(function($status) { StatusDelete::dispatch($status); });
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
//
|
||||
}
|
||||
};
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"/js/app.js": "/js/app.js?id=637248c86dd6e7ff4dac7feee6741b1e",
|
||||
"/js/app.js": "/js/app.js?id=798e772a73ded1feca5c0d44e8bf54a5",
|
||||
"/js/activity.js": "/js/activity.js?id=acb021db99fe5a8c96c242b40e07c525",
|
||||
"/js/components.js": "/js/components.js?id=e647876e2aaacdd84e7804c3f0a30460",
|
||||
"/js/discover.js": "/js/discover.js?id=2aa95492789dc0605089dd44536f459a",
|
||||
"/js/profile.js": "/js/profile.js?id=8eaa9baf0dd904cb77835077871e9a1b",
|
||||
"/js/status.js": "/js/status.js?id=792fc92c3451859f1551ae67b28afe20",
|
||||
"/js/timeline.js": "/js/timeline.js?id=1c9e615a5ee0b2fb24a41faa005404b1",
|
||||
"/js/compose.js": "/js/compose.js?id=c811c8d0b0c37d7072b0ace24ab3c9e6",
|
||||
"/js/compose.js": "/js/compose.js?id=e3ab33965b5bb3f32a40a3b175d8e681",
|
||||
"/js/compose-classic.js": "/js/compose-classic.js?id=de234c7d7600e88cf30b3c325f4f5230",
|
||||
"/js/search.js": "/js/search.js?id=a3c227a9dcce1d8116963a8e510c12db",
|
||||
"/js/developers.js": "/js/developers.js?id=7c2349c6aeabacc715136af3c1cabecf",
|
||||
|
@ -20,14 +20,14 @@
|
|||
"/js/rempro.js": "/js/rempro.js?id=61bb49ccfe70d28ed788750f9c6279b2",
|
||||
"/js/rempos.js": "/js/rempos.js?id=da10eddc2edd1d3a29d8ffcd75d239dc",
|
||||
"/js/live-player.js": "/js/live-player.js?id=674d2b72d4cf417d9d7a3953c55f37ca",
|
||||
"/js/spa.js": "/js/spa.js?id=cdc83a33f702ec07051d9a43c2820a73",
|
||||
"/js/spa.js": "/js/spa.js?id=0a6c9162a781f5221d8585acf05666f6",
|
||||
"/js/stories.js": "/js/stories.js?id=f3e34fad9d349ebf10155b3c2ecde729",
|
||||
"/js/portfolio.js": "/js/portfolio.js?id=11e6d0deeefcf4798782e141d82b07b8",
|
||||
"/js/installer.js": "/js/installer.js?id=e81d5e440c9217c7468d57d4e68694ab",
|
||||
"/js/admin_invite.js": "/js/admin_invite.js?id=6c5fe1ec07b4fc9cd4deaf353bb4abb7",
|
||||
"/js/manifest.js": "/js/manifest.js?id=67776134d40f10fcf6f3dfacf8dbd559",
|
||||
"/js/home-12722-3lkw2.js": "/js/home-12722-3lkw2.js?id=c32a7b0165abc89c8074d4fe3823f2a1",
|
||||
"/js/compose-12722-3lkw2.js": "/js/compose-12722-3lkw2.js?id=5e62a967da57647d3010d22328c9815e",
|
||||
"/js/compose-12722-3lkw2.js": "/js/compose-12722-3lkw2.js?id=ea3b22fd020fa63d53183fad7784caac",
|
||||
"/js/post-12722-3lkw2.js": "/js/post-12722-3lkw2.js?id=6c28334c2ee641f0dfc80cfc5a401266",
|
||||
"/js/profile-12722-3lkw2.js": "/js/profile-12722-3lkw2.js?id=7d790c3916f8357160b0cc0836441c8d",
|
||||
"/js/dmym-12722-3lkw2.js": "/js/dmym-12722-3lkw2.js?id=6b96cb1c56fc37fde27ae51d859893e8",
|
||||
|
|
|
@ -149,47 +149,47 @@ window.App.util = {
|
|||
})
|
||||
},
|
||||
filters: [
|
||||
['1977','filter-1977'],
|
||||
['Aden','filter-aden'],
|
||||
['Amaro','filter-amaro'],
|
||||
['Ashby','filter-ashby'],
|
||||
['Brannan','filter-brannan'],
|
||||
['Brooklyn','filter-brooklyn'],
|
||||
['Charmes','filter-charmes'],
|
||||
['Clarendon','filter-clarendon'],
|
||||
['Crema','filter-crema'],
|
||||
['Dogpatch','filter-dogpatch'],
|
||||
['Earlybird','filter-earlybird'],
|
||||
['Gingham','filter-gingham'],
|
||||
['Ginza','filter-ginza'],
|
||||
['Hefe','filter-hefe'],
|
||||
['Helena','filter-helena'],
|
||||
['Hudson','filter-hudson'],
|
||||
['Inkwell','filter-inkwell'],
|
||||
['Kelvin','filter-kelvin'],
|
||||
['Kuno','filter-juno'],
|
||||
['Lark','filter-lark'],
|
||||
['Lo-Fi','filter-lofi'],
|
||||
['Ludwig','filter-ludwig'],
|
||||
['Maven','filter-maven'],
|
||||
['Mayfair','filter-mayfair'],
|
||||
['Moon','filter-moon'],
|
||||
['Nashville','filter-nashville'],
|
||||
['Perpetua','filter-perpetua'],
|
||||
['Poprocket','filter-poprocket'],
|
||||
['Reyes','filter-reyes'],
|
||||
['Rise','filter-rise'],
|
||||
['Sierra','filter-sierra'],
|
||||
['Skyline','filter-skyline'],
|
||||
['Slumber','filter-slumber'],
|
||||
['Stinson','filter-stinson'],
|
||||
['Sutro','filter-sutro'],
|
||||
['Toaster','filter-toaster'],
|
||||
['Valencia','filter-valencia'],
|
||||
['Vesper','filter-vesper'],
|
||||
['Walden','filter-walden'],
|
||||
['Willow','filter-willow'],
|
||||
['X-Pro II','filter-xpro-ii']
|
||||
['1984','filter-1977'],
|
||||
['Azen','filter-aden'],
|
||||
['Astairo','filter-amaro'],
|
||||
['Grassbee','filter-ashby'],
|
||||
['Bookrun','filter-brannan'],
|
||||
['Borough','filter-brooklyn'],
|
||||
['Farms','filter-charmes'],
|
||||
['Hairsadone','filter-clarendon'],
|
||||
['Cleana ','filter-crema'],
|
||||
['Catpatch','filter-dogpatch'],
|
||||
['Earlyworm','filter-earlybird'],
|
||||
['Plaid','filter-gingham'],
|
||||
['Kyo','filter-ginza'],
|
||||
['Yefe','filter-hefe'],
|
||||
['Goddess','filter-helena'],
|
||||
['Yards','filter-hudson'],
|
||||
['Quill','filter-inkwell'],
|
||||
['Rankine','filter-kelvin'],
|
||||
['Juno','filter-juno'],
|
||||
['Mark','filter-lark'],
|
||||
['Chill','filter-lofi'],
|
||||
['Van','filter-ludwig'],
|
||||
['Apache','filter-maven'],
|
||||
['Mayflower','filter-mayfair'],
|
||||
['Ceres','filter-moon'],
|
||||
['Knoxville','filter-nashville'],
|
||||
['Felicity','filter-perpetua'],
|
||||
['Sandblast','filter-poprocket'],
|
||||
['Daisy','filter-reyes'],
|
||||
['Elevate','filter-rise'],
|
||||
['Nevada','filter-sierra'],
|
||||
['Futura','filter-skyline'],
|
||||
['Sleepy','filter-slumber'],
|
||||
['Steward','filter-stinson'],
|
||||
['Savoy','filter-sutro'],
|
||||
['Blaze','filter-toaster'],
|
||||
['Apricot','filter-valencia'],
|
||||
['Gloming','filter-vesper'],
|
||||
['Walter','filter-walden'],
|
||||
['Poplar','filter-willow'],
|
||||
['Xenon','filter-xpro-ii']
|
||||
],
|
||||
filterCss: {
|
||||
'filter-1977': 'sepia(.5) hue-rotate(-30deg) saturate(1.4)',
|
||||
|
|
|
@ -370,7 +370,7 @@
|
|||
<div class="p-1 pt-3">
|
||||
<img :src="media[carouselCursor].url" width="100px" height="60px" :class="filter[1]" v-on:click.prevent="toggleFilter($event, filter[1])">
|
||||
</div>
|
||||
<a :class="[media[carouselCursor].filter_class == filter[1] ? 'nav-link text-primary active' : 'nav-link text-muted']" href="#" v-on:click.prevent="toggleFilter($event, filter[1])">i{{filter[0]}}</a>
|
||||
<a :class="[media[carouselCursor].filter_class == filter[1] ? 'nav-link text-primary active' : 'nav-link text-muted']" href="#" v-on:click.prevent="toggleFilter($event, filter[1])">{{filter[0]}}</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -407,7 +407,7 @@
|
|||
<div class="p-1 pt-3">
|
||||
<img :src="media[carouselCursor].url" width="100px" height="60px" :class="filter[1]" v-on:click.prevent="toggleFilter($event, filter[1])">
|
||||
</div>
|
||||
<a :class="[media[carouselCursor].filter_class == filter[1] ? 'nav-link text-primary active' : 'nav-link text-muted']" href="#" v-on:click.prevent="toggleFilter($event, filter[1])">i{{filter[0]}}</a>
|
||||
<a :class="[media[carouselCursor].filter_class == filter[1] ? 'nav-link text-primary active' : 'nav-link text-muted']" href="#" v-on:click.prevent="toggleFilter($event, filter[1])">{{filter[0]}}</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -1033,7 +1033,7 @@ export default {
|
|||
},
|
||||
|
||||
beforeMount() {
|
||||
this.filters = window.App.util.filters;
|
||||
this.filters = window.App.util.filters.sort();
|
||||
axios.get('/api/compose/v0/settings')
|
||||
.then(res => {
|
||||
this.composeSettings = res.data;
|
||||
|
|
Loading…
Reference in New Issue