Skip to content

Commit 01b9e20

Browse files
committed
adds username
1 parent 31ba967 commit 01b9e20

File tree

1 file changed

+26
-21
lines changed

1 file changed

+26
-21
lines changed

services/web/server/src/simcore_service_webserver/users/_accounts_repository.py

Lines changed: 26 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
from simcore_postgres_database.models.users_details import (
1515
users_pre_registration_details,
1616
)
17-
from simcore_postgres_database.utils import as_postgres_sql_query_str
1817
from simcore_postgres_database.utils_repos import (
1918
pass_or_acquire_connection,
2019
transaction_context,
@@ -268,6 +267,21 @@ async def review_user_pre_registration(
268267
#
269268

270269

270+
def _create_account_request_reviewed_by_username_subquery() -> Any:
271+
"""Creates a reusable subquery for getting reviewer username by ID."""
272+
reviewer_alias = sa.alias(users, name="reviewer_alias")
273+
return (
274+
sa.select(
275+
reviewer_alias.c.name,
276+
)
277+
.where(
278+
users_pre_registration_details.c.account_request_reviewed_by
279+
== reviewer_alias.c.id
280+
)
281+
.label("account_request_reviewed_by_username")
282+
)
283+
284+
271285
def _build_left_outer_join_query(
272286
email_like: str | None,
273287
product_name: ProductName | None,
@@ -338,7 +352,6 @@ async def search_merged_pre_and_registered_users(
338352
) -> list[Row]:
339353
"""Searches and merges users from both users and pre-registration tables"""
340354
users_alias = sa.alias(users, name="users_alias")
341-
reviewer_alias = sa.alias(users, name="reviewer_alias")
342355

343356
invited_by = (
344357
sa.select(
@@ -349,14 +362,7 @@ async def search_merged_pre_and_registered_users(
349362
)
350363

351364
account_request_reviewed_by_username = (
352-
sa.select(
353-
reviewer_alias.c.name,
354-
)
355-
.where(
356-
users_pre_registration_details.c.account_request_reviewed_by
357-
== reviewer_alias.c.id
358-
)
359-
.label("account_request_reviewed_by_username")
365+
_create_account_request_reviewed_by_username_subquery()
360366
)
361367

362368
columns = (
@@ -454,7 +460,12 @@ async def list_merged_pre_and_registered_users(
454460
if not filter_include_deleted:
455461
users_where.append(users.c.status != UserStatus.DELETED)
456462

457-
# Query for pre-registered users that are not yet in the users table
463+
# Create subquery for reviewer username
464+
account_request_reviewed_by_username = (
465+
_create_account_request_reviewed_by_username_subquery()
466+
)
467+
468+
# Query for pre-registered users
458469
# We need to left join with users to identify if the pre-registered user is already in the system
459470
pre_reg_query = (
460471
sa.select(
@@ -480,7 +491,8 @@ async def list_merged_pre_and_registered_users(
480491
users.c.status,
481492
# Use created_by directly instead of a subquery
482493
users_pre_registration_details.c.created_by.label("created_by"),
483-
sa.literal(True).label("is_pre_registered"),
494+
account_request_reviewed_by_username,
495+
sa.literal_column("true").label("is_pre_registered"),
484496
)
485497
.select_from(
486498
users_pre_registration_details.outerjoin(
@@ -515,7 +527,8 @@ async def list_merged_pre_and_registered_users(
515527
users.c.status,
516528
# Match the created_by field from the pre_reg query
517529
sa.literal(None).label("created_by"),
518-
sa.literal(False).label("is_pre_registered"),
530+
sa.literal(None).label("account_request_reviewed_by_username"),
531+
sa.literal_column("false").label("is_pre_registered"),
519532
)
520533
.select_from(
521534
users.join(user_to_groups, user_to_groups.c.uid == users.c.id)
@@ -557,14 +570,6 @@ async def list_merged_pre_and_registered_users(
557570
.subquery()
558571
)
559572

560-
_logger.debug(
561-
"%s\n%s\n%s\n%s",
562-
"-" * 100,
563-
as_postgres_sql_query_str(distinct_query),
564-
"-" * 100,
565-
as_postgres_sql_query_str(count_query),
566-
)
567-
568573
async with pass_or_acquire_connection(engine, connection) as conn:
569574
# Get total count
570575
count_result = await conn.execute(count_query)

0 commit comments

Comments
 (0)