@@ -39,18 +39,26 @@ Query::Query(appointmentsLoader&& getAppointments, tasksLoader&& getTasks, unrea
39
39
{
40
40
}
41
41
42
- void Query::loadAppointments () const
42
+ void Query::loadAppointments (const std::shared_ptr<service::RequestState>& state ) const
43
43
{
44
+ if (state)
45
+ {
46
+ auto todayState = std::static_pointer_cast<RequestState>(state);
47
+
48
+ todayState->appointmentsRequestId = todayState->requestId ;
49
+ todayState->loadAppointmentsCount ++;
50
+ }
51
+
44
52
if (_getAppointments)
45
53
{
46
54
_appointments = _getAppointments ();
47
55
_getAppointments = nullptr ;
48
56
}
49
57
}
50
58
51
- std::shared_ptr<Appointment> Query::findAppointment (std::shared_ptr<service::RequestState> state, const std::vector<uint8_t >& id) const
59
+ std::shared_ptr<Appointment> Query::findAppointment (const std::shared_ptr<service::RequestState>& state, const std::vector<uint8_t >& id) const
52
60
{
53
- loadAppointments ();
61
+ loadAppointments (state );
54
62
55
63
for (const auto & appointment : _appointments)
56
64
{
@@ -65,18 +73,26 @@ std::shared_ptr<Appointment> Query::findAppointment(std::shared_ptr<service::Req
65
73
return nullptr ;
66
74
}
67
75
68
- void Query::loadTasks () const
76
+ void Query::loadTasks (const std::shared_ptr<service::RequestState>& state ) const
69
77
{
78
+ if (state)
79
+ {
80
+ auto todayState = std::static_pointer_cast<RequestState>(state);
81
+
82
+ todayState->tasksRequestId = todayState->requestId ;
83
+ todayState->loadTasksCount ++;
84
+ }
85
+
70
86
if (_getTasks)
71
87
{
72
88
_tasks = _getTasks ();
73
89
_getTasks = nullptr ;
74
90
}
75
91
}
76
92
77
- std::shared_ptr<Task> Query::findTask (std::shared_ptr<service::RequestState> state, const std::vector<uint8_t >& id) const
93
+ std::shared_ptr<Task> Query::findTask (const std::shared_ptr<service::RequestState>& state, const std::vector<uint8_t >& id) const
78
94
{
79
- loadTasks ();
95
+ loadTasks (state );
80
96
81
97
for (const auto & task : _tasks)
82
98
{
@@ -91,18 +107,26 @@ std::shared_ptr<Task> Query::findTask(std::shared_ptr<service::RequestState> sta
91
107
return nullptr ;
92
108
}
93
109
94
- void Query::loadUnreadCounts () const
110
+ void Query::loadUnreadCounts (const std::shared_ptr<service::RequestState>& state ) const
95
111
{
112
+ if (state)
113
+ {
114
+ auto todayState = std::static_pointer_cast<RequestState>(state);
115
+
116
+ todayState->unreadCountsRequestId = todayState->requestId ;
117
+ todayState->loadUnreadCountsCount ++;
118
+ }
119
+
96
120
if (_getUnreadCounts)
97
121
{
98
122
_unreadCounts = _getUnreadCounts ();
99
123
_getUnreadCounts = nullptr ;
100
124
}
101
125
}
102
126
103
- std::shared_ptr<Folder> Query::findUnreadCount (std::shared_ptr<service::RequestState> state, const std::vector<uint8_t >& id) const
127
+ std::shared_ptr<Folder> Query::findUnreadCount (const std::shared_ptr<service::RequestState>& state, const std::vector<uint8_t >& id) const
104
128
{
105
- loadUnreadCounts ();
129
+ loadUnreadCounts (state );
106
130
107
131
for (const auto & folder : _unreadCounts)
108
132
{
@@ -117,7 +141,7 @@ std::shared_ptr<Folder> Query::findUnreadCount(std::shared_ptr<service::RequestS
117
141
return nullptr ;
118
142
}
119
143
120
- std::future<std::shared_ptr<service::Object>> Query::getNode (std::shared_ptr<service::RequestState> state, std::vector<uint8_t >&& id) const
144
+ std::future<std::shared_ptr<service::Object>> Query::getNode (const std::shared_ptr<service::RequestState>& state, std::vector<uint8_t >&& id) const
121
145
{
122
146
std::promise<std::shared_ptr<service::Object>> promise;
123
147
auto appointment = findAppointment (state, id);
@@ -154,7 +178,7 @@ struct EdgeConstraints
154
178
using vec_type = std::vector<std::shared_ptr<_Object>>;
155
179
using itr_type = typename vec_type::const_iterator;
156
180
157
- EdgeConstraints (std::shared_ptr<service::RequestState> state, const vec_type& objects)
181
+ EdgeConstraints (const std::shared_ptr<service::RequestState>& state, const vec_type& objects)
158
182
: _state(state)
159
183
, _objects(objects)
160
184
{
@@ -242,13 +266,13 @@ struct EdgeConstraints
242
266
const vec_type& _objects;
243
267
};
244
268
245
- std::future<std::shared_ptr<object::AppointmentConnection>> Query::getAppointments (std::shared_ptr<service::RequestState> state, std::unique_ptr<int >&& first, std::unique_ptr<response::Value>&& after, std::unique_ptr<int >&& last, std::unique_ptr<response::Value>&& before) const
269
+ std::future<std::shared_ptr<object::AppointmentConnection>> Query::getAppointments (const std::shared_ptr<service::RequestState>& state, std::unique_ptr<int >&& first, std::unique_ptr<response::Value>&& after, std::unique_ptr<int >&& last, std::unique_ptr<response::Value>&& before) const
246
270
{
247
271
auto spThis = shared_from_this ();
248
272
return std::async (std::launch::async,
249
- [this , spThis](std::shared_ptr<service::RequestState> stateWrapped, std::unique_ptr<int >&& firstWrapped, std::unique_ptr<response::Value>&& afterWrapped, std::unique_ptr<int >&& lastWrapped, std::unique_ptr<response::Value>&& beforeWrapped)
273
+ [this , spThis](const std::shared_ptr<service::RequestState>& stateWrapped, std::unique_ptr<int >&& firstWrapped, std::unique_ptr<response::Value>&& afterWrapped, std::unique_ptr<int >&& lastWrapped, std::unique_ptr<response::Value>&& beforeWrapped)
250
274
{
251
- loadAppointments ();
275
+ loadAppointments (stateWrapped );
252
276
253
277
EdgeConstraints<Appointment, AppointmentConnection> constraints (stateWrapped, _appointments);
254
278
auto connection = constraints (firstWrapped.get (), afterWrapped.get (), lastWrapped.get (), beforeWrapped.get ());
@@ -257,13 +281,13 @@ std::future<std::shared_ptr<object::AppointmentConnection>> Query::getAppointmen
257
281
}, std::move (state), std::move (first), std::move (after), std::move (last), std::move (before));
258
282
}
259
283
260
- std::future<std::shared_ptr<object::TaskConnection>> Query::getTasks (std::shared_ptr<service::RequestState> state, std::unique_ptr<int >&& first, std::unique_ptr<response::Value>&& after, std::unique_ptr<int >&& last, std::unique_ptr<response::Value>&& before) const
284
+ std::future<std::shared_ptr<object::TaskConnection>> Query::getTasks (const std::shared_ptr<service::RequestState>& state, std::unique_ptr<int >&& first, std::unique_ptr<response::Value>&& after, std::unique_ptr<int >&& last, std::unique_ptr<response::Value>&& before) const
261
285
{
262
286
auto spThis = shared_from_this ();
263
287
return std::async (std::launch::async,
264
- [this , spThis](std::shared_ptr<service::RequestState> stateWrapped, std::unique_ptr<int >&& firstWrapped, std::unique_ptr<response::Value>&& afterWrapped, std::unique_ptr<int >&& lastWrapped, std::unique_ptr<response::Value>&& beforeWrapped)
288
+ [this , spThis](const std::shared_ptr<service::RequestState>& stateWrapped, std::unique_ptr<int >&& firstWrapped, std::unique_ptr<response::Value>&& afterWrapped, std::unique_ptr<int >&& lastWrapped, std::unique_ptr<response::Value>&& beforeWrapped)
265
289
{
266
- loadTasks ();
290
+ loadTasks (stateWrapped );
267
291
268
292
EdgeConstraints<Task, TaskConnection> constraints (stateWrapped, _tasks);
269
293
auto connection = constraints (firstWrapped.get (), afterWrapped.get (), lastWrapped.get (), beforeWrapped.get ());
@@ -272,13 +296,13 @@ std::future<std::shared_ptr<object::TaskConnection>> Query::getTasks(std::shared
272
296
}, std::move (state), std::move (first), std::move (after), std::move (last), std::move (before));
273
297
}
274
298
275
- std::future<std::shared_ptr<object::FolderConnection>> Query::getUnreadCounts (std::shared_ptr<service::RequestState> state, std::unique_ptr<int >&& first, std::unique_ptr<response::Value>&& after, std::unique_ptr<int >&& last, std::unique_ptr<response::Value>&& before) const
299
+ std::future<std::shared_ptr<object::FolderConnection>> Query::getUnreadCounts (const std::shared_ptr<service::RequestState>& state, std::unique_ptr<int >&& first, std::unique_ptr<response::Value>&& after, std::unique_ptr<int >&& last, std::unique_ptr<response::Value>&& before) const
276
300
{
277
301
auto spThis = shared_from_this ();
278
302
return std::async (std::launch::async,
279
- [this , spThis](std::shared_ptr<service::RequestState> stateWrapped, std::unique_ptr<int >&& firstWrapped, std::unique_ptr<response::Value>&& afterWrapped, std::unique_ptr<int >&& lastWrapped, std::unique_ptr<response::Value>&& beforeWrapped)
303
+ [this , spThis](const std::shared_ptr<service::RequestState>& stateWrapped, std::unique_ptr<int >&& firstWrapped, std::unique_ptr<response::Value>&& afterWrapped, std::unique_ptr<int >&& lastWrapped, std::unique_ptr<response::Value>&& beforeWrapped)
280
304
{
281
- loadUnreadCounts ();
305
+ loadUnreadCounts (stateWrapped );
282
306
283
307
EdgeConstraints<Folder, FolderConnection> constraints (stateWrapped, _unreadCounts);
284
308
auto connection = constraints (firstWrapped.get (), afterWrapped.get (), lastWrapped.get (), beforeWrapped.get ());
@@ -287,7 +311,7 @@ std::future<std::shared_ptr<object::FolderConnection>> Query::getUnreadCounts(st
287
311
}, std::move (state), std::move (first), std::move (after), std::move (last), std::move (before));
288
312
}
289
313
290
- std::future<std::vector<std::shared_ptr<object::Appointment>>> Query::getAppointmentsById (std::shared_ptr<service::RequestState> state, std::vector<std::vector<uint8_t >>&& ids) const
314
+ std::future<std::vector<std::shared_ptr<object::Appointment>>> Query::getAppointmentsById (const std::shared_ptr<service::RequestState>& state, std::vector<std::vector<uint8_t >>&& ids) const
291
315
{
292
316
std::promise<std::vector<std::shared_ptr<object::Appointment>>> promise;
293
317
std::vector<std::shared_ptr<object::Appointment>> result (ids.size ());
@@ -302,7 +326,7 @@ std::future<std::vector<std::shared_ptr<object::Appointment>>> Query::getAppoint
302
326
return promise.get_future ();
303
327
}
304
328
305
- std::future<std::vector<std::shared_ptr<object::Task>>> Query::getTasksById (std::shared_ptr<service::RequestState> state, std::vector<std::vector<uint8_t >>&& ids) const
329
+ std::future<std::vector<std::shared_ptr<object::Task>>> Query::getTasksById (const std::shared_ptr<service::RequestState>& state, std::vector<std::vector<uint8_t >>&& ids) const
306
330
{
307
331
std::promise<std::vector<std::shared_ptr<object::Task>>> promise;
308
332
std::vector<std::shared_ptr<object::Task>> result (ids.size ());
@@ -317,7 +341,7 @@ std::future<std::vector<std::shared_ptr<object::Task>>> Query::getTasksById(std:
317
341
return promise.get_future ();
318
342
}
319
343
320
- std::future<std::vector<std::shared_ptr<object::Folder>>> Query::getUnreadCountsById (std::shared_ptr<service::RequestState> state, std::vector<std::vector<uint8_t >>&& ids) const
344
+ std::future<std::vector<std::shared_ptr<object::Folder>>> Query::getUnreadCountsById (const std::shared_ptr<service::RequestState>& state, std::vector<std::vector<uint8_t >>&& ids) const
321
345
{
322
346
std::promise<std::vector<std::shared_ptr<object::Folder>>> promise;
323
347
std::vector<std::shared_ptr<object::Folder>> result (ids.size ());
@@ -337,7 +361,7 @@ Mutation::Mutation(completeTaskMutation&& mutateCompleteTask)
337
361
{
338
362
}
339
363
340
- std::future<std::shared_ptr<object::CompleteTaskPayload>> Mutation::getCompleteTask (std::shared_ptr<service::RequestState> state, CompleteTaskInput&& input) const
364
+ std::future<std::shared_ptr<object::CompleteTaskPayload>> Mutation::getCompleteTask (const std::shared_ptr<service::RequestState>& state, CompleteTaskInput&& input) const
341
365
{
342
366
std::promise<std::shared_ptr<object::CompleteTaskPayload>> promise;
343
367
0 commit comments