11from uuid import UUID
22
3- from fastapi import APIRouter , HTTPException
3+ from fastapi import APIRouter
44
55from gs .backend .api .v1 .aro .models .requests import UserRequest
66from gs .backend .api .v1 .aro .models .responses import AllUsersResponse , UserResponse
7- from gs .backend .data .data_wrappers .aro_wrapper .aro_user_data_wrapper import (
8- add_user ,
9- delete_user_by_id ,
10- update_user_by_id ,
11- )
12- from gs .backend .data .data_wrappers .aro_wrapper .aro_user_data_wrapper import get_all_users as get_all_db_users
7+ from gs .backend .data .data_wrappers .wrappers import AROUsersWrapper
138
149aro_user_router = APIRouter (tags = ["ARO" , "User Information" ])
1510
@@ -21,10 +16,22 @@ async def get_all_users() -> AllUsersResponse:
2116
2217 :return: all users
2318 """
24- users = get_all_db_users ()
19+ users = AROUsersWrapper (). get_all ()
2520 return AllUsersResponse (data = users )
2621
2722
23+ @aro_user_router .get ("/get_user/{userid}" , response_model = UserResponse )
24+ def get_user (userid : str ) -> UserResponse :
25+ """
26+ Gets a user by ID
27+
28+ :param userid: The unique identifier of the user
29+ :return: the user
30+ """
31+ user = AROUsersWrapper ().get_by_id (UUID (userid ))
32+ return UserResponse (data = user )
33+
34+
2835@aro_user_router .post ("/create_user" , response_model = UserResponse )
2936def create_user (payload : UserRequest ) -> UserResponse :
3037 """
@@ -33,48 +40,25 @@ def create_user(payload: UserRequest) -> UserResponse:
3340 :return: returns the user created
3441 """
3542
36- user = add_user (
37- call_sign = payload .call_sign ,
38- email = payload .email ,
39- f_name = payload .first_name ,
40- l_name = payload .last_name ,
41- phone_number = payload .phone_number ,
43+ user = AROUsersWrapper ().create (
44+ data = {
45+ "call_sign" : payload .call_sign ,
46+ "email" : payload .email ,
47+ "first_name" : payload .first_name ,
48+ "last_name" : payload .last_name ,
49+ "phone_number" : payload .phone_number ,
50+ }
4251 )
4352
4453 return UserResponse (data = user )
4554
4655
47- @aro_user_router .put ("/update_user/{userid}" , response_model = UserResponse )
48- def update_user (userid : str , payload : UserRequest ) -> UserResponse :
49- """
50- Modifies the user’s info based on the payload
51- :param userid: The unique identifier of the user to be updated
52- :param payload: The data used to update a user
53- :return: returns the user updated
54- """
55- try :
56- user = update_user_by_id (
57- userid = UUID (userid ),
58- call_sign = payload .call_sign ,
59- email = payload .email ,
60- f_name = payload .first_name ,
61- l_name = payload .last_name ,
62- phone_number = payload .phone_number ,
63- )
64- return UserResponse (data = user )
65- except ValueError as e :
66- raise HTTPException (status_code = 404 , detail = str (e )) from e
67-
68-
69- @aro_user_router .delete ("/delete_user/{userid}" , response_model = AllUsersResponse )
70- def delete_user (userid : str ) -> AllUsersResponse :
56+ @aro_user_router .delete ("/delete_user/{userid}" , response_model = UserResponse )
57+ def delete_user (userid : str ) -> UserResponse :
7158 """
7259 Deletes a user based on the user ID
7360 :param userid: The unique identifier of the user to be deleted
74- :return: returns the user deleted
61+ :return: returns the deleted user
7562 """
76- try :
77- users = delete_user_by_id (UUID (userid ))
78- return AllUsersResponse (data = users )
79- except ValueError as e :
80- raise HTTPException (status_code = 404 , detail = str (e )) from e
63+ deleted_user = AROUsersWrapper ().delete_by_id (UUID (userid ))
64+ return UserResponse (data = deleted_user )
0 commit comments