CARVIEW |
Select Language
HTTP/2 301
date: Wed, 23 Jul 2025 20:39:47 GMT
content-length: 0
location: https://github.com/openfga/frontend-utils/issues/34
server-timing: nginx;desc="NGINX";dur=1.216335,glb;desc="GLB";dur=100.910216
x-voltron-version: fd8fbbc
vary: Accept-Encoding, Accept, X-Requested-With
server: github.com
x-frame-options: DENY
strict-transport-security: max-age=31536000; includeSubDomains; preload
set-cookie: _gh_sess=WpSmFMAq9wHoWR8fGHuSaGdj71UMANFPBdE6HMnZBmmTewp0KLq%2FysYV%2B%2FSnELvcnAzlOpsKm3e8uss5fu0bRTaMWpThP%2BfXIHg%2BT1ZhPfNzf7KUjiWW6L27H%2F4%2Bf3O4g1BP%2B2VMIL%2Bi2I1kKMRbQSlRWpXhdiCdqbpvvMsQSz%2FWDxv%2BX6sPHMfnJOYEsH%2BUigkPbfq0O1PTXa2p3BCduOXNmZkvEUWJeryt4O5XAtzskua%2F1xXlUoohydHN7t%2BZIENrbklQkwACzDLJQC1zeQ%3D%3D--JKcs2x%2BC9Hca5gGb--ZzT642gY%2BzF5SoOLs%2BqaoQ%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.1842241012.1753303187; Path=/; Domain=github.com; Expires=Thu, 23 Jul 2026 20:39:47 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Thu, 23 Jul 2026 20:39:47 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: 8A22:124FF4:109F91A:13C70DF:68814893
HTTP/2 302
date: Wed, 23 Jul 2025 20:39:47 GMT
content-length: 0
location: https://github.com/openfga/language/issues/16
server-timing: nginx;desc="NGINX";dur=1.242767,glb;desc="GLB";dur=100.642877
x-voltron-version: fd8fbbc
vary: Accept-Encoding, Accept, X-Requested-With
server: github.com
x-frame-options: DENY
strict-transport-security: max-age=31536000; includeSubDomains; preload
x-github-request-id: 8A22:124FF4:109F928:13C70F8:68814893
HTTP/2 200
date: Wed, 23 Jul 2025 20:39:48 GMT
content-type: text/html; charset=utf-8
cache-control: max-age=0, private, must-revalidate
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
link: ; rel=preload; as=fetch; crossorigin=use-credentials
referrer-policy: no-referrer-when-downgrade
server-timing: issue_layout-fragment;desc="issue_layout fragment";dur=180.418522,issue_conversation_content-fragment;desc="issue_conversation_content fragment";dur=574.93792,issue_conversation_sidebar-fragment;desc="issue_conversation_sidebar fragment";dur=41.11607,nginx;desc="NGINX";dur=1.382074,glb;desc="GLB";dur=103.729176
strict-transport-security: max-age=31536000; includeSubdomains; preload
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With, Accept,Accept-Encoding, Accept, X-Requested-With
x-content-type-options: nosniff
x-frame-options: deny
x-voltron-version: fd8fbbc
x-xss-protection: 0
server: github.com
content-encoding: gzip
accept-ranges: bytes
x-github-request-id: 8A22:124FF4:109F93F:13C710F:68814893
feat: support nested userset rewrite operands in the DSL Β· Issue #16 Β· openfga/language Β· GitHub
No one assignedNo typeShow more project fieldsNo milestoneNone yetNo branches or pull requests
Skip to content
Navigation Menu
{{ message }}
-
Notifications
You must be signed in to change notification settings - Fork 10
Closed
Labels
enhancementNew feature or requestNew feature or request
Description
The DSL today does not support nested userset rewrite operands and/or compound expressions delineated by parenthetical expressions. The DSL language should be extended to support compound expressions with parenthetical expressions so that it supports the same expressiveness of the JSON support existing today.
Below are some examples of the unsupported functionality.
# sample1
type document
relations
define restricted as self
define editor as self
define viewer as editor or (self but not restricted)
# sample2
type document
relations
define restricted as self
define parent as self
define editor as self
define (viewer but not restricted) or (editor and viewer from parent)
These same models are supported in the JSON structure today, for example:
# sample 1
{
"type_definitions": [
{
"type": "document",
"relations": {
"restricted": { "this": {} },
"editor": { "this": {} },
"viewer": {
"union": {
"child": [
{ "computedUserset": { "object": "", "relation": "editor" } },
{
"union": {
"child": [
{ "this": {} },
{
"difference": {
"base": {
"this": {}
},
"subtract": {
"object": "",
"relation": "restricted"
}
}
}
]
}
}
]
}
}
}
}
]
}
# sample2
{
"type_definitions": [
{
"type": "document",
"relations": {
"parent": { "this": {} },
"restricted": { "this": {} },
"editor": { "this": {} },
"viewer": {
"union": {
"child": [
{
"difference": {
"base": {
"this": {}
},
"subtract": {
"object": "",
"relation": "restricted"
}
}
},
{
"intersection": {
"child": [
{
"computedUserset": {
"object": "",
"relation": "editor"
}
},
{
"tupleToUserset": {
"tupleset": {
"object": "",
"relation": "parent"
},
"computedUserset": {
"object": "",
"relation": "viewer"
}
}
}
]
}
}
]
}
}
}
}
]
}
seandlg and OsmanMElsayed
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request
Type
Projects
Status
Done
Milestone
Relationships
Development
Issue actions
You canβt perform that action at this time.