88 ProfileResponse ,
99)
1010from hyperbrowser .models .session import BasicResponse
11+ from ..profile_operation_metadata import PROFILE_OPERATION_METADATA
12+ from ..profile_request_utils import (
13+ create_profile_resource ,
14+ delete_profile_resource ,
15+ get_profile_resource ,
16+ list_profile_resources ,
17+ )
18+ from ..profile_route_constants import PROFILE_ROUTE_PREFIX , PROFILES_ROUTE_PATH
1119from ..serialization_utils import (
1220 serialize_model_dump_or_default ,
1321 serialize_optional_model_dump_to_dict ,
1422)
15- from ..response_utils import parse_response_model
1623
1724
1825class ProfileManager :
26+ _OPERATION_METADATA = PROFILE_OPERATION_METADATA
27+ _ROUTE_PREFIX = PROFILE_ROUTE_PREFIX
28+ _LIST_ROUTE_PATH = PROFILES_ROUTE_PATH
29+
1930 def __init__ (self , client ):
2031 self ._client = client
2132
@@ -26,34 +37,30 @@ def create(
2637 params ,
2738 error_message = "Failed to serialize profile create params" ,
2839 )
29- response = self ._client .transport .post (
30- self ._client ._build_url ("/profile" ),
31- data = payload ,
32- )
33- return parse_response_model (
34- response .data ,
40+ return create_profile_resource (
41+ client = self ._client ,
42+ route_prefix = self ._ROUTE_PREFIX ,
43+ payload = payload ,
3544 model = CreateProfileResponse ,
36- operation_name = "create profile" ,
45+ operation_name = self . _OPERATION_METADATA . create_operation_name ,
3746 )
3847
3948 def get (self , id : str ) -> ProfileResponse :
40- response = self ._client .transport .get (
41- self ._client ._build_url (f"/profile/{ id } " ),
42- )
43- return parse_response_model (
44- response .data ,
49+ return get_profile_resource (
50+ client = self ._client ,
51+ route_prefix = self ._ROUTE_PREFIX ,
52+ profile_id = id ,
4553 model = ProfileResponse ,
46- operation_name = "get profile" ,
54+ operation_name = self . _OPERATION_METADATA . get_operation_name ,
4755 )
4856
4957 def delete (self , id : str ) -> BasicResponse :
50- response = self ._client .transport .delete (
51- self ._client ._build_url (f"/profile/{ id } " ),
52- )
53- return parse_response_model (
54- response .data ,
58+ return delete_profile_resource (
59+ client = self ._client ,
60+ route_prefix = self ._ROUTE_PREFIX ,
61+ profile_id = id ,
5562 model = BasicResponse ,
56- operation_name = "delete profile" ,
63+ operation_name = self . _OPERATION_METADATA . delete_operation_name ,
5764 )
5865
5966 def list (self , params : Optional [ProfileListParams ] = None ) -> ProfileListResponse :
@@ -62,12 +69,10 @@ def list(self, params: Optional[ProfileListParams] = None) -> ProfileListRespons
6269 default_factory = ProfileListParams ,
6370 error_message = "Failed to serialize profile list params" ,
6471 )
65- response = self ._client .transport .get (
66- self ._client ._build_url ("/profiles" ),
72+ return list_profile_resources (
73+ client = self ._client ,
74+ list_route_path = self ._LIST_ROUTE_PATH ,
6775 params = query_params ,
68- )
69- return parse_response_model (
70- response .data ,
7176 model = ProfileListResponse ,
72- operation_name = "list profiles" ,
77+ operation_name = self . _OPERATION_METADATA . list_operation_name ,
7378 )
0 commit comments