Skip to content

Commit 2f3ba1b

Browse files
committed
account_request_review_by returns a username instead of a user_id
1 parent 5e47e58 commit 2f3ba1b

File tree

5 files changed

+24
-10
lines changed

5 files changed

+24
-10
lines changed

packages/models-library/src/models_library/api_schemas_webserver/users.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -340,9 +340,9 @@ class UserAccountGet(OutputSchema):
340340
# pre-registration NOTE: that some users have no pre-registartion and therefore all options here can be none
341341
pre_registration_id: int | None
342342
pre_registration_created: datetime | None
343-
invited_by: str | None = None
343+
invited_by: UserNameID | None = None
344344
account_request_status: AccountRequestStatus | None
345-
account_request_reviewed_by: UserID | None = None
345+
account_request_reviewed_by: UserNameID | None = None
346346
account_request_reviewed_at: datetime | None = None
347347

348348
# user status

packages/models-library/src/models_library/users.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
from typing import Annotated, TypeAlias
33

44
from common_library.users_enums import UserRole
5-
from models_library.basic_types import IDStr
65
from pydantic import BaseModel, ConfigDict, Field, PositiveInt, StringConstraints
76
from pydantic.config import JsonDict
87
from typing_extensions import ( # https://docs.pydantic.dev/latest/api/standard_library_types/#typeddict
@@ -12,8 +11,9 @@
1211
from .emails import LowerCaseEmailStr
1312

1413
UserID: TypeAlias = PositiveInt
15-
UserNameID: TypeAlias = IDStr
16-
14+
UserNameID: TypeAlias = Annotated[
15+
str, StringConstraints(strip_whitespace=True, min_length=1, max_length=100)
16+
]
1717

1818
FirstNameStr: TypeAlias = Annotated[
1919
str, StringConstraints(strip_whitespace=True, max_length=255)

services/web/server/src/simcore_service_webserver/api/v0/openapi.yaml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18361,6 +18361,8 @@ components:
1836118361
invitedBy:
1836218362
anyOf:
1836318363
- type: string
18364+
maxLength: 100
18365+
minLength: 1
1836418366
- type: 'null'
1836518367
title: Invitedby
1836618368
accountRequestStatus:
@@ -18369,9 +18371,9 @@ components:
1836918371
- type: 'null'
1837018372
accountRequestReviewedBy:
1837118373
anyOf:
18372-
- type: integer
18373-
exclusiveMinimum: true
18374-
minimum: 0
18374+
- type: string
18375+
maxLength: 100
18376+
minLength: 1
1837518377
- type: 'null'
1837618378
title: Accountrequestreviewedby
1837718379
accountRequestReviewedAt:

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

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -276,6 +276,7 @@ async def search_merged_pre_and_registered_users(
276276
product_name: ProductName | None = None,
277277
) -> list[Row]:
278278
users_alias = sa.alias(users, name="users_alias")
279+
reviewer_alias = sa.alias(users, name="reviewer_alias")
279280

280281
invited_by = (
281282
sa.select(
@@ -285,6 +286,17 @@ async def search_merged_pre_and_registered_users(
285286
.label("invited_by")
286287
)
287288

289+
account_request_reviewed_by_username = (
290+
sa.select(
291+
reviewer_alias.c.name,
292+
)
293+
.where(
294+
users_pre_registration_details.c.account_request_reviewed_by
295+
== reviewer_alias.c.id
296+
)
297+
.label("account_request_reviewed_by_username")
298+
)
299+
288300
async with pass_or_acquire_connection(engine, connection) as conn:
289301
columns = (
290302
users_pre_registration_details.c.id,
@@ -305,7 +317,7 @@ async def search_merged_pre_and_registered_users(
305317
users_pre_registration_details.c.user_id,
306318
users_pre_registration_details.c.extras,
307319
users_pre_registration_details.c.account_request_status,
308-
users_pre_registration_details.c.account_request_reviewed_by,
320+
account_request_reviewed_by_username,
309321
users_pre_registration_details.c.account_request_reviewed_at,
310322
users.c.status,
311323
invited_by,

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ async def _list_products_or_none(user_id):
193193
pre_registration_id=r.id,
194194
pre_registration_created=r.created,
195195
account_request_status=r.account_request_status,
196-
account_request_reviewed_by=r.account_request_reviewed_by,
196+
account_request_reviewed_by=r.account_request_reviewed_by_username,
197197
account_request_reviewed_at=r.account_request_reviewed_at,
198198
products=await _list_products_or_none(r.user_id),
199199
# NOTE: old users will not have extra details

0 commit comments

Comments
 (0)