@@ -11,6 +11,7 @@ const { transformQuery } = require("../utils/tasks");
11
11
const { getPaginatedLink } = require ( "../utils/helper" ) ;
12
12
const { updateUserStatusOnTaskUpdate, updateStatusOnTaskCompletion } = require ( "../models/userStatus" ) ;
13
13
const dataAccess = require ( "../services/dataAccessLayer" ) ;
14
+ const { parseSearchQuery } = require ( "../utils/tasks" ) ;
14
15
/**
15
16
* Creates new task
16
17
*
@@ -130,29 +131,42 @@ const fetchTasks = async (req, res) => {
130
131
try {
131
132
const { dev, status, page, size, prev, next, q : queryString } = req . query ;
132
133
const transformedQuery = transformQuery ( dev , status , size , page ) ;
133
- const searchTerm = queryString || "" ;
134
+
134
135
if ( dev ) {
135
136
const paginatedTasks = await fetchPaginatedTasks ( { ...transformedQuery , prev, next } ) ;
136
137
return res . json ( {
137
138
message : "Tasks returned successfully!" ,
138
139
...paginatedTasks ,
139
140
} ) ;
140
141
}
141
- if ( queryString ) {
142
- const filterTasks = await tasks . fetchTasks ( searchTerm ) ;
142
+
143
+ if ( queryString !== undefined ) {
144
+ const searchParams = parseSearchQuery ( queryString ) ;
145
+ const filterTasks = await tasks . fetchTasks ( searchParams . searchTerm ) ;
143
146
const tasksWithRdsAssigneeInfo = await fetchTasksWithRdsAssigneeInfo ( filterTasks ) ;
147
+ if ( tasksWithRdsAssigneeInfo . length === 0 ) {
148
+ return res . status ( 404 ) . json ( {
149
+ message : "No tasks found." ,
150
+ tasks : [ ] ,
151
+ } ) ;
152
+ }
144
153
return res . json ( {
145
154
message : "Filter tasks returned successfully!" ,
146
- tasks : tasksWithRdsAssigneeInfo . length > 0 ? tasksWithRdsAssigneeInfo : [ ] ,
155
+ tasks : tasksWithRdsAssigneeInfo ,
147
156
} ) ;
148
157
}
149
158
150
159
const allTasks = await tasks . fetchTasks ( ) ;
151
160
const tasksWithRdsAssigneeInfo = await fetchTasksWithRdsAssigneeInfo ( allTasks ) ;
152
-
161
+ if ( tasksWithRdsAssigneeInfo . length === 0 ) {
162
+ return res . status ( 404 ) . json ( {
163
+ message : "No tasks found" ,
164
+ tasks : [ ] ,
165
+ } ) ;
166
+ }
153
167
return res . json ( {
154
168
message : "Tasks returned successfully!" ,
155
- tasks : tasksWithRdsAssigneeInfo . length > 0 ? tasksWithRdsAssigneeInfo : [ ] ,
169
+ tasks : tasksWithRdsAssigneeInfo ,
156
170
} ) ;
157
171
} catch ( err ) {
158
172
logger . error ( `Error while fetching tasks ${ err } ` ) ;
0 commit comments