55import dataclasses
66from typing import Any , Generic , Iterator , TypeVar , TYPE_CHECKING
77
8+ from sap_cloud_sdk .core .odata ._constants import (
9+ DELETE ,
10+ GET ,
11+ IF_MATCH_HEADER ,
12+ PATCH ,
13+ POST ,
14+ PUT ,
15+ )
816from sap_cloud_sdk .core .odata ._query import OrderDirection , StructuredQuery
917from sap_cloud_sdk .core .odata ._response import deserialize_collection , deserialize_single
1018from sap_cloud_sdk .core .odata ._pagination import ODataPageIterator
@@ -87,7 +95,7 @@ def expand(self, *nav_properties: str) -> "GetAllRequestBuilder[T]":
8795 def execute (self ) -> list [T ]:
8896 """Execute the request and return all matching entities."""
8997 path = _entity_set_path (self ._entity_type )
90- data = self ._transport .request (" GET" , path , params = self ._query .to_params ())
98+ data = self ._transport .request (GET , path , params = self ._query .to_params ())
9199 return deserialize_collection (data , self ._entity_type )
92100
93101 def iterate_pages (self ) -> Iterator [list [T ]]:
@@ -100,7 +108,7 @@ def iterate_pages(self) -> Iterator[list[T]]:
100108 first_url += "?" + urlencode (params )
101109
102110 iterator = ODataPageIterator (
103- fetch_page = lambda url : self ._transport .request (" GET" , _strip_base (url , self ._transport ._base_url )),
111+ fetch_page = lambda url : self ._transport .request (GET , _strip_base (url , self ._transport ._base_url )),
104112 entity_type = self ._entity_type ,
105113 first_url = first_url ,
106114 )
@@ -145,7 +153,7 @@ def expand(self, *nav_properties: str) -> "GetByKeyRequestBuilder[T]":
145153 def execute (self ) -> T :
146154 """Fetch the entity, raising :exc:`ODataNotFoundError` if absent."""
147155 path = _entity_set_path (self ._entity_type ) + _build_key_segment (self ._key )
148- data = self ._transport .request (" GET" , path , params = self ._query .to_params ())
156+ data = self ._transport .request (GET , path , params = self ._query .to_params ())
149157 return deserialize_single (data , self ._entity_type )
150158
151159
@@ -163,7 +171,7 @@ def execute(self) -> T:
163171 entity_type = type (self ._entity )
164172 path = _entity_set_path (entity_type )
165173 body = self ._entity .to_dict () if hasattr (self ._entity , "to_dict" ) else dataclasses .asdict (self ._entity ) # type: ignore[arg-type]
166- data = self ._transport .request (" POST" , path , json = body )
174+ data = self ._transport .request (POST , path , json = body )
167175 return deserialize_single (data , entity_type )
168176
169177
@@ -198,10 +206,10 @@ def execute(self) -> T:
198206 key = {k : getattr (self ._entity , k ) for k in key_fields }
199207 path = _entity_set_path (entity_type ) + _build_key_segment (key )
200208 body = self ._entity .to_dict () if hasattr (self ._entity , "to_dict" ) else dataclasses .asdict (self ._entity ) # type: ignore[arg-type]
201- method = " PUT" if self ._use_put else " PATCH"
209+ method = PUT if self ._use_put else PATCH
202210 extra : dict [str , str ] = {}
203211 if self ._etag is not None :
204- extra ["If-Match" ] = self ._etag
212+ extra [IF_MATCH_HEADER ] = self ._etag
205213 data = self ._transport .request (method , path , json = body , headers = extra or None )
206214 if not data :
207215 return self ._entity
@@ -228,5 +236,5 @@ def execute(self) -> None:
228236 path = _entity_set_path (self ._entity_type ) + _build_key_segment (self ._key )
229237 extra : dict [str , str ] = {}
230238 if self ._etag is not None :
231- extra ["If-Match" ] = self ._etag
232- self ._transport .request (" DELETE" , path , headers = extra or None )
239+ extra [IF_MATCH_HEADER ] = self ._etag
240+ self ._transport .request (DELETE , path , headers = extra or None )
0 commit comments