Browse Source

handle expired ospro

pull/1/head
wahyuun 7 months ago
parent
commit
0e228e6e18
  1. 57
      app/Http/Controllers/AuthController.php
  2. 22
      app/Http/Controllers/Controller.php

57
app/Http/Controllers/AuthController.php

@ -28,26 +28,32 @@ class AuthController extends Controller
$password = $request->password; $password = $request->password;
$remember = $request->remember; $remember = $request->remember;
$is_mobile = $request->is_mobile; $is_mobile = $request->is_mobile;
if (empty($username) || empty($password))
return response()->json(['status' => 'error', 'message' => 'You must fill all the fields'], 400);
$usernameCheck = false; $usernameCheck = false;
$passwordCheck = false; $passwordCheck = false;
if (User::where('username', $username)->exists()) if (empty($username) || empty($password)) {
$usernameCheck = true; return response()->json(['status' => 'error', 'message' => 'You must fill all the fields'], 400);
}
if (User::where('password', md5($password))->exists()) if (User::where('username', $username)->exists()) {
$usernameCheck = true;
}
if (User::where('password', md5($password))->exists()) {
$passwordCheck = true; $passwordCheck = true;
}
if ($usernameCheck & $passwordCheck) { if ($usernameCheck & $passwordCheck) {
$user = User::where('username', $username)->where('password', md5($password))->first(); $user = User::where([['username', $username],['password', md5($password)]])->first();
$checkExpiredOspro = $this->setExpiredTimeOspro($user['company_id']);
if($checkExpiredOspro === false) {
return response()->json(['status' => 'error', 'message' => 'Expired! Please update license!'], 201);
}
if ($is_mobile) { if ($is_mobile) {
$fcm_token = $request->fcm_token; $fcm_token = $request->fcm_token;
if (!$fcm_token || $fcm_token == "") if (!$fcm_token || $fcm_token == "") {
return response()->json(['status' => 'error', 'message' => 'FCM Token is required'], 400); return response()->json(['status' => 'error', 'message' => 'FCM Token is required'], 400);
}
$dataUpdateFcm = array( $dataUpdateFcm = array(
"fcm_token" => $fcm_token "fcm_token" => $fcm_token
@ -55,8 +61,9 @@ class AuthController extends Controller
$hr = User::find($user->id); $hr = User::find($user->id);
if ($hr) if ($hr) {
$hr->update($dataUpdateFcm); $hr->update($dataUpdateFcm);
}
} }
$dataRole = Role::find($user->role_id); $dataRole = Role::find($user->role_id);
@ -71,21 +78,26 @@ class AuthController extends Controller
$configApp->logo_header = $logoHeader; $configApp->logo_header = $logoHeader;
} }
if ($configApp) if ($configApp) {
$user->configApp = $configApp; $user->configApp = $configApp;
}
if ($dataRole) if ($dataRole) {
$user->role = $dataRole; $user->role = $dataRole;
}
if ($dataHierarchy) if ($dataHierarchy) {
$user->hierarchy = $dataHierarchy; $user->hierarchy = $dataHierarchy;
}
if (!$token = Auth::login($user)) if (!$token = Auth::login($user)) {
return response()->json(['error' => 'Unauthorized'], 401); return response()->json(['error' => 'Unauthorized'], 401);
}
$ttl = 60; $ttl = 60;
if ($remember) if ($remember) {
$ttl = 10080; $ttl = 10080;
}
// todo : change existing md5 hashed function to laravel's originally bcrypt // todo : change existing md5 hashed function to laravel's originally bcrypt
/* $token = auth()->setTTL($ttl)->attempt(['username' => $username, 'password' => Hash::make($password)]); */ /* $token = auth()->setTTL($ttl)->attempt(['username' => $username, 'password' => Hash::make($password)]); */
@ -101,12 +113,15 @@ class AuthController extends Controller
), ),
]); ]);
} else { } else {
if (!$usernameCheck && !$passwordCheck) if (!$usernameCheck && !$passwordCheck) {
return response()->json(['code' => 201, 'message' => "username and password doesn't match"], 201); return response()->json(['code' => 201, 'message' => "Username and password doesn't match"], 201);
if (!$passwordCheck) }
return response()->json(['code' => 201, 'message' => "password doesn't match"], 201); if (!$passwordCheck) {
if (!$usernameCheck) return response()->json(['code' => 201, 'message' => "Password doesn't match"], 201);
return response()->json(['code' => 201, 'message' => "username doesn't match"], 201); }
if (!$usernameCheck) {
return response()->json(['code' => 201, 'message' => "Username doesn't match"], 201);
}
} }
} }

22
app/Http/Controllers/Controller.php

@ -6,11 +6,12 @@ use App\Models\User;
use App\Models\Divisi; use App\Models\Divisi;
use App\Models\Activity; use App\Models\Activity;
use App\Models\AssignMaterial; use App\Models\AssignMaterial;
use App\Models\Company;
use App\Models\ReportK3Detail; use App\Models\ReportK3Detail;
use App\Models\UserToActivity; use App\Models\UserToActivity;
use App\Models\ProductTransaction; use App\Models\ProductTransaction;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
use Carbon\Carbon;
use Illuminate\Support\Facades\Http; use Illuminate\Support\Facades\Http;
use Laravel\Lumen\Routing\Controller as BaseController; use Laravel\Lumen\Routing\Controller as BaseController;
use RecursiveIteratorIterator; use RecursiveIteratorIterator;
@ -67,6 +68,25 @@ class Controller extends BaseController
return round($size / 1048576, 2); return round($size / 1048576, 2);
} }
public function setExpiredTimeOspro($company_id)
{
$currentDate = Carbon::now();
$countCreate = false;
$transaction = ProductTransaction::query()
->where('company_id', $company_id)->first();
if(!empty($transaction)) {
$dateExpired = $transaction['exp_ospro'];
if ($currentDate->gt(Carbon::parse($dateExpired))) {
$countCreate = false;
} else {
$countCreate = true;
}
return $countCreate;
} else {
return $countCreate;
}
}
protected function setLimitsStorage($company, $dokumen, $name, $initPath, $destinatePath) protected function setLimitsStorage($company, $dokumen, $name, $initPath, $destinatePath)
{ {
$totalSize = 0; $totalSize = 0;

Loading…
Cancel
Save