updated returnAsResource parameters

This commit is contained in:
2023-03-29 15:46:06 +10:00
parent 06c9d48126
commit c96b3d8349
7 changed files with 23 additions and 31 deletions

View File

@@ -122,19 +122,18 @@ class ApiController extends Controller
* Return resource data * Return resource data
* *
* @param array|Model|Collection $data Resource data. * @param array|Model|Collection $data Resource data.
* @param boolean $isCollection If the data is a group of items. * @param array $options Respond options.
* @param array|null $appendData Data to append to response.
* @param string|null $resourceName The resource name to group the result.
* @param integer $respondCode Resource code.
* @return \Illuminate\Http\JsonResponse * @return \Illuminate\Http\JsonResponse
*/ */
protected function respondAsResource( protected function respondAsResource(
mixed $data, mixed $data,
bool $isCollection = false, array $options = [],
mixed $appendData = null,
string $resourceName = null,
int $respondCode = HttpResponseCodes::HTTP_OK
) { ) {
$isCollection = $options['isCollection'] ?? false;
$appendData = $options['appendData'] ?? null;
$resourceName = $options['resourceName'] ?? null;
$respondCode = $options['respondCode'] ?? HttpResponseCodes::HTTP_OK;
if ($data === null || ($data instanceof Collection && $data->count() === 0)) { if ($data === null || ($data instanceof Collection && $data->count() === 0)) {
return $this->respondNotFound(); return $this->respondNotFound();
} }

View File

@@ -73,8 +73,7 @@ class AuthController extends ApiController
return $this->respondAsResource( return $this->respondAsResource(
$user->makeVisible(['permissions']), $user->makeVisible(['permissions']),
false, ['appendData' => ['token' => $token]]
['token' => $token]
); );
}//end if }//end if

View File

@@ -31,8 +31,8 @@ class EventController extends ApiController
return $this->respondAsResource( return $this->respondAsResource(
$collection, $collection,
true, ['isCollection' => true,
['total' => $total] 'appendData' => ['total' => $total]]
); );
} }
@@ -64,9 +64,7 @@ class EventController extends ApiController
$event = Event::create($request->all()); $event = Event::create($request->all());
return $this->respondAsResource( return $this->respondAsResource(
EventConductor::model($request, $event), EventConductor::model($request, $event),
false, ['respondCode' => HttpResponseCodes::HTTP_CREATED]
null,
HttpResponseCodes::HTTP_CREATED
); );
} else { } else {
return $this->respondForbidden(); return $this->respondForbidden();

View File

@@ -33,8 +33,8 @@ class MediaController extends ApiController
return $this->respondAsResource( return $this->respondAsResource(
$collection, $collection,
true, ['isCollection' => true,
['total' => $total] 'appendData' => ['total' => $total]]
); );
} }
@@ -104,9 +104,7 @@ class MediaController extends ApiController
$media = $request->user()->media()->create($request->all()); $media = $request->user()->media()->create($request->all());
return $this->respondAsResource( return $this->respondAsResource(
MediaConductor::model($request, $media), MediaConductor::model($request, $media),
false, ['respondCode' => HttpResponseCodes::HTTP_CREATED]
null,
HttpResponseCodes::HTTP_CREATED
); );
}//end if }//end if

View File

@@ -42,8 +42,8 @@ class PostController extends ApiController
return $this->respondAsResource( return $this->respondAsResource(
$collection, $collection,
true, ['isCollection' => true,
['total' => $total] 'appendData' => ['total' => $total]]
); );
} }
@@ -75,9 +75,7 @@ class PostController extends ApiController
$post = Post::create($request->all()); $post = Post::create($request->all());
return $this->respondAsResource( return $this->respondAsResource(
PostConductor::model($request, $post), PostConductor::model($request, $post),
false, ['respondCode' => HttpResponseCodes::HTTP_CREATED]
null,
HttpResponseCodes::HTTP_CREATED
); );
} else { } else {
return $this->respondForbidden(); return $this->respondForbidden();
@@ -134,7 +132,7 @@ class PostController extends ApiController
return $attachment->media; return $attachment->media;
}); });
return $this->respondAsResource(MediaConductor::collection($request, $medium), true, null, 'attachment'); return $this->respondAsResource(MediaConductor::collection($request, $medium), ['isCollection' => true, 'resourceName' => 'attachment']);
} }
return $this->respondForbidden(); return $this->respondForbidden();

View File

@@ -34,8 +34,8 @@ class SubscriptionController extends ApiController
return $this->respondAsResource( return $this->respondAsResource(
$collection, $collection,
true, ['isCollection' => true,
['total' => $total] 'appendData' => ['total' => $total]]
); );
} }

View File

@@ -56,8 +56,8 @@ class UserController extends ApiController
return $this->respondAsResource( return $this->respondAsResource(
$collection, $collection,
true, ['isCollection' => true,
['total' => $total] 'appendData' => ['total' => $total]]
); );
} }
@@ -71,7 +71,7 @@ class UserController extends ApiController
{ {
if (UserConductor::creatable() === true) { if (UserConductor::creatable() === true) {
$user = User::create($request->all()); $user = User::create($request->all());
return $this->respondAsResource(UserConductor::model($request, $user), false, [], null, HttpResponseCodes::HTTP_CREATED); return $this->respondAsResource(UserConductor::model($request, $user), ['respondCode' => HttpResponseCodes::HTTP_CREATED]);
} else { } else {
return $this->respondForbidden(); return $this->respondForbidden();
} }