Files
unity/app/Http/Modules/Admin/LoginModule.php
T
glovetleong 8fa80e4a1a setup
2021-06-17 09:53:04 +08:00

65 lines
1.5 KiB
PHP

<?php
namespace App\Http\Modules\Admin;
use Auth;
use App\Models\Admin;
use App\Http\Rules\Admin\LoginRule;
use App\Http\Helpers\General;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\DB;
class LoginModule
{
public function __construct()
{
}
public static function login(Request $request)
{
$validation = LoginModule::validation($request, '', 'LOGIN');
if (!$validation->status) {
return response()->json($validation, 422);
}
$email = $request->input('email');
$admin = Admin::
where('email', $email)
->first();
$token = $admin->createToken($admin->id, ['only-admin']);
$data = General::returnTokenData($admin, $token->accessToken, true);
return response()->json($data);
}
private static function validation(Request $request, $id = '', $method = 'POST')
{
$data = $request->all();
$rule= [];
if ($method == 'LOGIN') {
$rule = [
'email' => ['required', new LoginRule($data['password'] ?? '')],
'password' => ['required']
];
}
$validator = Validator::make($data, $rule, config('error_code'));
$errors = $validator->errors();
if ($validator->fails()) {
$data = General::returnErrorData($errors);
return $data;
}
else {
return (object)['status' => true];
}
}
}