Skip to content

Commit f19508d

Browse files
authored
[BUG] Fix issue with Subject not serializing properly in FGA module (#348)
* Fix issue with Subject not serializing properly * Black * Fix type issue
1 parent 0c86181 commit f19508d

File tree

3 files changed

+16
-11
lines changed

3 files changed

+16
-11
lines changed

tests/test_fga.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
)
99
from workos.fga import FGA
1010
from workos.types.fga import (
11-
Subject,
1211
WarrantCheckInput,
1312
WarrantWrite,
13+
SubjectInput,
1414
)
1515

1616

@@ -356,7 +356,7 @@ def test_batch_write_warrants(
356356
resource_type="permission",
357357
resource_id="view-balance-sheet",
358358
relation="member",
359-
subject=Subject(
359+
subject=SubjectInput(
360360
resource_type="role",
361361
resource_id="senior-accountant",
362362
relation="member",
@@ -367,7 +367,7 @@ def test_batch_write_warrants(
367367
resource_type="permission",
368368
resource_id="balance-sheet:edit",
369369
relation="member",
370-
subject=Subject(
370+
subject=SubjectInput(
371371
resource_type="user",
372372
resource_id="user-b",
373373
),
@@ -392,7 +392,7 @@ def test_check(self, mock_check_warrant_response, mock_http_client_with_response
392392
resource_type="schedule",
393393
resource_id="schedule-A1",
394394
relation="viewer",
395-
subject=Subject(resource_type="user", resource_id="user-A"),
395+
subject=SubjectInput(resource_type="user", resource_id="user-A"),
396396
)
397397
],
398398
)
@@ -451,7 +451,7 @@ def test_check_with_debug_info(
451451
resource_type="report",
452452
resource_id="report-a",
453453
relation="editor",
454-
subject=Subject(resource_type="user", resource_id="user-b"),
454+
subject=SubjectInput(resource_type="user", resource_id="user-b"),
455455
context={"tenant": "tenant-b"},
456456
)
457457
],
@@ -477,13 +477,13 @@ def test_check_batch(
477477
resource_type="schedule",
478478
resource_id="schedule-A1",
479479
relation="viewer",
480-
subject=Subject(resource_type="user", resource_id="user-A"),
480+
subject=SubjectInput(resource_type="user", resource_id="user-A"),
481481
),
482482
WarrantCheckInput(
483483
resource_type="schedule",
484484
resource_id="schedule-A1",
485485
relation="editor",
486-
subject=Subject(resource_type="user", resource_id="user-B"),
486+
subject=SubjectInput(resource_type="user", resource_id="user-B"),
487487
),
488488
]
489489
)

workos/types/fga/check.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@
33
from workos.types.workos_model import WorkOSModel
44
from workos.typing.literals import LiteralOrUntyped
55

6-
from .warrant import Subject
7-
6+
from .warrant import Subject, SubjectInput
87

98
CheckOperation = Literal["any_of", "all_of", "batch"]
109

@@ -13,7 +12,7 @@ class WarrantCheckInput(TypedDict, total=False):
1312
resource_type: str
1413
resource_id: str
1514
relation: str
16-
subject: Subject
15+
subject: SubjectInput
1716
context: Optional[Mapping[str, Any]]
1817

1918

workos/types/fga/warrant.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@
44
from workos.types.workos_model import WorkOSModel
55

66

7+
class SubjectInput(TypedDict, total=False):
8+
resource_type: str
9+
resource_id: str
10+
relation: Optional[str]
11+
12+
713
class Subject(WorkOSModel):
814
resource_type: str
915
resource_id: str
@@ -30,7 +36,7 @@ class WarrantWrite(TypedDict, total=False):
3036
resource_type: str
3137
resource_id: str
3238
relation: str
33-
subject: Subject
39+
subject: SubjectInput
3440
policy: Optional[str]
3541

3642

0 commit comments

Comments
 (0)