UI: portal/header refinements, board index UX, and user settings
This commit is contained in:
@@ -11,7 +11,7 @@ class ForumController extends Controller
|
||||
{
|
||||
public function index(Request $request): JsonResponse
|
||||
{
|
||||
$query = Forum::query();
|
||||
$query = Forum::query()->withoutTrashed();
|
||||
|
||||
$parentParam = $request->query('parent');
|
||||
if (is_array($parentParam) && array_key_exists('exists', $parentParam)) {
|
||||
@@ -57,6 +57,10 @@ class ForumController extends Controller
|
||||
|
||||
$parentId = $this->parseIriId($data['parent'] ?? null);
|
||||
|
||||
if ($data['type'] === 'forum' && !$parentId) {
|
||||
return response()->json(['message' => 'Forums must belong to a category.'], 422);
|
||||
}
|
||||
|
||||
if ($parentId) {
|
||||
$parent = Forum::findOrFail($parentId);
|
||||
if ($parent->type !== 'category') {
|
||||
@@ -87,6 +91,12 @@ class ForumController extends Controller
|
||||
]);
|
||||
|
||||
$parentId = $this->parseIriId($data['parent'] ?? null);
|
||||
$nextType = $data['type'] ?? $forum->type;
|
||||
$nextParentId = array_key_exists('parent', $data) ? $parentId : $forum->parent_id;
|
||||
|
||||
if ($nextType === 'forum' && !$nextParentId) {
|
||||
return response()->json(['message' => 'Forums must belong to a category.'], 422);
|
||||
}
|
||||
|
||||
if (array_key_exists('parent', $data)) {
|
||||
if ($parentId) {
|
||||
@@ -115,8 +125,10 @@ class ForumController extends Controller
|
||||
return response()->json($this->serializeForum($forum));
|
||||
}
|
||||
|
||||
public function destroy(Forum $forum): JsonResponse
|
||||
public function destroy(Request $request, Forum $forum): JsonResponse
|
||||
{
|
||||
$forum->deleted_by = $request->user()?->id;
|
||||
$forum->save();
|
||||
$forum->delete();
|
||||
|
||||
return response()->json(null, 204);
|
||||
|
||||
Reference in New Issue
Block a user