api token firebase

This commit is contained in:
pajri
2024-05-21 14:49:24 +07:00
parent f50a4f6409
commit 81311928da
4 changed files with 1913 additions and 86 deletions

View File

@@ -19,12 +19,13 @@ class AuthController extends Controller
{
private $url;
public function __construct() {
public function __construct()
{
$this->url = $_ENV['LMS_APP_URL'];
}
public function login(Request $request)
{
{
$request->validate([
// 'email' => 'email',
'phone_or_email' => 'required',
@@ -35,17 +36,17 @@ class AuthController extends Controller
]);
// Login hit ke API linksehat, karena encrypt nya pake CI
$response = Http::post($this->url.'login', [
$response = Http::post($this->url . 'login', [
'sEmail' => $request->phone_or_email,
'sPassword' => $request->password,
'sRemember' => $request->remember
]);
$response = $response->json();
if ($response['success']){
if ($response['success']) {
$user = User::with('detail')
->where('sEmail', $request->phone_or_email)
->first();
->where('sEmail', $request->phone_or_email)
->first();
return Helper::responseJson(
data: [
'token' => $user->createToken('app')->plainTextToken,
@@ -58,18 +59,19 @@ class AuthController extends Controller
};
}
public function forgetPassword(Request $request){
public function forgetPassword(Request $request)
{
$request->validate([
'email' => 'required|email',
]);
// Login hit ke API linksehat, karena encrypt nya pake CI
$response = Http::post($this->url.'forgot_password', [
$response = Http::post($this->url . 'forgot_password', [
'sEmail' => $request->email,
]);
$response = $response->json();
if ($response['success']){
if ($response['success']) {
return Helper::responseJson(
data: [],
message: 'Message has been sent.'
@@ -79,7 +81,8 @@ class AuthController extends Controller
};
}
public function resetPassword(Request $request){
public function resetPassword(Request $request)
{
$request->validate([
'email' => 'required|email',
'code' => 'required',
@@ -87,14 +90,14 @@ class AuthController extends Controller
]);
// Login hit ke API linksehat, karena encrypt nya pake CI
$response = Http::post($this->url.'reset_password', [
$response = Http::post($this->url . 'reset_password', [
'sCode' => $request->code,
'sEmail' => $request->email,
'sPassword' => $request->password,
]);
$response = $response->json();
if ($response['success']){
if ($response['success']) {
return Helper::responseJson(
data: [],
message: 'Password telah di reset'
@@ -105,7 +108,7 @@ class AuthController extends Controller
}
public function loginPhone(Request $request)
{
{
$request->validate([
'phone_or_email' => 'required',
'otp' => 'required',
@@ -116,9 +119,9 @@ class AuthController extends Controller
'sPhone' => $request->phone_or_email,
'sVerificationCode' => $request->otp
])
->first();
->first();
if ($user){
if ($user) {
$updateVericationCode = User::with('detail')
->where([
@@ -145,15 +148,15 @@ class AuthController extends Controller
$user = User::with('detail')
->where('sPhone', $request->phone_or_email)
->first();
if ($user){
if ($user) {
// Request OTP ke API linksehat
$response = Http::post($this->url.'generate_code', [
$response = Http::post($this->url . 'generate_code', [
'sPhone' => $request->phone_or_email
]);
$response = $response->json();
return Helper::responseJson(
data: [
'otp' => $response['message'],
@@ -168,9 +171,6 @@ class AuthController extends Controller
message: 'Nomor tidak ditemukan'
);
}
}
public function register(Request $request)
@@ -209,7 +209,7 @@ class AuthController extends Controller
return Helper::responseJson(message: 'Behasil Logout.');
}
public function mockOtp(Request $request)
{
$request->validate([
@@ -256,4 +256,28 @@ class AuthController extends Controller
'token' => $user->createToken('app')->plainTextToken
], message: 'Selamat Datang');
}
public function notificationToken(Request $request)
{
$user = Auth::user();
$origin = $request->origin;
$device_id = $request->device_id;
$type = $request->type;
$token = $request->token;
$status = $request->status;
$user->notificationTokens()->updateOrCreate([
'device_id' => $device_id,
], [
'origin' => $origin,
'device_id' => $device_id,
'type' => $type,
'token' => $token,
'status' => $status,
]);
return response()->json([
'message' => 'Token berhasil disimpan',
]);
}
}