aboutsummaryrefslogtreecommitdiff
path: root/gn3/auth/authorisation
diff options
context:
space:
mode:
Diffstat (limited to 'gn3/auth/authorisation')
-rw-r--r--gn3/auth/authorisation/groups/data.py19
-rw-r--r--gn3/auth/authorisation/groups/views.py4
2 files changed, 11 insertions, 12 deletions
diff --git a/gn3/auth/authorisation/groups/data.py b/gn3/auth/authorisation/groups/data.py
index 073449c..fd76648 100644
--- a/gn3/auth/authorisation/groups/data.py
+++ b/gn3/auth/authorisation/groups/data.py
@@ -20,8 +20,7 @@ def __fetch_grouped_data__(
return tuple(dict(row) for row in cursor.fetchall())
def __fetch_ungrouped_mrna_data__(
- conn: gn3db.Connection, grouped_data,
- offset: int = 0) -> Sequence[dict]:
+ conn: gn3db.Connection, grouped_data, offset: int) -> Sequence[dict]:
"""Fetch ungrouped mRNA Assay data."""
query = ("SELECT psf.Id, psf.Name AS dataset_name, "
"psf.FullName AS dataset_fullname, "
@@ -39,8 +38,7 @@ def __fetch_ungrouped_mrna_data__(
return tuple(dict(row) for row in cursor.fetchall())
def __fetch_ungrouped_geno_data__(
- conn: gn3db.Connection, grouped_data,
- offset: int = 0) -> Sequence[dict]:
+ conn: gn3db.Connection, grouped_data, offset: int) -> Sequence[dict]:
"""Fetch ungrouped Genotype data."""
query = ("SELECT gf.Id, gf.Name AS dataset_name, "
"gf.FullName AS dataset_fullname, "
@@ -58,8 +56,7 @@ def __fetch_ungrouped_geno_data__(
return tuple(dict(row) for row in cursor.fetchall())
def __fetch_ungrouped_pheno_data__(
- conn: gn3db.Connection, grouped_data,
- offset: int = 0) -> Sequence[dict]:
+ conn: gn3db.Connection, grouped_data, offset: int) -> Sequence[dict]:
"""Fetch ungrouped Phenotype data."""
query = ("SELECT "
"pxf.Id, iset.InbredSetName, pf.Name AS dataset_name, "
@@ -83,14 +80,15 @@ def __fetch_ungrouped_pheno_data__(
def __fetch_ungrouped_data__(
conn: gn3db.Connection, dataset_type: str,
- ungrouped: Sequence[dict[str, Any]]) -> Sequence[dict[str, Any]]:
+ ungrouped: Sequence[dict[str, Any]],
+ offset) -> Sequence[dict[str, Any]]:
"""Fetch any ungrouped data."""
fetch_fns = {
"mrna": __fetch_ungrouped_mrna_data__,
"genotype": __fetch_ungrouped_geno_data__,
"phenotype": __fetch_ungrouped_pheno_data__
}
- return fetch_fns[dataset_type](conn, ungrouped)
+ return fetch_fns[dataset_type](conn, ungrouped, offset)
@authorised_p(("system:data:link-to-group",),
error_description=(
@@ -100,14 +98,15 @@ def __fetch_ungrouped_data__(
def retrieve_ungrouped_data(
authconn: authdb.DbConnection,
gn3conn: gn3db.Connection,
- dataset_type: str) -> Sequence[dict]:
+ dataset_type: str,
+ offset: int = 0) -> Sequence[dict]:
"""Retrieve any data not linked to any group."""
if dataset_type not in ("mrna", "genotype", "phenotype"):
raise InvalidData(
"Requested dataset type is invalid. Expected one of "
"'mrna', 'genotype' or 'phenotype'.")
grouped_data = __fetch_grouped_data__(authconn, dataset_type)
- return __fetch_ungrouped_data__(gn3conn, dataset_type, grouped_data)
+ return __fetch_ungrouped_data__(gn3conn, dataset_type, grouped_data, offset)
def __fetch_mrna_data_by_id__(conn: gn3db.Connection, dataset_id: str) -> dict:
"""Fetch mRNA Assay data by ID."""
diff --git a/gn3/auth/authorisation/groups/views.py b/gn3/auth/authorisation/groups/views.py
index 7b967d7..0b21800 100644
--- a/gn3/auth/authorisation/groups/views.py
+++ b/gn3/auth/authorisation/groups/views.py
@@ -177,7 +177,6 @@ def unlinked_data(resource_type: str) -> Response:
f") {type_filter}")
cursor.execute(ids_query)
ids = cursor.fetchall()
- print(f"THE IDS: {ids} ==> {type_filter}")
if ids:
clause = ", ".join(["(?, ?, ?)"] * len(ids))
@@ -204,7 +203,8 @@ def ungrouped_data(dataset_type: str) -> Response:
with gn3dbutils.database_connection() as gn3conn:
return jsonify(with_db_connection(partial(
retrieve_ungrouped_data, gn3conn=gn3conn,
- dataset_type=dataset_type)))
+ dataset_type=dataset_type,
+ offset = int(request.args.get("offset", 0)))))
@groups.route("/data/link", methods=["POST"])
@require_oauth("profile group resource")