PluginProbe
FluentBoards – Project Management, Task Management, Goal Tracking, Kanban Board, and, Team Collaboration / 1.32
FluentBoards – Project Management, Task Management, Goal Tracking, Kanban Board, and, Team Collaboration v1.32
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 / Routes / api.php

api.php in FluentBoards – Project Management, Task Management, Goal Tracking, Kanban Board, and, Team Collaboration 1.32, at app/Http/Routes/api.php

180 lines 11.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 //if accessed directly exit
3 if (!defined('ABSPATH')) exit;
4
5 /**
6 * @var $router \FluentBoards\Framework\Http\Router
7 */
8
9 $router->prefix('tasks')->withPolicy('AuthPolicy')->group(function ($router) {
10 $router->get('/top-in-boards', 'TaskController@getTopTasksForBoards');
11 $router->get('/crm-associated-tasks/{associated_id}', 'TaskController@getAssociatedTasks')->int('associated_id');
12 $router->get('/stage/{task_id}', 'TaskController@getStageByTask'); //FUTURE: this api need to be relocated
13
14 $router->post('/create-first-task', 'TaskController@createFirstTask');
15 $router->get('/boards-by-type/{type}', 'BoardController@getBoardsByType');
16 $router->get('/{task_id}/labels', 'TaskController@getLabelsByTask');
17 });
18
19 $router->withPolicy('BoardUserPolicy')->group(function ($router) {
20 $router->get('/member-associated-users/{id}', 'UserController@memberAssociatedTaskUsers');
21 $router->get('/search-member-users/{id}', 'UserController@searchMemberUser');
22 $router->get('get-user-permissions', 'OptionsController@getUserPermission');
23 $router->get('ajax-options', 'OptionsController@selectorOptions');
24 $router->put('update-user-permissions', 'OptionsController@updatedUserPermission');
25 $router->post('set-permission-all-board-admin', 'OptionsController@SetUserPermissionAllBoardAdmin');
26 $router->delete('remove-user-from-board', 'OptionsController@removeUserFromBoard');
27 $router->get('/fluent-boards-users', 'UserController@allFluentBoardsUsers');
28 $router->get('/search-fluent-boards-users', 'UserController@searchFluentBoardsUser');
29 $router->post('update-global-notification-settings', 'OptionsController@updateGlobalNotificationSettings');
30 $router->get('get-global-notification-settings', 'OptionsController@getGlobalNotificationSettings');
31 $router->put('update-dashboard-view-settings', 'OptionsController@updateDashboardViewSettings');
32 $router->get('get-dashboard-view-settings', 'OptionsController@getDashboardViewSettings');
33 });
34
35 $router->prefix('projects')->withPolicy('AuthPolicy')->group(function ($router) {
36 $router->get('/', 'BoardController@getBoards');
37 $router->post('/', 'BoardController@create');
38 $router->get('/get-default-board-colors', 'BoardController@getBoardDefaultBackgroundColors');
39 $router->get('/list-of-boards', 'BoardController@getBoardsList'); // it is using for to get all boards by user
40 $router->get('/crm-associated-boards/{id}', 'BoardController@getAssociatedBoards')->int('associated_id');
41 $router->get('/currencies', 'BoardController@getCurrencies');
42 $router->get('/user-admin-in-boards', 'BoardController@getUsersOfBoards');
43 $router->get('/recent-boards', 'BoardController@getRecentBoards');
44 $router->post('/onboard', 'BoardController@createFirstBoard');
45 $router->put('/skip-onboarding', 'BoardController@skipOnboarding');
46 });
47
48 $router->prefix('projects/{board_id}')->withPolicy('SingleBoardPolicy')->group(function ($router) {
49 $router->get('/', 'BoardController@find')->int('board_id');
50 $router->get('/has-data-changed', 'BoardController@hasDataChanged')->int('board_id');
51 $router->put('/update-board-properties', 'BoardController@updateBoardProperties')->int('board_id');
52 $router->put('/', 'BoardController@update')->int('board_id');
53 $router->delete('/', 'BoardController@delete')->int('board_id');
54 $router->get('/labels', 'LabelController@getLabelsByBoard');
55 $router->post('/labels', 'LabelController@createLabel');
56 $router->get('/labels/used-in-tasks', 'LabelController@getLabelsByBoardUsedInTasks');
57 $router->get('/tasks/{task_id}/labels', 'LabelController@getLabelsByTask'); //FUTURE: these api need to be relocated
58 $router->post('/labels/task', 'LabelController@createLabelForTask');
59 $router->put('/labels/{label_id}', 'LabelController@editLabelofBoard');
60 $router->delete('/labels/{label_id}', 'LabelController@deleteLabelOfBoard');
61 $router->delete('/tasks/{task_id}/labels/{label_id}', 'LabelController@deleteLabelOfTask');
62
63 $router->get('/users', 'BoardController@getBoardUsers');
64 $router->post('/user/{user_id}/remove', 'BoardController@removeUserFromBoard')->int('board_id')->int('user_id');
65 $router->post('/add-members', 'BoardController@addMembersInBoard');
66
67 $router->get('/assignees', 'BoardController@getAssigneesByBoard')->int('board_id');
68 $router->get('/activities', 'BoardController@getActivities')->int('board_id');
69
70 $router->put('/stage-move-all-task', 'BoardController@moveAllTasks')->int('board_id');
71 $router->post('/stage-create', 'BoardController@createStage')->int('board_id');
72 $router->put('/stage/{stage_id}/sort-task', 'StageController@sortStageTasks')->int('board_id')->int('stage_id');
73 $router->put('/stage/{stage_id}/archive-all-task', 'BoardController@archiveAllTasksInStage')->int('board_id')->int('stage_id');
74 $router->put('/change-stage-position', 'BoardController@changePositionOfStage')->int('board_id');
75 $router->put('/re-position-stages', 'BoardController@rePositionStages')->int('board_id');
76 $router->put('/update-stage/{stage_id}', 'StageController@updateStage')->int('board_id'); //Todo:: will delete later
77 $router->put('/update-stage-property/{stage_id}', 'StageController@updateStageProperty')->int('board_id');
78 $router->put('/archive-stage/{stage_id}', 'BoardController@archiveStage')->int('board_id');
79 $router->put('/stage-view/{stage_id}', 'BoardController@changeStageView')->int('board_id');
80 $router->put('/restore-stage/{stage_id}', 'BoardController@restoreStage')->int('board_id');
81 $router->put('/drag-stage', 'StageController@dragStage')->int('board_id');
82 $router->get('/archived-stages', 'BoardController@getArchivedStage')->int('board_id');
83 $router->get('/archived-tasks', 'TaskController@getArchivedTasks')->int('board_id');
84 $router->get('/stage-task-available-positions/{stage_id}', 'BoardController@getStageTaskAvailablePositions')->int('board_id')->int('stage_id');
85
86 $router->post('/crm-contact', 'BoardController@updateAssociateCrmContact')->int('board_id');
87 $router->get('/crm-contacts', 'BoardController@getAssociateCrmContacts')->int('board_id');
88 $router->delete('/crm-contact/{contact_id}', 'BoardController@deleteAssociateCrmContact')->int('board_id')->int('contact_id');
89
90 $router->get('/notification-settings', 'NotificationController@getBoardNotificationSettings')->int('board_id');
91 $router->put('/update-notification-settings', 'NotificationController@updateBoardNotificationSettings')->int('board_id');
92
93 $router->post('/duplicate-board', 'BoardController@duplicateBoard')->int('board_id');
94 $router->post('/import-from-board', 'BoardController@importFromBoard')->int('board_id');
95
96 $router->put('/upload/background', 'BoardController@setBoardBackground')->int('board_id');
97 $router->put('/archive-board', 'BoardController@archiveBoard')->int('board_id');
98 $router->put('/restore-board', 'BoardController@restoreBoard')->int('board_id');
99
100
101
102 //# Tasks under a single board routes
103 //# Route prefix: /projects/{id}/tasks
104 $router->prefix('/tasks')->group(function ($router) {
105 $router->get('/', 'TaskController@getTasksByBoard')->int('board_id');
106 $router->get('/by-stage', 'TaskController@getTasksByBoardStage')->int('board_id');
107 $router->post('/', 'TaskController@create');
108 $router->get('/archived', 'TaskController@getArchivedTasks')->int('board_id');
109 $router->get('/{task_id}', 'TaskController@find')->int('board_id')->int('task_id')->int('task_id');
110 $router->put('/{task_id}', 'TaskController@updateTaskProperties')->int('board_id')->int('task_id');
111 $router->post('/{task_id}/dates', 'TaskController@updateTaskDates')->int('board_id')->int('task_id');
112 $router->put('/{task_id}/move-task', 'TaskController@moveTask')->int('board_id')->int('task_id');
113 $router->post('/update-cover-photo/{task_id}', 'TaskController@updateTaskCoverPhoto')->int('task_id');
114 $router->post('/status-update/{task_id}', 'TaskController@taskStatusUpdate')->int('task_id');
115 $router->delete('/{task_id}', 'TaskController@deleteTask')->int('board_id')->int('task_id');
116 $router->put('/{task_id}/move-to-next-stage', 'TaskController@moveTaskToNextStage')->int('board_id')->int('task_id');
117
118 // Comments Routes Area
119 $router->get('/{task_id}/comments', 'CommentController@getComments')->int('board_id')->int('task_id');
120 $router->post('/{task_id}/comments', 'CommentController@create')->int('board_id')->int('task_id');
121 $router->put('/comments/{comment_id}', 'CommentController@update')->int('board_id')->int('comment_id');
122 $router->put('/reply/{reply_id}', 'CommentController@updateReply')->int('board_id')->int('reply_id');
123 $router->delete('/comments/{comment_id}', 'CommentController@deleteComment')->int('board_id')->int('comment_id');
124 $router->delete('/reply/{reply_id}', 'CommentController@deleteReply')->int('board_id')->int('reply_id');
125
126
127 // Activities Area
128 $router->get('/{task_id}/activities', 'TaskController@getActivities')->int('board_id')->int('task_id');
129
130 $router->post('/{task_id}/assign-yourself', 'TaskController@assignYourselfInTask')->int('board_id')->int('task_id');
131 $router->post('/{task_id}/detach-yourself', 'TaskController@detachYourselfFromTask')->int('board_id')->int('task_id');
132 $router->get('/{task_id}/comments-and-activities', 'TaskController@getCommentsAndActivities')->int('board_id')->int('task_id');
133 $router->post('/{task_id}/comment-image-upload', 'CommentController@handleImageUpload')->int('board_id')->int('task_id');
134 $router->post('/{task_id}/wp-editor-media-file-upload', 'TaskController@uploadMediaFileFromWpEditor')->int('board_id')->int('task_id');
135 });
136 });
137
138 $router->prefix('admin')->withPolicy('AdminPolicy')->group(function ($router) {
139
140 $router->get('/feature-modules', 'OptionsController@getAddonsSettings');
141 $router->post('/feature-modules', 'OptionsController@saveAddonsSettings');
142 $router->post('/feature-modules/install-plugin', 'OptionsController@installPlugin');
143
144 $router->get('/general-settings', 'OptionsController@getGeneralSettings');
145 $router->post('/general-settings', 'OptionsController@saveGeneralSettings');
146
147 $router->get('pages', 'OptionsController@getPages');
148
149 });
150
151 $router->prefix('webhooks')->withPolicy('WebhookPolicy')->group(function ($router) {
152 $router->get('/', 'WebhookController@index');
153 $router->post('/', 'WebhookController@create');
154 $router->put('/{id}', 'WebhookController@update')->int('id');
155 $router->delete('/{id}', 'WebhookController@delete')->int('id');
156 });
157
158
159 $router->prefix('member/{id}')->withPolicy('UserPolicy')->group(function ($router) {
160 $router->get('/', 'UserController@getMemberInfo');
161 $router->get('/projects', 'UserController@getMemberBoards');
162 $router->get('/tasks', 'UserController@getMemberAssociatedTasks');
163 $router->get('/activities', 'UserController@getMemberRelatedAcitivies');
164 });
165
166 /*
167 * TODO: I guess we can minimize the number of routes. and Backend code needs to be refactored
168 */
169
170 $router->withPolicy('UserPolicy')->get('/all-notifications', 'NotificationController@getAllNotifications');
171 $router->withPolicy('UserPolicy')->get('/all-unread-notifications', 'NotificationController@getAllUnreadNotifications');
172 $router->withPolicy('UserPolicy')->get('notification/unread-count', 'NotificationController@newNotificationNumber');
173 $router->withPolicy('UserPolicy')->put('notification/read', 'NotificationController@readNotification');
174 $router->withPolicy('UserPolicy')->get('quick-search', 'OptionsController@quickSearch');
175
176 $router->prefix('options')->withPolicy('AuthPolicy')->group(function ($router) {
177 $router->get('members', 'OptionsController@getBoardMembers');
178 $router->get('projects', 'OptionsController@getBoards');
179 });
180