aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrederick Muriuki Muriithi2023-07-31 09:01:15 +0300
committerFrederick Muriuki Muriithi2023-07-31 09:01:15 +0300
commitbc3439298074e8139f9d8af8438a224616cf681a (patch)
tree5f9e1d888b7958b4643bfdde1bd3ce62e13d996b
parenteffc12fbd6ffd4a388f4aa31425ba8a9b33faa82 (diff)
downloadgenenetwork3-bc3439298074e8139f9d8af8438a224616cf681a.tar.gz
Fix bugs. Return resource without data items.
* Fix bugs introduced while attempting pagination. * Return resource object without attached data items.
-rw-r--r--gn3/auth/authorisation/resources/models.py7
-rw-r--r--gn3/auth/authorisation/resources/views.py4
2 files changed, 5 insertions, 6 deletions
diff --git a/gn3/auth/authorisation/resources/models.py b/gn3/auth/authorisation/resources/models.py
index b634a35..45d316c 100644
--- a/gn3/auth/authorisation/resources/models.py
+++ b/gn3/auth/authorisation/resources/models.py
@@ -243,8 +243,7 @@ def mrna_resource_data(cursor: db.DbCursor,
"INNER JOIN linked_mrna_data AS lmr "
"ON mr.data_link_id=lmr.data_link_id "
"WHERE mr.resource_id=?") + (
- f" LIMIT {limit}" if bool(limit) else "") (
- f" LIMIT {limit} OFFSET {offset}" if bool(limit) else "")),
+ f" LIMIT {limit} OFFSET {offset}" if bool(limit) else "")),
(str(resource_id),))
return cursor.fetchall()
@@ -294,11 +293,11 @@ def resource_by_id(
{"id": str(resource_id)})
row = cursor.fetchone()
if row:
- return attach_resource_data(cursor, Resource(
+ return Resource(
group_by_id(conn, UUID(row["group_id"])),
UUID(row["resource_id"]), row["resource_name"],
resource_category_by_id(conn, row["resource_category_id"]),
- bool(int(row["public"]))))
+ bool(int(row["public"])))
raise NotFoundError(f"Could not find a resource with id '{resource_id}'")
diff --git a/gn3/auth/authorisation/resources/views.py b/gn3/auth/authorisation/resources/views.py
index 2e6c244..c39d4ab 100644
--- a/gn3/auth/authorisation/resources/views.py
+++ b/gn3/auth/authorisation/resources/views.py
@@ -96,13 +96,13 @@ def view_resource_data(resource_id: uuid.UUID) -> Response:
with require_oauth.acquire("profile group resource") as the_token:
db_uri = app.config["AUTH_DB"]
count_per_page = __safe_get_requests_count__("count_per_page")
- page = (__safe_get_requests_page__("page") - 1)
+ offset = (__safe_get_requests_page__("page") - 1)
with db.connection(db_uri) as conn:
resource = resource_by_id(conn, the_token.user, resource_id)
return jsonify(resource_data(
conn,
resource,
- ((page * count_per_page) if bool(count_per_page) else page),
+ ((offset * count_per_page) if bool(count_per_page) else offset),
count_per_page))
@resources.route("/data/link", methods=["POST"])