- Notifications
You must be signed in to change notification settings - Fork1k
feat: implement acl for workspaces#19094
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Changes fromall commits
5334fb4
41ad749
198b835
f9c6274
d568169
0155cf1
a20cd4f
ca54c9f
18638da
4e24589
File filter
Filter by extension
Conversations
Uh oh!
There was an error while loading.Please reload this page.
Jump to
Uh oh!
There was an error while loading.Please reload this page.
Diff view
Diff view
There are no files selected for viewing
Some generated files are not rendered by default. Learn more abouthow customized files appear on GitHub.
Uh oh!
There was an error while loading.Please reload this page.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
DROP VIEW workspaces_expanded; | ||
ALTER TABLE workspaces | ||
DROP COLUMN group_acl, | ||
DROP COLUMN user_acl; | ||
CREATE VIEW workspaces_expanded AS | ||
SELECT workspaces.id, | ||
workspaces.created_at, | ||
workspaces.updated_at, | ||
workspaces.owner_id, | ||
workspaces.organization_id, | ||
workspaces.template_id, | ||
workspaces.deleted, | ||
workspaces.name, | ||
workspaces.autostart_schedule, | ||
workspaces.ttl, | ||
workspaces.last_used_at, | ||
workspaces.dormant_at, | ||
workspaces.deleting_at, | ||
workspaces.automatic_updates, | ||
workspaces.favorite, | ||
workspaces.next_start_at, | ||
visible_users.avatar_url AS owner_avatar_url, | ||
visible_users.username AS owner_username, | ||
visible_users.name AS owner_name, | ||
organizations.name AS organization_name, | ||
organizations.display_name AS organization_display_name, | ||
organizations.icon AS organization_icon, | ||
organizations.description AS organization_description, | ||
templates.name AS template_name, | ||
templates.display_name AS template_display_name, | ||
templates.icon AS template_icon, | ||
templates.description AS template_description | ||
FROM (((workspaces | ||
JOIN visible_users ON ((workspaces.owner_id = visible_users.id))) | ||
JOIN organizations ON ((workspaces.organization_id = organizations.id))) | ||
JOIN templates ON ((workspaces.template_id = templates.id))); | ||
COMMENT ON VIEW workspaces_expanded IS 'Joins in the display name information such as username, avatar, and organization name.'; |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
DROP VIEW workspaces_expanded; | ||
ALTER TABLE workspaces | ||
ADD COLUMN group_acl jsonb not null default '{}'::jsonb, | ||
ADD COLUMN user_acl jsonb not null default '{}'::jsonb; | ||
-- Recreate the view, now including the new columns | ||
CREATE VIEW workspaces_expanded AS | ||
SELECT workspaces.id, | ||
workspaces.created_at, | ||
workspaces.updated_at, | ||
workspaces.owner_id, | ||
workspaces.organization_id, | ||
workspaces.template_id, | ||
workspaces.deleted, | ||
workspaces.name, | ||
workspaces.autostart_schedule, | ||
workspaces.ttl, | ||
workspaces.last_used_at, | ||
workspaces.dormant_at, | ||
workspaces.deleting_at, | ||
workspaces.automatic_updates, | ||
workspaces.favorite, | ||
workspaces.next_start_at, | ||
workspaces.group_acl, | ||
workspaces.user_acl, | ||
visible_users.avatar_url AS owner_avatar_url, | ||
visible_users.username AS owner_username, | ||
visible_users.name AS owner_name, | ||
organizations.name AS organization_name, | ||
organizations.display_name AS organization_display_name, | ||
organizations.icon AS organization_icon, | ||
organizations.description AS organization_description, | ||
templates.name AS template_name, | ||
templates.display_name AS template_display_name, | ||
templates.icon AS template_icon, | ||
templates.description AS template_description | ||
FROM (((workspaces | ||
JOIN visible_users ON ((workspaces.owner_id = visible_users.id))) | ||
JOIN organizations ON ((workspaces.organization_id = organizations.id))) | ||
JOIN templates ON ((workspaces.template_id = templates.id))); | ||
COMMENT ON VIEW workspaces_expanded IS 'Joins in the display name information such as username, avatar, and organization name.'; |
Some generated files are not rendered by default. Learn more abouthow customized files appear on GitHub.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.