include trashed pages functionality added
parent
49d8143062
commit
bed081881f
|
|
@ -34,6 +34,7 @@ class PagesController extends Controller {
|
||||||
public function index(Request $request): JsonResponse {
|
public function index(Request $request): JsonResponse {
|
||||||
$filters = collect($request->has('filters') ? json_decode($request->get('filters'), true) : [])->filter(function($val) {return $val;});
|
$filters = collect($request->has('filters') ? json_decode($request->get('filters'), true) : [])->filter(function($val) {return $val;});
|
||||||
$query = $this->model->query();
|
$query = $this->model->query();
|
||||||
|
if ($request->get('with_trashed')) $query->withTrashed();
|
||||||
$service = FiltersService::getService('pages');
|
$service = FiltersService::getService('pages');
|
||||||
$service->applyFilters($query, $filters);
|
$service->applyFilters($query, $filters);
|
||||||
$paginator = $query->paginate(config('app.pagination_limit'));
|
$paginator = $query->paginate(config('app.pagination_limit'));
|
||||||
|
|
@ -41,8 +42,10 @@ class PagesController extends Controller {
|
||||||
}
|
}
|
||||||
|
|
||||||
public function show(Request $request, $id): JsonResponse {
|
public function show(Request $request, $id): JsonResponse {
|
||||||
$model = $this->model->byUuid($id)->firstOrFail();
|
$query = $this->model->byUuid($id);
|
||||||
return fractal($model, new PageTransformer())->respond();
|
if ($request->get('with_trashed')) $query->withTrashed();
|
||||||
|
$model = $query->firstOrFail();
|
||||||
|
return fractal($model, new PageTransformer($request->get('with_trashed')))->respond();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function move(Request $request, $id): JsonResponse {
|
public function move(Request $request, $id): JsonResponse {
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,12 @@ use League\Fractal\Resource\Primitive;
|
||||||
use League\Fractal\TransformerAbstract;
|
use League\Fractal\TransformerAbstract;
|
||||||
|
|
||||||
class PageTransformer extends TransformerAbstract {
|
class PageTransformer extends TransformerAbstract {
|
||||||
|
public bool $withTrashed = false;
|
||||||
|
|
||||||
|
public function __construct(bool $withTrashed = false) {
|
||||||
|
$this->withTrashed = $withTrashed;
|
||||||
|
}
|
||||||
|
|
||||||
protected array $defaultIncludes = [
|
protected array $defaultIncludes = [
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
@ -43,11 +49,7 @@ class PageTransformer extends TransformerAbstract {
|
||||||
}
|
}
|
||||||
|
|
||||||
public function includeChildren(Page $model): Collection {
|
public function includeChildren(Page $model): Collection {
|
||||||
return $this->collection($model->children, new PageTransformer());
|
return $this->collection($this->withTrashed ? $model->children()->withTrashed()->get() : $model->children, new PageTransformer($this->withTrashed));
|
||||||
}
|
|
||||||
|
|
||||||
public function includeChildrenWithTrashed(Page $model): Collection {
|
|
||||||
return $this->collection($model->children()->withTrashed()->get, new PageTransformer());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function includeParent(Page $model): ?Item {
|
public function includeParent(Page $model): ?Item {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue