pages = $pageRepository; $this->member = $memberRepo; $this->upload = $fileUploadService; } //--- // GET //--- public function start() { if ($this->member::status()) { $result = []; $result = $this->pages->getGroup(1, 4); return view('back.start', [ "status" => $this->member::status(), "result" => $result, "title" => "Start" ]); } else { return view('back.login', [ "status" => $this->member::status(), "title" => "Hi!" ]); } } public function exit() { session()->flush(); return redirect()->intended('dashboard'); } //--- // POST //--- public function enter(Request $request): Response { $token = csrf_token(); $credentials = $request->validate([ 'handle' => ['required'], 'password' => ['required'], ]); if ($credentials) { $result = $this->member->auth($request); if ($result['status']) { //$request->session()->regenerate(); return redirect()->intended('dashboard'); //return $this->start(); } else { return back()->withErrors([ 'error' => $result['message'], ]); } } else { return back()->withErrors([ 'error' => 'Nope. Check your crendtials, champ', ]); } } public function uploads(Request $request) { $result = $result = $this->upload->handleFile($request); //update configs for specfic uploads switch ($request['source']) { case 'avatar-upload': $member = []; $member = session('member'); $member['avatar'] = $result['filePath']; $member = (object) $member; $this->member->update($member); break; case 'background-upload': $this->settings->updateGlobalData('background', $result['filePath']); break; } return $result; } }