From 30bd4edf2ec73fc86ca3ee4209a9c00779e8d0bd Mon Sep 17 00:00:00 2001 From: Matteo Cominetti Date: Wed, 14 Oct 2020 22:41:53 +0100 Subject: [PATCH] feat(ui): grant and revoke stream permissions --- frontend/src/components/ListItemUser.vue | 28 ++- frontend/src/components/SidebarStream.vue | 29 ++- .../components/dialogs/StreamShareDialog.vue | 219 ++++++++++++++---- frontend/src/graphql/server.gql | 5 + frontend/src/graphql/stream.gql | 1 + frontend/src/graphql/streamCollaborators.gql | 12 + frontend/src/graphql/user.gql | 1 + frontend/src/views/Streams.vue | 23 +- 8 files changed, 255 insertions(+), 63 deletions(-) create mode 100644 frontend/src/graphql/streamCollaborators.gql diff --git a/frontend/src/components/ListItemUser.vue b/frontend/src/components/ListItemUser.vue index ae02d0008..d3d5a12e4 100644 --- a/frontend/src/components/ListItemUser.vue +++ b/frontend/src/components/ListItemUser.vue @@ -1,5 +1,5 @@ diff --git a/frontend/src/components/SidebarStream.vue b/frontend/src/components/SidebarStream.vue index 0d4bbe1a4..a95baa253 100644 --- a/frontend/src/components/SidebarStream.vue +++ b/frontend/src/components/SidebarStream.vue @@ -66,6 +66,7 @@ Collaborators ({ user: {} }), + computed: { + isStreamOwner() { + return ( + this.stream.collaborators.filter( + (x) => x.id === this.user.id && x.role === "stream:owner" + ).length > 0 + ) + } + }, + watch: { + user(val) { + //console.log(val) } }, - data: () => ({}), methods: { shareStream() { this.$refs.streamShareDialog.open() diff --git a/frontend/src/components/dialogs/StreamShareDialog.vue b/frontend/src/components/dialogs/StreamShareDialog.vue index 27d41f3e4..b381b60f8 100644 --- a/frontend/src/components/dialogs/StreamShareDialog.vue +++ b/frontend/src/components/dialogs/StreamShareDialog.vue @@ -1,5 +1,5 @@