Fixed major bugs
This commit is contained in:
@@ -13,9 +13,6 @@ class BylawApiController extends Controller
|
||||
{
|
||||
use BaseApiResponse;
|
||||
|
||||
/**
|
||||
* Get all Bylaw Subject Categories
|
||||
*/
|
||||
public function categories()
|
||||
{
|
||||
$categories = BylawSubjectCategory::all()->map(function ($category) {
|
||||
@@ -28,9 +25,6 @@ class BylawApiController extends Controller
|
||||
return $this->success($categories, 'Success', 'Bylaw Categories List');
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all Bylaw Legal Authorities
|
||||
*/
|
||||
public function authorities()
|
||||
{
|
||||
$authorities = BylawLegalAuthority::all()->map(function ($authority) {
|
||||
@@ -44,9 +38,6 @@ class BylawApiController extends Controller
|
||||
return $this->success($authorities, 'Success', 'Bylaw Authorities List');
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Paginated Bylaws (Filtered & Sorted by Approval Date)
|
||||
*/
|
||||
public function index(Request $request)
|
||||
{
|
||||
$request->validate([
|
||||
@@ -93,9 +84,6 @@ class BylawApiController extends Controller
|
||||
return $this->success($responseData, 'Success', 'Bylaws Fetched');
|
||||
}
|
||||
|
||||
/**
|
||||
* Search Bylaws by Keyword
|
||||
*/
|
||||
public function search(Request $request)
|
||||
{
|
||||
$request->validate([
|
||||
@@ -118,8 +106,6 @@ class BylawApiController extends Controller
|
||||
}
|
||||
|
||||
$perPage = min(max((int) $request->input('per_page', 15), 10), 100);
|
||||
|
||||
// Default search sort to newest first
|
||||
$paginator = $query->orderBy('approval_date', 'desc')->paginate($perPage);
|
||||
|
||||
$items = collect($paginator->items())->map(function ($item) {
|
||||
@@ -137,9 +123,6 @@ class BylawApiController extends Controller
|
||||
return $this->success($responseData, 'Success', 'Search Results Fetched');
|
||||
}
|
||||
|
||||
/**
|
||||
* Contextual Pager API
|
||||
*/
|
||||
public function pager($id)
|
||||
{
|
||||
$current = BylawDocument::with(['category', 'approvalAuthority', 'promulgationAuthority'])
|
||||
@@ -199,11 +182,15 @@ class BylawApiController extends Controller
|
||||
return $this->success($results, 'Success', 'Pager Window Details');
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper to uniformly format the Bylaw Document payload
|
||||
*/
|
||||
private function isLockedForCurrentUser($item): bool
|
||||
{
|
||||
return ! auth()->user()->isSubscriber() && (bool) ($item->is_locked ?? false);
|
||||
}
|
||||
|
||||
private function formatBylaw($item)
|
||||
{
|
||||
$isLocked = $this->isLockedForCurrentUser($item);
|
||||
|
||||
return [
|
||||
'id' => $item->id,
|
||||
'title' => $item->title,
|
||||
@@ -219,8 +206,9 @@ class BylawApiController extends Controller
|
||||
'execution_date' => $item->execution_date,
|
||||
'bylaw_type' => $item->bylaw_type,
|
||||
'global_status' => $item->global_status,
|
||||
'pdf_file_url' => $item->pdf_file_path ? asset('storage/' . $item->pdf_file_path) : null,
|
||||
'description' => $item->description,
|
||||
'pdf_file_url' => $isLocked ? null : ($item->pdf_file_path ? asset('storage/' . $item->pdf_file_path) : null),
|
||||
'description' => $isLocked ? null : $item->description,
|
||||
'is_locked' => $isLocked,
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user