aboutsummaryrefslogtreecommitdiff
path: root/gn_auth/auth/authorisation/resources/groups/models.py
diff options
context:
space:
mode:
authorFrederick Muriuki Muriithi2024-07-17 14:08:13 -0500
committerFrederick Muriuki Muriithi2024-07-17 14:08:13 -0500
commit2aa4d3f683733899edd58831ed6c413349167725 (patch)
tree34daccfc89d2d9ade14b7605e20e208af8162361 /gn_auth/auth/authorisation/resources/groups/models.py
parent3b36aa4d99835e8fc9fb677d729def178a0c9e54 (diff)
downloadgn-auth-2aa4d3f683733899edd58831ed6c413349167725.tar.gz
Add non-interactive script to assign make data public by default.
Diffstat (limited to 'gn_auth/auth/authorisation/resources/groups/models.py')
-rw-r--r--gn_auth/auth/authorisation/resources/groups/models.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/gn_auth/auth/authorisation/resources/groups/models.py b/gn_auth/auth/authorisation/resources/groups/models.py
index ee77654..3263e37 100644
--- a/gn_auth/auth/authorisation/resources/groups/models.py
+++ b/gn_auth/auth/authorisation/resources/groups/models.py
@@ -5,6 +5,7 @@ from functools import reduce
from dataclasses import dataclass
from typing import Any, Sequence, Iterable, Optional
+import sqlite3
from flask import g
from pymonad.maybe import Just, Maybe, Nothing
@@ -63,6 +64,13 @@ class MembershipError(AuthorisationError):
super().__init__(f"{type(self).__name__}: {error_description}.")
+def db_row_to_group(row: sqlite3.Row) -> Group:
+ """Convert a database row into a group."""
+ return Group(UUID(row["group_id"]),
+ row["group_name"],
+ json.loads(row["group_metadata"]))
+
+
def user_membership(conn: db.DbConnection, user: User) -> Sequence[Group]:
"""Returns all the groups that a member belongs to"""
query = (