@@ -349,48 +349,46 @@ Create a new authorization model.
349349# Initialize the fga_client
350350# fga_client = OpenFgaClient(configuration)
351351
352- body = WriteAuthorizationModelRequest(
353- schema_version = " 1.1" ,
354- type_definitions = [
355- TypeDefinition(
356- type = " user"
352+ user_type = TypeDefinition(type = " user" )
353+
354+ document_relations = dict (
355+ writer = Userset(this = dict ()),
356+ viewer = Userset(
357+ union = Usersets(
358+ child = [
359+ Userset(this = dict ()),
360+ Userset(computed_userset = ObjectRelation(
361+ object = " " ,
362+ relation = " writer" ,
363+ )),
364+ ],
357365 ),
358- TypeDefinition(
359- type = " document" ,
360- relations = dict (
361- writer = Userset(
362- this = dict (),
363- ),
364- viewer = Userset(
365- union = Usersets(
366- child = [
367- Userset(this = dict ()),
368- Userset(computed_userset = ObjectRelation(
369- object = " " ,
370- relation = " writer" ,
371- )),
372- ],
373- ),
374- ),
366+ ),
367+ )
368+
369+ document_metadata = Metadata(
370+ relations = dict (
371+ writer = RelationMetadata(
372+ directly_related_user_types = [
373+ RelationReference(type = " user" ),
374+ RelationReference(type = " user" , condition = " ViewCountLessThan200" ),
375+ ]
375376 ),
376- metadata = Metadata(
377- relations = dict (
378- writer = RelationMetadata(
379- directly_related_user_types = [
380- RelationReference(type = " user" ),
381- RelationReference(type = " user" , condition = " ViewCountLessThan200" ),
382- ]
383- ),
384- viewer = RelationMetadata(
385- directly_related_user_types = [
386- RelationReference(type = " user" ),
387- ]
388- )
389- )
377+ viewer = RelationMetadata(
378+ directly_related_user_types = [
379+ RelationReference(type = " user" ),
380+ ]
390381 )
391382 )
392- ],
393- conditions = dict (
383+ )
384+
385+ document_type = TypeDefinition(
386+ type = " document" ,
387+ relations = document_relations,
388+ metadata = document_metadata
389+ )
390+
391+ conditions = dict (
394392 ViewCountLessThan200 = Condition(
395393 name = " ViewCountLessThan200" ,
396394 expression = " ViewCount < 200" ,
@@ -407,6 +405,14 @@ body = WriteAuthorizationModelRequest(
407405 )
408406 )
409407 )
408+
409+ body = WriteAuthorizationModelRequest(
410+ schema_version = " 1.1" ,
411+ type_definitions = [
412+ user_type,
413+ document_type
414+ ],
415+ conditions = conditions
410416)
411417
412418response = await fga_client.write_authorization_model(body)
0 commit comments