Skip to content

Commit 614a27a

Browse files
committed
cleanup
1 parent a1144e0 commit 614a27a

File tree

8 files changed

+31
-32
lines changed

8 files changed

+31
-32
lines changed

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

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -132,14 +132,12 @@ def _sanitize_legacy_data(cls, v):
132132
return None
133133

134134

135-
S = TypeVar("S", bound=BaseModel)
135+
Sc = TypeVar("Sc", bound=BaseModel)
136136

137137

138-
def _model_dump_with_mapping(
139-
schema: S, field_mapping: dict[str, str]
140-
) -> dict[str, Any]:
138+
def _model_dump_with_map(schema: Sc, alias_map: dict[str, str]) -> dict[str, Any]:
141139
return {
142-
field_mapping.get(k, k): v
140+
alias_map.get(k, k): v
143141
for k, v in schema.model_dump(mode="json", exclude_unset=True).items()
144142
}
145143

@@ -150,11 +148,9 @@ class GroupCreate(InputSchema):
150148
thumbnail: AnyUrl | None = None
151149

152150
def to_model(self) -> OrganizationCreate:
153-
data = _model_dump_with_mapping(
151+
data = _model_dump_with_map(
154152
self,
155-
{
156-
"label": "name",
157-
},
153+
alias_map={"label": "name"},
158154
)
159155
return OrganizationCreate(**data)
160156

@@ -165,11 +161,9 @@ class GroupUpdate(InputSchema):
165161
thumbnail: AnyUrl | None = None
166162

167163
def to_model(self) -> OrganizationUpdate:
168-
data = _model_dump_with_mapping(
164+
data = _model_dump_with_map(
169165
self,
170-
{
171-
"label": "name",
172-
},
166+
alias_map={"label": "name"},
173167
)
174168
return OrganizationUpdate(**data)
175169

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ class OrganizationUpdate(BaseModel):
9191

9292

9393
class GroupAtDB(Group):
94+
# NOTE: deprecate and use `Group` instead
9495
model_config = ConfigDict(
9596
from_attributes=True,
9697
json_schema_extra={

packages/pytest-simcore/src/pytest_simcore/simcore_webserver_groups_fixtures.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ async def _create_organization(
3737
group, access_rights = await create_organization(
3838
app,
3939
user_id=user_id,
40-
new_group_values=OrganizationCreate.model_validate(new_group),
40+
create=OrganizationCreate.model_validate(new_group),
4141
)
4242
return _groupget_model_dump(group=group, access_rights=access_rights)
4343

services/web/server/src/simcore_service_webserver/groups/_groups_api.py

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
OrganizationCreate,
99
OrganizationUpdate,
1010
)
11+
from models_library.products import ProductName
1112
from models_library.users import GroupID, UserID
1213

1314
from ..users.api import get_user
@@ -92,7 +93,7 @@ async def create_organization(
9293
app: web.Application,
9394
*,
9495
user_id: UserID,
95-
new_group_values: OrganizationCreate,
96+
create: OrganizationCreate,
9697
) -> tuple[Group, AccessRightsDict]:
9798
"""
9899
raises GroupNotFoundError
@@ -101,7 +102,7 @@ async def create_organization(
101102
return await _groups_db.create_user_group(
102103
app,
103104
user_id=user_id,
104-
new_group_values=new_group_values,
105+
create=create,
105106
)
106107

107108

@@ -125,7 +126,7 @@ async def update_organization(
125126
*,
126127
user_id: UserID,
127128
group_id: GroupID,
128-
new_group_values: OrganizationUpdate,
129+
update: OrganizationUpdate,
129130
) -> tuple[Group, AccessRightsDict]:
130131
"""
131132
@@ -137,7 +138,7 @@ async def update_organization(
137138
app,
138139
user_id=user_id,
139140
gid=group_id,
140-
updated_group_values=new_group_values,
141+
update=update,
141142
)
142143

143144

@@ -164,7 +165,10 @@ async def list_users_in_group(
164165

165166

166167
async def get_user_in_group(
167-
app: web.Application, user_id: UserID, gid: GroupID, the_user_id_in_group: int
168+
app: web.Application,
169+
user_id: UserID,
170+
gid: GroupID,
171+
the_user_id_in_group: UserID,
168172
) -> GroupMember:
169173

170174
return await _groups_db.get_user_in_group(
@@ -176,7 +180,7 @@ async def update_user_in_group(
176180
app: web.Application,
177181
user_id: UserID,
178182
gid: GroupID,
179-
the_user_id_in_group: int,
183+
the_user_id_in_group: UserID,
180184
access_rights: dict,
181185
) -> GroupMember:
182186
return await _groups_db.update_user_in_group(
@@ -192,7 +196,7 @@ async def delete_user_in_group(
192196
app: web.Application,
193197
user_id: UserID,
194198
gid: GroupID,
195-
the_user_id_in_group: int,
199+
the_user_id_in_group: UserID,
196200
) -> None:
197201
return await _groups_db.delete_user_in_group(
198202
app, user_id=user_id, gid=gid, the_user_id_in_group=the_user_id_in_group
@@ -216,7 +220,9 @@ async def auto_add_user_to_groups(app: web.Application, user_id: UserID) -> None
216220

217221

218222
async def auto_add_user_to_product_group(
219-
app: web.Application, user_id: UserID, product_name: str
223+
app: web.Application,
224+
user_id: UserID,
225+
product_name: ProductName,
220226
) -> GroupID:
221227
return await _groups_db.auto_add_user_to_product_group(
222228
app, user_id=user_id, product_name=product_name

services/web/server/src/simcore_service_webserver/groups/_groups_db.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -260,11 +260,9 @@ async def create_user_group(
260260
connection: AsyncConnection | None = None,
261261
*,
262262
user_id: UserID,
263-
new_group_values: OrganizationCreate,
263+
create: OrganizationCreate,
264264
) -> tuple[Group, AccessRightsDict]:
265265

266-
values = new_group_values.model_dump(mode="json", exclude_unset=True)
267-
268266
async with transaction_context(get_asyncpg_engine(app), connection) as conn:
269267
result = await conn.stream(
270268
sa.select(users.c.primary_gid).where(users.c.id == user_id)
@@ -275,7 +273,7 @@ async def create_user_group(
275273
result = await conn.stream(
276274
# pylint: disable=no-value-for-parameter
277275
groups.insert()
278-
.values(**values)
276+
.values(**create.model_dump(mode="json", exclude_unset=True))
279277
.returning(*_GROUP_COLUMNS)
280278
)
281279
row = await result.fetchone()
@@ -303,10 +301,10 @@ async def update_user_group(
303301
*,
304302
user_id: UserID,
305303
gid: GroupID,
306-
updated_group_values: OrganizationUpdate,
304+
update: OrganizationUpdate,
307305
) -> tuple[Group, AccessRightsDict]:
308306

309-
values = updated_group_values.model_dump(mode="json", exclude_unset=True)
307+
values = update.model_dump(mode="json", exclude_unset=True)
310308

311309
async with transaction_context(get_asyncpg_engine(app), connection) as conn:
312310
row = await _get_group_and_access_rights_or_raise(

services/web/server/src/simcore_service_webserver/groups/_groups_handlers.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ async def create_group(request: web.Request):
112112
group, access_rights = await _groups_api.create_organization(
113113
request.app,
114114
user_id=req_ctx.user_id,
115-
new_group_values=create.to_model(),
115+
create=create.to_model(),
116116
)
117117

118118
created_group = GroupGet.from_model(group, access_rights)
@@ -133,7 +133,7 @@ async def update_group(request: web.Request):
133133
request.app,
134134
user_id=req_ctx.user_id,
135135
group_id=path_params.gid,
136-
new_group_values=update.to_model(),
136+
update=update.to_model(),
137137
)
138138

139139
updated_group = GroupGet.from_model(group, access_rights)

services/web/server/tests/integration/01/test_garbage_collection.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,7 @@ async def get_group(client: TestClient, user: dict):
285285
return await create_organization(
286286
app=client.app,
287287
user_id=user["id"],
288-
new_group_values=OrganizationCreate.model_validate(
288+
create=OrganizationCreate.model_validate(
289289
{"label": uuid4(), "description": uuid4(), "thumbnail": None}
290290
),
291291
)

services/web/server/tests/unit/with_dbs/01/groups/test_groups_handlers_users.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -424,7 +424,7 @@ async def group_where_logged_user_is_the_owner(
424424
group, _ = await create_organization(
425425
app=client.app,
426426
user_id=logged_user["id"],
427-
new_group_values=OrganizationCreate.model_validate(
427+
create=OrganizationCreate.model_validate(
428428
{
429429
"gid": "6543",
430430
"label": f"this is user {logged_user['id']} group",

0 commit comments

Comments
 (0)