Browse Source

Merge pull request 'company management' (#7) from dev-wahyun into staging

Reviewed-on: ibnu/generic-ospro-backend#7
pull/1/head
farhantock 10 months ago
parent
commit
a07b243100
  1. 29
      app/Http/Controllers/AuthController.php
  2. 18
      app/Http/Controllers/CompanyController.php
  3. 45
      app/Http/Controllers/MenuCompanyController.php
  4. 3
      app/Models/Company.php

29
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,8 +26,8 @@ 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;
@ -37,34 +38,38 @@ class AuthController extends Controller
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,7 +85,7 @@ 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)

18
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);

45
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);
}
}

3
app/Models/Company.php

@ -31,7 +31,6 @@ class Company extends Model
'created_at',
'created_by',
'updated_at',
'updated_by',
'company_id'
'updated_by'
];
}

Loading…
Cancel
Save