22import datetime as dt
33import json
44from io import BytesIO
5- from typing import ClassVar , Generator , Optional , Type , TypeVar , cast
5+ from typing import Any , ClassVar , Generator , Optional , Type , TypeVar , cast
66from urllib .parse import urlencode
77
88from cuenca_validations .types import (
@@ -35,7 +35,10 @@ def to_dict(self):
3535class Retrievable (Resource ):
3636 @classmethod
3737 def retrieve (
38- cls : Type [R_co ], id : str , * , session : Session = global_session
38+ cls : Type [R_co ],
39+ id : str ,
40+ * ,
41+ session : Session = global_session ,
3942 ) -> R_co :
4043 resp = session .get (f'/{ cls ._resource } /{ id } ' )
4144 return cls (** resp )
@@ -49,7 +52,10 @@ def refresh(self, *, session: Session = global_session) -> None:
4952class Creatable (Resource ):
5053 @classmethod
5154 def _create (
52- cls : Type [R_co ], * , session : Session = global_session , ** data
55+ cls : Type [R_co ],
56+ * ,
57+ session : Session = global_session ,
58+ ** data : Any ,
5359 ) -> R_co :
5460 resp = session .post (cls ._resource , data )
5561 return cls (** resp )
@@ -61,7 +67,11 @@ class Updateable(Resource):
6167
6268 @classmethod
6369 def _update (
64- cls : Type [R_co ], id : str , * , session : Session = global_session , ** data
70+ cls : Type [R_co ],
71+ id : str ,
72+ * ,
73+ session : Session = global_session ,
74+ ** data : Any ,
6575 ) -> R_co :
6676 resp = session .patch (f'/{ cls ._resource } /{ id } ' , data )
6777 return cls (** resp )
@@ -72,7 +82,11 @@ class Deactivable(Resource):
7282
7383 @classmethod
7484 def deactivate (
75- cls : Type [R_co ], id : str , * , session : Session = global_session , ** data
85+ cls : Type [R_co ],
86+ id : str ,
87+ * ,
88+ session : Session = global_session ,
89+ ** data : Any ,
7690 ) -> R_co :
7791 resp = session .delete (f'/{ cls ._resource } /{ id } ' , data )
7892 return cls (** resp )
@@ -115,7 +129,7 @@ def _upload(
115129 user_id : str ,
116130 * ,
117131 session : Session = global_session ,
118- ** data ,
132+ ** data : Any ,
119133 ) -> R_co :
120134 encoded_file = base64 .b64encode (file )
121135 resp = session .request (
@@ -137,7 +151,10 @@ class Queryable(Resource):
137151
138152 @classmethod
139153 def one (
140- cls : Type [R_co ], * , session : Session = global_session , ** query_params
154+ cls : Type [R_co ],
155+ * ,
156+ session : Session = global_session ,
157+ ** query_params : Any ,
141158 ) -> R_co :
142159 q = cast (Queryable , cls )._query_params (limit = 2 , ** query_params )
143160 resp = session .get (cls ._resource , q .dict ())
@@ -151,7 +168,10 @@ def one(
151168
152169 @classmethod
153170 def first (
154- cls : Type [R_co ], * , session : Session = global_session , ** query_params
171+ cls : Type [R_co ],
172+ * ,
173+ session : Session = global_session ,
174+ ** query_params : Any ,
155175 ) -> Optional [R_co ]:
156176 q = cast (Queryable , cls )._query_params (limit = 1 , ** query_params )
157177 resp = session .get (cls ._resource , q .dict ())
@@ -165,15 +185,21 @@ def first(
165185
166186 @classmethod
167187 def count (
168- cls : Type [R_co ], * , session : Session = global_session , ** query_params
188+ cls : Type [R_co ],
189+ * ,
190+ session : Session = global_session ,
191+ ** query_params : Any ,
169192 ) -> int :
170193 q = cast (Queryable , cls )._query_params (count = True , ** query_params )
171194 resp = session .get (cls ._resource , q .dict ())
172195 return resp ['count' ]
173196
174197 @classmethod
175198 def all (
176- cls : Type [R_co ], * , session : Session = global_session , ** query_params
199+ cls : Type [R_co ],
200+ * ,
201+ session : Session = global_session ,
202+ ** query_params : Any ,
177203 ) -> Generator [R_co , None , None ]:
178204 session = session or global_session
179205 q = cast (Queryable , cls )._query_params (** query_params )
0 commit comments