create api for dashboard client portal

This commit is contained in:
Muhammad Fajar
2022-12-06 18:48:31 +07:00
parent b26ccdd0e6
commit 723c9f1895
6 changed files with 213 additions and 41 deletions

View File

@@ -0,0 +1,75 @@
<?php
namespace Modules\Client\Http\Controllers\Api;
use Illuminate\Contracts\Support\Renderable;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Illuminate\Support\Facades\Auth;
class CorporateController extends Controller
{
/**
* Display a listing of the resource.
* @return Renderable
*/
public function index(Request $request)
{
$userLogin = Auth::user();
$corporate = $userLogin->managedCorporates()->select(['corporates.id', 'corporates.name'])->get();
// corporate policy, all member list, notification
return response()->json($corporate);
}
/**
* Store a newly created resource in storage.
* @param Request $request
* @return Renderable
*/
public function store(Request $request)
{
}
/**
* Show the specified resource.
* @param int $id
* @return Renderable
*/
public function show($corporate_id)
{
//
}
/**
* Show the form for editing the specified resource.
* @param int $id
* @return Renderable
*/
public function edit($id)
{
return view('client::edit');
}
/**
* Update the specified resource in storage.
* @param Request $request
* @param int $id
* @return Renderable
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
* @param int $id
* @return Renderable
*/
public function destroy($id)
{
//
}
}

View File

@@ -5,6 +5,8 @@ namespace Modules\Client\Http\Controllers\Api;
use Illuminate\Contracts\Support\Renderable;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Illuminate\Support\Facades\Auth;
use Modules\Client\Transformers\DashboardResources;
class DashboardController extends Controller
{
@@ -12,18 +14,12 @@ class DashboardController extends Controller
* Display a listing of the resource.
* @return Renderable
*/
public function index()
public function index(Request $request)
{
$user = auth()->user();
$user = Auth::user();
$data = DashboardResources::make($user->managedCorporates()->where('active', 1)->with('currentPolicy', 'employees')->first());
$corporate = $user->managedCorporates()
->withCount('employees')
->with(['policies' => function ($policy) {
$policy->limit(1)->latest();
}])
->first();
return response()->json(compact('corporate'));
return response()->json($data);
}
/**

View File

@@ -5,6 +5,7 @@ namespace Modules\Client\Http\Controllers\Api;
use Illuminate\Contracts\Support\Renderable;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Illuminate\Support\Facades\Auth;
class UserController extends Controller
{
@@ -14,7 +15,10 @@ class UserController extends Controller
*/
public function index()
{
return response()->json(auth()->user());
$userLogin = Auth::user();
$corporateSelected = $userLogin->managedCorporates()->select('corporates.id')->where('active', 1)->first();
return response()->json(['user' => $userLogin, 'corporate' => $corporateSelected]);
}
/**