added tests, bug fixes and cleanup
This commit is contained in:
@@ -121,13 +121,15 @@ class ApiController extends Controller
|
||||
/**
|
||||
* Return resource data
|
||||
*
|
||||
* @param array|Model|Collection $data Resource data.
|
||||
* @param array|null $appendData Data to append to response.
|
||||
* @param integer $respondCode Resource code.
|
||||
* @param array|Model|Collection $data Resource data.
|
||||
* @param boolean $isCollection If the data is a group of items.
|
||||
* @param array|null $appendData Data to append to response.
|
||||
* @param integer $respondCode Resource code.
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
*/
|
||||
protected function respondAsResource(
|
||||
mixed $data,
|
||||
bool $isCollection = false,
|
||||
mixed $appendData = null,
|
||||
int $respondCode = HttpResponseCodes::HTTP_OK
|
||||
) {
|
||||
@@ -144,8 +146,6 @@ class ApiController extends Controller
|
||||
$resourceName = strtolower($resourceName);
|
||||
}
|
||||
|
||||
$is_multiple = true;
|
||||
|
||||
$dataArray = [];
|
||||
if ($data instanceof Collection) {
|
||||
$dataArray = $data->toArray();
|
||||
@@ -157,7 +157,7 @@ class ApiController extends Controller
|
||||
}
|
||||
|
||||
$resource = [];
|
||||
if ($is_multiple === true) {
|
||||
if ($isCollection === true) {
|
||||
$resource = [Str::plural($resourceName) => $dataArray];
|
||||
} else {
|
||||
$resource = [Str::singular($resourceName) => $dataArray];
|
||||
|
||||
@@ -73,6 +73,7 @@ class AuthController extends ApiController
|
||||
|
||||
return $this->respondAsResource(
|
||||
$user->makeVisible(['permissions']),
|
||||
false,
|
||||
['token' => $token]
|
||||
);
|
||||
}//end if
|
||||
|
||||
@@ -31,6 +31,7 @@ class EventController extends ApiController
|
||||
|
||||
return $this->respondAsResource(
|
||||
$collection,
|
||||
true,
|
||||
['total' => $total]
|
||||
);
|
||||
}
|
||||
@@ -63,6 +64,7 @@ class EventController extends ApiController
|
||||
$event = Event::create($request->all());
|
||||
return $this->respondAsResource(
|
||||
EventConductor::model($request, $event),
|
||||
false,
|
||||
null,
|
||||
HttpResponseCodes::HTTP_CREATED
|
||||
);
|
||||
|
||||
@@ -33,6 +33,7 @@ class MediaController extends ApiController
|
||||
|
||||
return $this->respondAsResource(
|
||||
$collection,
|
||||
true,
|
||||
['total' => $total]
|
||||
);
|
||||
}
|
||||
@@ -103,6 +104,7 @@ class MediaController extends ApiController
|
||||
$media = $request->user()->media()->create($request->all());
|
||||
return $this->respondAsResource(
|
||||
MediaConductor::model($request, $media),
|
||||
false,
|
||||
null,
|
||||
HttpResponseCodes::HTTP_CREATED
|
||||
);
|
||||
|
||||
@@ -35,6 +35,7 @@ class PostController extends ApiController
|
||||
|
||||
return $this->respondAsResource(
|
||||
$collection,
|
||||
true,
|
||||
['total' => $total]
|
||||
);
|
||||
}
|
||||
@@ -67,6 +68,7 @@ class PostController extends ApiController
|
||||
$post = Post::create($request->all());
|
||||
return $this->respondAsResource(
|
||||
PostConductor::model($request, $post),
|
||||
false,
|
||||
null,
|
||||
HttpResponseCodes::HTTP_CREATED
|
||||
);
|
||||
|
||||
@@ -34,6 +34,7 @@ class SubscriptionController extends ApiController
|
||||
|
||||
return $this->respondAsResource(
|
||||
$collection,
|
||||
true,
|
||||
['total' => $total]
|
||||
);
|
||||
}
|
||||
|
||||
@@ -56,6 +56,7 @@ class UserController extends ApiController
|
||||
|
||||
return $this->respondAsResource(
|
||||
$collection,
|
||||
true,
|
||||
['total' => $total]
|
||||
);
|
||||
}
|
||||
@@ -70,7 +71,7 @@ class UserController extends ApiController
|
||||
{
|
||||
if (UserConductor::creatable() === true) {
|
||||
$user = User::create($request->all());
|
||||
return $this->respondAsResource(UserConductor::model($request, $user), [], HttpResponseCodes::HTTP_CREATED);
|
||||
return $this->respondAsResource(UserConductor::model($request, $user), false, [], HttpResponseCodes::HTTP_CREATED);
|
||||
} else {
|
||||
return $this->respondForbidden();
|
||||
}
|
||||
|
||||
@@ -14,10 +14,12 @@ class PostRequest extends BaseRequest
|
||||
public function postRules()
|
||||
{
|
||||
return [
|
||||
'slug' => 'string|min:6|unique:posts',
|
||||
'title' => 'string|min:6|max:255',
|
||||
'publish_at' => 'date',
|
||||
'user_id' => 'uuid|exists:users,id',
|
||||
'slug' => 'required|string|min:6|unique:posts',
|
||||
'title' => 'required|string|min:6|max:255',
|
||||
'publish_at' => 'required|date',
|
||||
'user_id' => 'required|uuid|exists:users,id',
|
||||
'content' => 'required|string|min:6',
|
||||
'hero' => 'required|uuid|exists:media,id',
|
||||
];
|
||||
}
|
||||
|
||||
@@ -37,6 +39,8 @@ class PostRequest extends BaseRequest
|
||||
'title' => 'string|min:6|max:255',
|
||||
'publish_at' => 'date',
|
||||
'user_id' => 'uuid|exists:users,id',
|
||||
'content' => 'string|min:6',
|
||||
'hero' => 'uuid|exists:media,id',
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user