{"id":230663,"date":"2024-04-04T15:58:57","date_gmt":"2024-04-04T07:58:57","guid":{"rendered":"https:\/\/magicalbits.net\/?p=230663"},"modified":"2024-04-04T15:58:57","modified_gmt":"2024-04-04T07:58:57","slug":"how-we-built-a-custom-permissions-dsl-at-figma-figma-blog","status":"publish","type":"post","link":"https:\/\/magicalbits.net\/?p=230663","title":{"rendered":"How We Built a Custom Permissions DSL at Figma | Figma Blog"},"content":{"rendered":"<blockquote><p>When you click on the \u201cShare\u201d button in a Figma file, the share modal pops up, which controls who can access the file and their corresponding level of authorship. There are two main ways to access a file: through a role and through a link. Roles are hierarchical, so you might have access to the file through your role on a parent folder, team, or organization. We have corresponding rules around when that access is blocked or allowed depending on the state of each of these containers and the user\u2019s role. Link<\/p><\/blockquote>\n<p>Source: <em><a href=\"https:\/\/www.figma.com\/blog\/how-we-rolled-out-our-own-permissions-dsl-at-figma\/\">How We Built a Custom Permissions DSL at Figma | Figma Blog<\/a><\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>When you click on the \u201cShare\u201d button in a Figma file, the share modal pops up, which controls who can access the file and their corresponding level of authorship. There are two main ways to access a file: through a role and through a link. Roles are hierarchical, so you might have access to the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ep_exclude_from_search":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-230663","post","type-post","status-publish","format-standard","hentry","category-uncategorised"],"jetpack_featured_media_url":"","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/magicalbits.net\/index.php?rest_route=\/wp\/v2\/posts\/230663","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/magicalbits.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/magicalbits.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/magicalbits.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/magicalbits.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=230663"}],"version-history":[{"count":1,"href":"https:\/\/magicalbits.net\/index.php?rest_route=\/wp\/v2\/posts\/230663\/revisions"}],"predecessor-version":[{"id":230664,"href":"https:\/\/magicalbits.net\/index.php?rest_route=\/wp\/v2\/posts\/230663\/revisions\/230664"}],"wp:attachment":[{"href":"https:\/\/magicalbits.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=230663"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/magicalbits.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=230663"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/magicalbits.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=230663"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}