episodeService = $episodeService; $this->galleryService = $galleryService; $this->downloadService = $downloadService; } /** * Edit Episode */ public function update(Request $request): RedirectResponse { $episode = Episode::with('hentai')->where('id', $request->input('episode_id'))->firstOrFail(); if ($request->user()->hasRole(UserRole::MODERATOR)) { $this->episodeService->updateEpisodeModerator($request, $episode->id); cache()->flush(); return to_route('hentai.index', [ 'title' => $episode->slug, ]); } $studio = $this->episodeService->getOrCreateStudio(json_decode($request->input('studio'))[0]->value); $oldinterpolated = $episode->interpolated; $oldInterpolatedUHD = $episode->interpolated_uhd; $episode = $this->episodeService->updateEpisode($request, $studio, $episode->id); $this->episodeService->createOrUpdateCover($request, $episode, $episode->hentai->slug, 1); $this->downloadService->createOrUpdateDownloads($request, $episode, 1); $this->galleryService->createOrUpdateGallery($request, $episode->hentai, $episode, $episode->episode, true); // Discord Alert if ($oldinterpolated !== (int) $episode->interpolated) { DiscordReleaseNotification::dispatch($episode->slug, 'update'); } if ($oldInterpolatedUHD !== (int) $episode->interpolated_uhd) { DiscordReleaseNotification::dispatch($episode->slug, 'updateUHD'); } if ($request->has('v2')) { DiscordReleaseNotification::dispatch($episode->slug, 'v2'); } cache()->flush(); return to_route('hentai.index', [ 'title' => $episode->slug, ]); } }