22from bunq .sdk .json import converter
33
44
5+ class AnchoredObjectInterface :
6+ pass
7+
8+
59class BunqModel (object ):
610 # Field constants
711 _FIELD_RESPONSE = 'Response'
@@ -12,6 +16,9 @@ class BunqModel(object):
1216 # The very first index of an array
1317 _INDEX_FIRST = 0
1418
19+ def are_all_fields_none (self ):
20+ raise NotImplementedError
21+
1522 def to_json (self ):
1623 """
1724 :rtype: str
@@ -141,6 +148,13 @@ def id_(self):
141148
142149 return self ._id_
143150
151+ def are_all_fields_none (self ):
152+ if self .id_ is not None :
153+ return False
154+
155+ return True
156+
157+
144158
145159class Uuid (BunqModel ):
146160 """
@@ -158,6 +172,11 @@ def uuid(self):
158172
159173 return self ._uuid
160174
175+ def are_all_fields_none (self ):
176+ if self .uuid is not None :
177+ return False
178+
179+ return True
161180
162181class SessionToken (BunqModel ):
163182 """
@@ -205,6 +224,21 @@ def token(self):
205224
206225 return self ._token
207226
227+ def are_all_fields_none (self ):
228+ if self .id_ is not None :
229+ return False
230+
231+ if self .created is not None :
232+ return False
233+
234+ if self .updated is not None :
235+ return False
236+
237+ if self .token is not None :
238+ return False
239+
240+ return True
241+
208242
209243class PublicKeyServer (BunqModel ):
210244 """
@@ -222,6 +256,12 @@ def server_public_key(self):
222256
223257 return self ._server_public_key
224258
259+ def are_all_fields_none (self ):
260+ if self .server_public_key is not None :
261+ return False
262+
263+ return True
264+
225265
226266class Installation (BunqModel ):
227267 """
@@ -296,6 +336,17 @@ def generate_request_body_bytes(cls, public_key_string):
296336 }
297337 ).encode ()
298338
339+ def are_all_fields_none (self ):
340+ if self .id_ is not None :
341+ return False
342+
343+ if self .token is not None :
344+ return False
345+
346+ if self .server_public_key is not None :
347+ return False
348+
349+ return True
299350
300351class SessionServer (BunqModel ):
301352 """
@@ -373,4 +424,17 @@ def generate_request_body_bytes(cls, secret):
373424
374425 return converter .class_to_json ({cls .FIELD_SECRET : secret }).encode ()
375426
427+ def are_all_fields_none (self ):
428+ if self .id_ is not None :
429+ return False
430+
431+ if self .token is not None :
432+ return False
433+
434+ if self .user_person is not None :
435+ return False
436+
437+ if self .user_company is not None :
438+ return False
376439
440+ return True
0 commit comments