Skip to content

Commit 1d3f63a

Browse files
committed
feat: 🚧 add model to marshall response #192
1 parent 5a851e7 commit 1d3f63a

File tree

2 files changed

+22
-2
lines changed

2 files changed

+22
-2
lines changed

time_tracker_api/time_entries/time_entries_model.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -462,7 +462,7 @@ def get_all_paginated(self, conditions: dict = None, **kwargs) -> list:
462462
start = conditions.get("start", None)
463463
conditions.pop("start", None)
464464

465-
return self.repository.find_all(
465+
time_entries = self.repository.find_all(
466466
event_ctx,
467467
conditions=conditions,
468468
custom_sql_conditions=custom_query,
@@ -471,6 +471,12 @@ def get_all_paginated(self, conditions: dict = None, **kwargs) -> list:
471471
offset=start,
472472
)
473473

474+
return {
475+
'records_total': 0,
476+
'records_filtered': 0,
477+
'data': time_entries,
478+
}
479+
474480
def get(self, id):
475481
event_ctx = self.create_event_context("read")
476482

time_tracker_api/time_entries/time_entries_namespace.py

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -347,6 +347,20 @@ def get(self):
347347
return time_entries_dao.get_worked_time(conditions)
348348

349349

350+
time_entry_paginated = ns.model(
351+
'TimeEntryPaginated',
352+
{
353+
'records_total': fields.Integer(
354+
title='Records total', description='Total number of entries.',
355+
),
356+
'records_filtered': fields.Integer(
357+
title='Records filtered',
358+
description='Number of entries returned by the endpoint.',
359+
),
360+
'data': fields.List(fields.Nested(time_entry)),
361+
},
362+
)
363+
350364
paginated_attribs_parser = ns.parser()
351365
paginated_attribs_parser.add_argument(
352366
'length',
@@ -371,7 +385,7 @@ def get(self):
371385
class PaginatedTimeEntry(Resource):
372386
@ns.expect(paginated_attribs_parser)
373387
@ns.doc('list_time_entries_paginated')
374-
@ns.marshal_list_with(time_entry)
388+
@ns.marshal_list_with(time_entry_paginated)
375389
def get(self):
376390
"""List all time entries paginated"""
377391
conditions = paginated_attribs_parser.parse_args()

0 commit comments

Comments
 (0)