From aae342f73146a4a2df97accf2bffd95e263dd4bf Mon Sep 17 00:00:00 2001 From: farhantock Date: Wed, 22 Nov 2023 12:15:39 +0700 Subject: [PATCH 1/4] hierarcy --- app/Http/Controllers/AuthController.php | 37 ++++++++++++++----------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/app/Http/Controllers/AuthController.php b/app/Http/Controllers/AuthController.php index bb31e8c..37ae48f 100644 --- a/app/Http/Controllers/AuthController.php +++ b/app/Http/Controllers/AuthController.php @@ -11,6 +11,7 @@ use App\Models\Role; use Illuminate\Http\JsonResponse; use Illuminate\Support\Facades\Password; use Illuminate\Validation\ValidationException; + class AuthController extends Controller { public function __construct() @@ -25,46 +26,50 @@ class AuthController extends Controller $remember = $request->remember; $is_mobile = $request->is_mobile; - if(empty($username) || empty($password)) - return response()->json(['status'=>'error','message'=>'You must fill all the fields'], 400); + if (empty($username) || empty($password)) + return response()->json(['status' => 'error', 'message' => 'You must fill all the fields'], 400); $usernameCheck = false; $passwordCheck = false; - - if (User::where('username', $username)->exists()) + + if (User::where('username', $username)->exists()) $usernameCheck = true; - if (User::where('password', md5($password))->exists()) + if (User::where('password', md5($password))->exists()) $passwordCheck = true; - if ($usernameCheck & $passwordCheck){ + if ($usernameCheck & $passwordCheck) { $user = User::where('username', $username)->where('password', md5($password))->first(); - if($is_mobile){ + if ($is_mobile) { $fcm_token = $request->fcm_token; - if(!$fcm_token || $fcm_token=="") - return response()->json(['status'=>'error','message'=>'FCM Token is required'], 400); + if (!$fcm_token || $fcm_token == "") + return response()->json(['status' => 'error', 'message' => 'FCM Token is required'], 400); $dataUpdateFcm = array( - "fcm_token"=>$fcm_token + "fcm_token" => $fcm_token ); $hr = User::find($user->id); - if($hr) + if ($hr) $hr->update($dataUpdateFcm); } $dataRole = Role::find($user->role_id); + $dataHierarchy = $this->getDataHierarchy($user->divisi_id, $user->id); - if($dataRole) + if ($dataRole) $user->role = $dataRole; - if (! $token =Auth::login($user)) + if ($dataHierarchy) + $user->hierarchy = $dataHierarchy; + + if (!$token = Auth::login($user)) return response()->json(['error' => 'Unauthorized'], 401); $ttl = 60; - if($remember) + if ($remember) $ttl = 10080; // todo : change existing md5 hashed function to laravel's originally bcrypt @@ -80,13 +85,13 @@ class AuthController extends Controller 'expires_in' => auth()->factory()->getTTL() * $ttl, ), ]); - }else { + } else { if (!$usernameCheck && !$passwordCheck) 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 (!$usernameCheck) return response()->json(['code' => 201, 'message' => "username doesn't match"], 201); - } + } } } From e68e270772d5625aacb784e7ccc757218eaecbe4 Mon Sep 17 00:00:00 2001 From: wahyuun Date: Sat, 25 Nov 2023 00:59:47 +0700 Subject: [PATCH 2/4] company crud --- app/Http/Controllers/CompanyController.php | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/app/Http/Controllers/CompanyController.php b/app/Http/Controllers/CompanyController.php index 7e8938d..3a0cecb 100644 --- a/app/Http/Controllers/CompanyController.php +++ b/app/Http/Controllers/CompanyController.php @@ -3,6 +3,7 @@ namespace App\Http\Controllers; use App\Models\Company; +use App\Models\MenuCompany; use Illuminate\Http\Request; class CompanyController extends Controller @@ -10,18 +11,22 @@ class CompanyController extends Controller public function add(Request $request) { $this->validate($request, [ - 'name' => 'required', - 'description' => 'required' + 'company_name' => 'required', + 'registration_no' => 'required', + 'template_id' => 'required', + 'is_active' => 'required' ]); $data = $request->all(); $data['created_by'] = $this->currentName; - + if(isset($data['base_url']) && $data['base_url'] != NULL) { + $data['base_url'] = json_encode($data['base_url'], true); + } $result = Company::create($data); if ($result) { - return response()->json(['status' => 'success', 'message' => 'add Company successfully!', 'code' => 200], 200); + return response()->json(['status' => 'success','data' => $result, 'message' => 'add Company successfully!', 'code' => 200], 200); } else { return response()->json(['status' => 'failed', 'message' => 'add data Company failed!', 'code' => 400], 400); } @@ -51,6 +56,10 @@ class CompanyController extends Controller $data = Company::find($id); + if(isset($data['base_url']) && $data['base_url'] != NULL) { + $data->update(['base_url'=>null]); + $data['base_url'] = json_encode($data['base_url'], true); + } if ($data) { $result = $data->update($request->all()); } else { @@ -71,6 +80,7 @@ class CompanyController extends Controller $data = Company::find($id); if ($data) { + MenuCompany::where('company_id',$id)->delete(); $delete = $data->delete(); } else { return response()->json(['status' => 'failed', 'message' => 'data Company not found!', 'code' => 400], 400); From 0efc17deeeef6c42602ae3b62424d0cae1ebf65a Mon Sep 17 00:00:00 2001 From: wahyuun Date: Sat, 25 Nov 2023 01:00:37 +0700 Subject: [PATCH 3/4] update multiple method --- .../Controllers/MenuCompanyController.php | 45 +++++++------------ 1 file changed, 16 insertions(+), 29 deletions(-) diff --git a/app/Http/Controllers/MenuCompanyController.php b/app/Http/Controllers/MenuCompanyController.php index 2b79748..d59c734 100644 --- a/app/Http/Controllers/MenuCompanyController.php +++ b/app/Http/Controllers/MenuCompanyController.php @@ -9,33 +9,15 @@ use Illuminate\Support\Facades\Log; class MenuCompanyController extends Controller { - // public function add(Request $request) - // { - // $this->validate($request, [ - // 'icon' => 'required', - // 'name' => 'string|required', - // 'url' => 'required|unique:m_company_menu,url', - // 'sequence' => 'required|integer', - // ]); - - // $data = $request->all(); - - // $data['created_by'] = $this->currentName; - - // $result = MenuCompany::create($data); - - // if ($result) { - // return response()->json(['status' => 'success', 'message' => 'add data menu successfully!', 'code' => 200], 200); - // } else { - // return response()->json(['status' => 'failed', 'message' => 'add data menu failed!', 'code' => 400], 400); - // } - // } - public function addMultiple(Request $request) { $menus = $request->all(); - if (is_array($menus) && count($menus) > 0) { + $data = MenuCompany::where('company_id',$menus[0]['company_id']); + if($data){ + $data->delete(); + } + if (is_array($menus) && count($menus) > 0 && isset($menus[0]['menu_id'])) { $countRes = 0; foreach ($menus as $menu) { @@ -60,12 +42,17 @@ class MenuCompanyController extends Controller } if ($countRes > 0) { - return response()->json(['status' => 'success', 'message' => 'add data menu successfully!', 'code' => 200]); + return response()->json(['status' => 'success', 'message' => 'Add data menu successfully!', 'code' => 200]); } else { - return response()->json(['status' => 'failed', 'message' => 'add data menu failed created!', 'code' => 400]); + return response()->json(['status' => 'failed', 'message' => 'Add data menu failed created!', 'code' => 500]); } } else { - return response()->json(['status' => 'failed', 'message' => 'add data menu failed created!', 'code' => 400]); + if(isset($data)) + { + return response()->json(['status' => 'success', 'message' => 'Add data menu successfully!', 'code' => 200]); + }else{ + return response()->json(['status' => 'failed', 'message' => 'Add data menu failed created!', 'code' => 500]); + } } } @@ -120,15 +107,15 @@ class MenuCompanyController extends Controller if ($data) { $delete = $data->delete(); } else { - return response()->json(['status' => 'failed', 'message' => 'data menu not found!', 'code' => 400], 400); + return response()->json(['status' => 'failed', 'message' => 'Data menu not found!', 'code' => 400], 400); die(); } if ($delete) { - return response()->json(['status' => 'success', 'message' => 'data menu successfully deleted!', 'code' => 200], 200); + return response()->json(['status' => 'success', 'message' => 'Data menu successfully deleted!', 'code' => 200], 200); } else { - return response()->json(['status' => 'failed', 'message' => 'data menu failed deleted!', 'code' => 400], 400); + return response()->json(['status' => 'failed', 'message' => 'Data menu failed deleted!', 'code' => 400], 400); } } From 7372d1801edb5a1dc125a089e6262842c913f42a Mon Sep 17 00:00:00 2001 From: wahyuun Date: Sat, 25 Nov 2023 01:01:08 +0700 Subject: [PATCH 4/4] update model --- app/Models/Company.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/app/Models/Company.php b/app/Models/Company.php index db52f7d..2dc38e5 100644 --- a/app/Models/Company.php +++ b/app/Models/Company.php @@ -31,7 +31,6 @@ class Company extends Model 'created_at', 'created_by', 'updated_at', - 'updated_by', - 'company_id' + 'updated_by' ]; }