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,25 @@ 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+ try :
32+ user = AROUsersWrapper ().get_by_id (UUID (userid ))
33+ return UserResponse (data = user )
34+ except ValueError as e :
35+ raise HTTPException (status_code = 404 , detail = str (e )) from e
36+
37+
2838@aro_user_router .post ("/create_user" , response_model = UserResponse )
2939def create_user (payload : UserRequest ) -> UserResponse :
3040 """
@@ -33,48 +43,30 @@ def create_user(payload: UserRequest) -> UserResponse:
3343 :return: returns the user created
3444 """
3545
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 ,
46+ user = AROUsersWrapper ().create (
47+ data = {
48+ "call_sign" : payload .call_sign ,
49+ "email" : payload .email ,
50+ "first_name" : payload .first_name ,
51+ "last_name" : payload .last_name ,
52+ "phone_number" : payload .phone_number ,
53+ }
4254 )
4355
4456 return UserResponse (data = user )
4557
4658
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-
6959@aro_user_router .delete ("/delete_user/{userid}" , response_model = AllUsersResponse )
7060def delete_user (userid : str ) -> AllUsersResponse :
7161 """
7262 Deletes a user based on the user ID
7363 :param userid: The unique identifier of the user to be deleted
74- :return: returns the user deleted
64+ :return: returns all remaining users
7565 """
7666 try :
77- users = delete_user_by_id (UUID (userid ))
67+ wrapper = AROUsersWrapper ()
68+ wrapper .delete_by_id (UUID (userid ))
69+ users = wrapper .get_all ()
7870 return AllUsersResponse (data = users )
7971 except ValueError as e :
8072 raise HTTPException (status_code = 404 , detail = str (e )) from e
0 commit comments