PluginProbe
FluentBoards – Project Management, Task Management, Goal Tracking, Kanban Board, and, Team Collaboration / 2.0.4
FluentBoards – Project Management, Task Management, Goal Tracking, Kanban Board, and, Team Collaboration v2.0.4
2.0.15 2.0.12 2.0.10 2.0.4 2.0.1 2.0.0 1.95.3 1.95.2 1.95 1.91.6 trunk 1.11 1.12 1.13 1.20 1.21 1.22 1.23 1.30 1.31 1.32 1.35 1.40 1.41 1.45 All 41 releases
fluent-boards / app / Http / Controllers / FolderController.php

FolderController.php in FluentBoards – Project Management, Task Management, Goal Tracking, Kanban Board, and, Team Collaboration 2.0.4, at app/Http/Controllers/FolderController.php

120 lines 3.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace FluentBoards\App\Http\Controllers;
4
5 use FluentBoards\App\Models\Folder;
6 use FluentBoards\App\Services\FolderService;
7 use FluentBoards\Framework\Http\Request\Request;
8
9 class FolderController extends Controller
10 {
11 protected $folderService;
12
13 public function __construct(FolderService $folderService)
14 {
15 parent::__construct();
16 $this->folderService = $folderService;
17 }
18
19 public function createFolder(Request $request)
20 {
21 $data = $this->validate($request->all(), [
22 'title' => 'required|string|max:50',
23 ]);
24
25 try {
26 $folder = $this->folderService->create($data);
27
28 return $this->sendSuccess([
29 'message' => __('Folder has been created', 'fluent-boards'),
30 'folder' => $folder,
31 ]);
32 } catch (\Exception $e) {
33 return $this->sendError($e->getMessage(), 400);
34 }
35 }
36
37 public function getFolders()
38 {
39 try {
40 $folders = $this->folderService->getFolders();
41
42 return $this->sendSuccess([
43 'folders' => $folders,
44 ]);
45 } catch (\Exception $e) {
46 return $this->sendError([
47 'message' => $e->getMessage()
48 ], 400);
49 }
50 }
51
52 public function getFolderById(Request $request, $folderId)
53 {
54 $order = $request->getSafe('order', 'sanitize_text_field', 'created_at');
55 $orderBy = $request->getSafe('orderBy', 'sanitize_text_field', 'DESC');
56 $searchInput = $request->getSafe('searchInput', 'sanitize_text_field');
57 $option = $request->getSafe('option', 'sanitize_text_field');
58
59 try {
60 $folder = $this->folderService->getFolderById($folderId, [
61 'order' => $order,
62 'orderBy' => $orderBy,
63 'searchInput' => $searchInput,
64 'option' => $option
65 ]);
66
67 return $this->sendSuccess([
68 'folder' => $folder,
69 ], 200);
70 } catch (\Exception $e) {
71 return $this->sendError($e->getMessage(), 400);
72 }
73 }
74
75 public function addBoardToFolder(Request $request, $folderId)
76 {
77 try {
78 $boardIds = $request->getSafe('board_ids');
79 $this->folderService->addBoardToFolder($folderId, $boardIds);
80
81 return $this->sendSuccess([
82 'message' => __('Added to folder successfully!', 'fluent-boards'),
83 ]);
84 } catch (\Exception $e) {
85 return $this->sendError($e->getMessage(), 400);
86 }
87 }
88
89 public function removeBoardFromFolder(Request $request, $folderId)
90 {
91 $boardId = $request->getSafe('board_id', 'absint');
92 $folder = Folder::findOrFail(absint($folderId));
93 $this->folderService->removeBoardFromFolder($folder->id, $boardId);
94
95 return $this->sendSuccess([
96 'message' => __('Removed from folder successfully!', 'fluent-boards'),
97 ]);
98 }
99
100 public function updateFolder(Request $request, $folderId)
101 {
102 $title = $request->getSafe('title', 'sanitize_text_field');
103 $folder = $this->folderService->updateFolder($folderId, $title);
104
105 return $this->sendSuccess([
106 'message' => __('Folder updated successfully', 'fluent-boards'),
107 'folder' => $folder,
108 ]);
109 }
110
111 public function deleteFolder($folderId)
112 {
113 $this->folderService->deleteFolder($folderId);
114
115 return $this->sendSuccess([
116 'message' => __('Folder deleted successfully.', 'fluent-boards'),
117 ]);
118 }
119 }
120