Skip to content

Commit 47f2016

Browse files
committed
feat: add validation for min/max size of certain fields
1 parent dd1c3c3 commit 47f2016

9 files changed

Lines changed: 80 additions & 4 deletions

openfga_sdk/models/contextual_tuple_keys.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,14 @@ def tuple_keys(self, tuple_keys):
6868
"""
6969
if self.local_vars_configuration.client_side_validation and tuple_keys is None:
7070
raise ValueError("Invalid value for `tuple_keys`, must not be `None`")
71+
if (
72+
self.local_vars_configuration.client_side_validation
73+
and tuple_keys is not None
74+
and len(tuple_keys) > 100
75+
):
76+
raise ValueError(
77+
"Invalid value for `tuple_keys`, number of items must be less than or equal to `100`"
78+
)
7179

7280
self._tuple_keys = tuple_keys
7381

openfga_sdk/models/list_users_request.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,22 @@ def user_filters(self, user_filters):
182182
and user_filters is None
183183
):
184184
raise ValueError("Invalid value for `user_filters`, must not be `None`")
185+
if (
186+
self.local_vars_configuration.client_side_validation
187+
and user_filters is not None
188+
and len(user_filters) > 1
189+
):
190+
raise ValueError(
191+
"Invalid value for `user_filters`, number of items must be less than or equal to `1`"
192+
)
193+
if (
194+
self.local_vars_configuration.client_side_validation
195+
and user_filters is not None
196+
and len(user_filters) < 1
197+
):
198+
raise ValueError(
199+
"Invalid value for `user_filters`, number of items must be greater than or equal to `1`"
200+
)
185201

186202
self._user_filters = user_filters
187203

@@ -203,6 +219,14 @@ def contextual_tuples(self, contextual_tuples):
203219
:param contextual_tuples: The contextual_tuples of this ListUsersRequest.
204220
:type contextual_tuples: list[TupleKey]
205221
"""
222+
if (
223+
self.local_vars_configuration.client_side_validation
224+
and contextual_tuples is not None
225+
and len(contextual_tuples) > 100
226+
):
227+
raise ValueError(
228+
"Invalid value for `contextual_tuples`, number of items must be less than or equal to `100`"
229+
)
206230

207231
self._contextual_tuples = contextual_tuples
208232

openfga_sdk/models/read_request.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,22 @@ def page_size(self, page_size):
114114
:param page_size: The page_size of this ReadRequest.
115115
:type page_size: int
116116
"""
117+
if (
118+
self.local_vars_configuration.client_side_validation
119+
and page_size is not None
120+
and page_size > 100
121+
):
122+
raise ValueError(
123+
"Invalid value for `page_size`, must be a value less than or equal to `100`"
124+
)
125+
if (
126+
self.local_vars_configuration.client_side_validation
127+
and page_size is not None
128+
and page_size < 1
129+
):
130+
raise ValueError(
131+
"Invalid value for `page_size`, must be a value greater than or equal to `1`"
132+
)
117133

118134
self._page_size = page_size
119135

openfga_sdk/models/write_assertions_request.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,14 @@ def assertions(self, assertions):
6868
"""
6969
if self.local_vars_configuration.client_side_validation and assertions is None:
7070
raise ValueError("Invalid value for `assertions`, must not be `None`")
71+
if (
72+
self.local_vars_configuration.client_side_validation
73+
and assertions is not None
74+
and len(assertions) > 100
75+
):
76+
raise ValueError(
77+
"Invalid value for `assertions`, number of items must be less than or equal to `100`"
78+
)
7179

7280
self._assertions = assertions
7381

openfga_sdk/models/write_authorization_model_request.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,14 @@ def type_definitions(self, type_definitions):
9090
and type_definitions is None
9191
):
9292
raise ValueError("Invalid value for `type_definitions`, must not be `None`")
93+
if (
94+
self.local_vars_configuration.client_side_validation
95+
and type_definitions is not None
96+
and len(type_definitions) < 1
97+
):
98+
raise ValueError(
99+
"Invalid value for `type_definitions`, number of items must be greater than or equal to `1`"
100+
)
93101

94102
self._type_definitions = type_definitions
95103

openfga_sdk/models/write_request_deletes.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,14 @@ def tuple_keys(self, tuple_keys):
6868
"""
6969
if self.local_vars_configuration.client_side_validation and tuple_keys is None:
7070
raise ValueError("Invalid value for `tuple_keys`, must not be `None`")
71+
if (
72+
self.local_vars_configuration.client_side_validation
73+
and tuple_keys is not None
74+
and len(tuple_keys) < 1
75+
):
76+
raise ValueError(
77+
"Invalid value for `tuple_keys`, number of items must be greater than or equal to `1`"
78+
)
7179

7280
self._tuple_keys = tuple_keys
7381

openfga_sdk/models/write_request_writes.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,14 @@ def tuple_keys(self, tuple_keys):
6868
"""
6969
if self.local_vars_configuration.client_side_validation and tuple_keys is None:
7070
raise ValueError("Invalid value for `tuple_keys`, must not be `None`")
71+
if (
72+
self.local_vars_configuration.client_side_validation
73+
and tuple_keys is not None
74+
and len(tuple_keys) < 1
75+
):
76+
raise ValueError(
77+
"Invalid value for `tuple_keys`, number of items must be greater than or equal to `1`"
78+
)
7179

7280
self._tuple_keys = tuple_keys
7381

test/api/open_fga_api_test.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -467,7 +467,6 @@ async def test_list_users(self, mock_request):
467467
relation="can_read",
468468
user_filters=[
469469
{"type": "user"},
470-
{"type": "team", "relation": "member"},
471470
],
472471
context={},
473472
contextual_tuples=[
@@ -522,7 +521,6 @@ async def test_list_users(self, mock_request):
522521
"relation": "can_read",
523522
"user_filters": [
524523
{"type": "user"},
525-
{"type": "team", "relation": "member"},
526524
],
527525
"context": {},
528526
"contextual_tuples": [

test/sync/open_fga_api_test.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -472,7 +472,6 @@ async def test_list_users(self, mock_request):
472472
request.relation = "can_read"
473473
request.user_filters = [
474474
{"type": "user"},
475-
{"type": "team", "relation": "member"},
476475
]
477476
request.context = {}
478477
request.contextual_tuples = [
@@ -526,7 +525,6 @@ async def test_list_users(self, mock_request):
526525
"relation": "can_read",
527526
"user_filters": [
528527
{"type": "user"},
529-
{"type": "team", "relation": "member"},
530528
],
531529
"context": {},
532530
"contextual_tuples": [

0 commit comments

Comments
 (0)