Replaced Moment with Carbon #84

Merged
Ghost merged 148 commits from develop into beta 2022-09-22 05:53:36 +02:00
6 changed files with 76 additions and 19 deletions
Showing only changes of commit c77eeafb2c - Show all commits

View file

@ -0,0 +1,48 @@
<?php
namespace App\Http\Controllers;
use Symfony\Component\HttpFoundation\Response;
use App\Services\AuthService;
use Illuminate\Http\Request;
class AuthController extends Controller
{
public function __construct(
AuthService $authService
) {
$this->auth = $authService;
}
public function enter(Request $request): Response
{
$token = csrf_token();
$credentials = $request->validate([
'handle' => ['required'],
'password' => ['required'],
]);
if ($credentials) {
$result = $this->auth->check($request);
if ($result['status']) {
//$request->session()->regenerate();
return redirect()->intended('dashboard');
} else {
return back()->withErrors([
'error' => $result['message'],
]);
}
} else {
return back()->withErrors([
'error' => 'Nope. Check your crendtials, champ',
]);
}
}
public function exit(Request $request): Response
{
session()->flush();
return redirect()->intended('dashboard');
}
}

View file

@ -4,6 +4,7 @@ namespace App\Http\Controllers;
use App\Services\SettingsService; use App\Services\SettingsService;
use App\Services\AuthService; use App\Services\AuthService;
use Illuminate\Http\Request;
class DashController extends Controller class DashController extends Controller
{ {
@ -20,10 +21,10 @@ class DashController extends Controller
$this->auth = $authService; $this->auth = $authService;
} }
public function start() public function start(Request $request)
{ {
return view('back.start', [ return view('back.start', [
"status" => false, "status" => (session('handle') !== null ? true : false),
"title" => "Fipamo Dash" "title" => "Fipamo Dash"
]); ]);
} }

View file

@ -7,27 +7,31 @@ use function _\find;
class AuthService class AuthService
{ {
protected $config; protected $config;
protected $request;
public function __construct(SettingsService $config) public function __construct(SettingsService $config)
{ {
$this->config = $config; $this->config = $config;
} }
public function check($handle, $pass) public function check($request)
{ {
$folks = $this->config->getFolks(); $folks = $this->config->getFolks();
$found = find($folks, ['handle' => $handle]); $found = find($folks, ['handle' => $request->handle]);
if ($found) { if ($found) {
if (password_verify($pass, $found['password'])) { if (password_verify($request->password, $found['password'])) {
return "WELCOME"; $request->session()->put('handle', $found['handle']);
$request->session()->put('email', $found['email']);
$request->session()->put('role', $found['role']);
$request->session()->put('avi', $found['avi']);
return ['status' => true, 'message' => 'HEY WELCOME BACK'];
//DO SESSION STUFF //DO SESSION STUFF
} else { } else {
return "NOPE"; return ['status' => false, 'message' => 'CHECK THAT PASSWORD'];
//RETURN ERROR //RETURN ERROR
} }
} else { } else {
return "WHO ARE YOU?"; return ['status' => false, 'message' => 'CHECK THAT HANDLE'];
//RETURN ERROR
} }
} }
} }

View file

@ -2,12 +2,17 @@
<div> <div>
<img id="the-logo" src="/assets/images/global/fipamo-logo.svg"/> <img id="the-logo" src="/assets/images/global/fipamo-logo.svg"/>
</div> </div>
<form id="login" class='login' name="login" method="POST" onsubmit="return false;"> <form action="/login" method="post" enctype="multipart/form-data">
@csrf
<input type="text" name="handle" class="form-control" placeholder="Handle" required/> <input type="text" name="handle" class="form-control" placeholder="Handle" required/>
<input type="password" name="password" class="form-control" placeholder="Password" required/> <input type="password" name="password" class="form-control" placeholder="Password" required/>
<button id="login-btn" class='login-btn'> @if($errors->any())
ID, PLEASE <input type="submit" value="{{$errors->first()}}" name="submit_button">
</button> @else
<input type="submit" value="Knock Knock" name="submit_button">
@endif
<a href="/dashboard/reset-password">?</a> <a href="/dashboard/reset-password">?</a>
</form> </form>
</section> </section>

View file

@ -30,12 +30,6 @@
</div> </div>
@endif @endif
</header> </header>
@if($errors->any())
<div class="system-notice-error" role="status">
{{$errors->first()}}
</div>
@endif
@if(session('message')) @if(session('message'))
<div class="system-notice-message" role="status"> <div class="system-notice-message" role="status">
{!! session('message') !!} {!! session('message') !!}

View file

@ -2,6 +2,7 @@
use Illuminate\Support\Facades\Route; use Illuminate\Support\Facades\Route;
use App\Http\Controllers\DashController; use App\Http\Controllers\DashController;
use App\Http\Controllers\AuthController;
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
@ -20,7 +21,11 @@ Route::get('/', function () {
//DASHBOARD //DASHBOARD
//login stuff
Route::post("/login", [AuthController::class, 'enter']);
//back //back
Route::group(['prefix' => 'dashboard'], function () { Route::group(['prefix' => 'dashboard'], function () {
Route::get("/", [DashController::class, 'start']); Route::get("/", [DashController::class, 'start']);
Route::get("/logout", [AuthController::class, 'exit']);
}); });