Refactor query handling in ApiViews to use keyword arguments for improved flexibility

1 parent 7f03b55e
...@@ -89,10 +89,10 @@ class ApiViews: ...@@ -89,10 +89,10 @@ class ApiViews:
get_groups = kw.get("groups", self.get_groups) get_groups = kw.get("groups", self.get_groups)
get_orders = kw.get("orders", self.get_orders) get_orders = kw.get("orders", self.get_orders)
query = self.db_session.query(table) query = self.db_session.query(table)
query = get_joins(query, table=table) query = get_joins(query, **kw)
query = get_groups(query, table=table) query = get_groups(query, **kw)
query = get_filters(query, table=table) query = get_filters(query, **kw)
query = get_orders(query, table=table) query = get_orders(query, **kw)
query = query.limit(self.psize).offset((self.page - 1) * self.psize) query = query.limit(self.psize).offset((self.page - 1) * self.psize)
return query return query
...@@ -102,13 +102,12 @@ class ApiViews: ...@@ -102,13 +102,12 @@ class ApiViews:
get_groups = kw.get("groups", self.get_groups) get_groups = kw.get("groups", self.get_groups)
get_filters = kw.get("filters", self.get_filters) get_filters = kw.get("filters", self.get_filters)
get_orders = kw.get("orders", self.get_orders) get_orders = kw.get("orders", self.get_orders)
if hasattr(table, "query_id") and self.id: if hasattr(table, "query_id") and self.id:
query = table.query_id(self.id) query = table.query_id(self.id)
query = get_joins(query, table=table) query = get_joins(query, **kw)
query = get_groups(query, table=table) query = get_groups(query, **kw)
query = get_filters(query, table=table) query = get_filters(query, **kw)
query = get_orders(query, table=table) query = get_orders(query, **kw)
query = query.limit(self.psize).offset( query = query.limit(self.psize).offset(
(self.page - 1) * self.psize) (self.page - 1) * self.psize)
return query return query
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!