11# SPDX-FileCopyrightText: 2023-2024 MTS PJSC
22# SPDX-License-Identifier: Apache-2.0
3+ from http .client import OK
4+
35from fastapi import APIRouter , Depends , Query
46
57from syncmaster .db .models import User
2729@router .get ("/groups" )
2830async def read_groups (
2931 page : int = Query (gt = 0 , default = 1 ),
30- page_size : int = Query (gt = 0 , le = 200 , default = 20 ),
32+ page_size : int = Query (gt = 0 , le = 50 , default = 20 ), # noqa: WPS432
3133 role : str | None = Query (default = None ),
3234 current_user : User = Depends (get_user (is_active = True )),
3335 unit_of_work : UnitOfWork = Depends (UnitOfWork ),
@@ -66,7 +68,7 @@ async def create_group(
6668 description = group_data .description ,
6769 owner_id = current_user .id ,
6870 )
69- return ReadGroupSchema .from_orm (group )
71+ return ReadGroupSchema .model_validate (group , from_attributes = True )
7072
7173
7274@router .get ("/groups/{group_id}" )
@@ -85,11 +87,14 @@ async def read_group(
8587
8688 group = await unit_of_work .group .read_by_id (group_id = group_id )
8789 user_role = await unit_of_work .group .get_member_role (group_id = group_id , user_id = current_user .id )
88- return GroupWithUserRoleSchema .from_orm ({"data" : group , "role" : user_role })
90+ return GroupWithUserRoleSchema (
91+ data = ReadGroupSchema .model_validate (group , from_attributes = True ),
92+ role = GroupMemberRole (user_role ),
93+ )
8994
9095
9196@router .patch ("/groups/{group_id}" )
92- async def update_group (
97+ async def update_group ( # noqa: WPS217
9398 group_id : int ,
9499 group_data : UpdateGroupSchema ,
95100 current_user : User = Depends (get_user (is_active = True )),
@@ -129,7 +134,7 @@ async def update_group(
129134 new_user_id = previous_owner_id ,
130135 role = GroupMemberRole .Guest ,
131136 )
132- return ReadGroupSchema .from_orm (group )
137+ return ReadGroupSchema .model_validate (group , from_attributes = True )
133138
134139
135140@router .delete ("/groups/{group_id}" , dependencies = [Depends (get_user (is_superuser = True ))])
@@ -139,14 +144,14 @@ async def delete_group(
139144) -> StatusResponseSchema :
140145 async with unit_of_work :
141146 await unit_of_work .group .delete (group_id = group_id )
142- return StatusResponseSchema (ok = True , status_code = 200 , message = "Group was deleted" )
147+ return StatusResponseSchema (ok = True , status_code = OK , message = "Group was deleted" )
143148
144149
145150@router .get ("/groups/{group_id}/users" )
146151async def read_group_users (
147152 group_id : int ,
148153 page : int = Query (gt = 0 , default = 1 ),
149- page_size : int = Query (gt = 0 , le = 200 , default = 20 ),
154+ page_size : int = Query (gt = 0 , le = 50 , default = 20 ), # noqa: WPS432
150155 current_user : User = Depends (get_user (is_active = True )),
151156 unit_of_work : UnitOfWork = Depends (UnitOfWork ),
152157) -> UserPageSchemaAsGroupMember :
@@ -192,7 +197,7 @@ async def update_user_role_group(
192197 role = update_user_data .role ,
193198 )
194199
195- return AddUserSchema .from_orm (result )
200+ return AddUserSchema .model_validate (result , from_attributes = True )
196201
197202
198203@router .post ("/groups/{group_id}/users/{user_id}" )
@@ -226,7 +231,7 @@ async def add_user_to_group(
226231 )
227232 return StatusResponseSchema (
228233 ok = True ,
229- status_code = 200 ,
234+ status_code = OK ,
230235 message = "User was successfully added to group" ,
231236 )
232237
@@ -256,4 +261,4 @@ async def delete_user_from_group(
256261 group_id = group_id ,
257262 target_user_id = user_id ,
258263 )
259- return StatusResponseSchema (ok = True , status_code = 200 , message = "User was successfully removed from group" )
264+ return StatusResponseSchema (ok = True , status_code = OK , message = "User was successfully removed from group" )
0 commit comments