{ "PhotoFlash::Data": { "entityTypes": { "User": { "shape": { "type": "Record", "attributes": { "account": { "type": "Entity", "name": "Account" } } }, "memberOfTypes": [ "UserGroup" ] }, "Account": { "shape": { "type": "Record", "attributes": { "age": { "type": "Long" } } }, "memberOfTypes": [] }, "ScreenTime": { "memberOfTypes": [] }, "UserGroup": { "memberOfTypes": [] }, "Photo": { "shape": { "type": "Record", "attributes": { "owner": { "type": "Entity", "name": "User" } } }, "memberOfTypes": [ "Album" ] }, "Album": { "memberOfTypes": [ "Album" ] } }, "actions": { "view": { "appliesTo": { "resourceTypes": [ "Photo", "ScreenTime" ], "principalTypes": [ "User" ], "context": { "type": "Record", "attributes": { "addr": { "type": "Record", "attributes": { "street": { "type": "String" }, "city": { "type": "String" } } }, "person": { "type": "Record", "attributes": { "name": { "type": "String" }, "age": { "type": "Long" } } }, "role": { "type": "Set", "element": { "type": "String" } } } } } }, "edit": { "appliesTo": { "resourceTypes": [ "Photo" ], "principalTypes": [ "User" ] } } } } }