diff --git a/backend/src/db/graphql/groups.js b/backend/src/db/graphql/groups.js index 53e1deb8b..35bf5c5f2 100644 --- a/backend/src/db/graphql/groups.js +++ b/backend/src/db/graphql/groups.js @@ -189,13 +189,15 @@ export const groupQuery = () => { ` } -export const groupMembersQuery = gql` - query ($id: ID!) { - GroupMembers(id: $id) { - id - name - slug - myRoleInGroup +export const groupMembersQuery = () => { + return gql` + query ($id: ID!) { + GroupMembers(id: $id) { + id + name + slug + myRoleInGroup + } } - } -` + ` +} diff --git a/backend/src/schema/resolvers/groups.spec.js b/backend/src/schema/resolvers/groups.spec.js index 17d8fadb8..098ae85d2 100644 --- a/backend/src/schema/resolvers/groups.spec.js +++ b/backend/src/schema/resolvers/groups.spec.js @@ -1049,7 +1049,7 @@ describe('in mode', () => { variables = { id: 'not-existing-group', } - const { errors } = await query({ query: groupMembersQuery, variables }) + const { errors } = await query({ query: groupMembersQuery(), variables }) expect(errors[0]).toHaveProperty('message', 'Not Authorized!') }) }) @@ -1222,7 +1222,7 @@ describe('in mode', () => { it('finds all members', async () => { const result = await query({ - query: groupMembersQuery, + query: groupMembersQuery(), variables, }) expect(result).toMatchObject({ @@ -1255,7 +1255,7 @@ describe('in mode', () => { it('finds all members', async () => { const result = await query({ - query: groupMembersQuery, + query: groupMembersQuery(), variables, }) expect(result).toMatchObject({ @@ -1288,7 +1288,7 @@ describe('in mode', () => { it('finds all members', async () => { const result = await query({ - query: groupMembersQuery, + query: groupMembersQuery(), variables, }) expect(result).toMatchObject({ @@ -1331,7 +1331,7 @@ describe('in mode', () => { it('finds all members', async () => { const result = await query({ - query: groupMembersQuery, + query: groupMembersQuery(), variables, }) expect(result).toMatchObject({ @@ -1364,7 +1364,7 @@ describe('in mode', () => { it('finds all members', async () => { const result = await query({ - query: groupMembersQuery, + query: groupMembersQuery(), variables, }) expect(result).toMatchObject({ @@ -1396,7 +1396,7 @@ describe('in mode', () => { }) it('throws authorization error', async () => { - const { errors } = await query({ query: groupMembersQuery, variables }) + const { errors } = await query({ query: groupMembersQuery(), variables }) expect(errors[0]).toHaveProperty('message', 'Not Authorized!') }) }) @@ -1407,7 +1407,7 @@ describe('in mode', () => { }) it('throws authorization error', async () => { - const { errors } = await query({ query: groupMembersQuery, variables }) + const { errors } = await query({ query: groupMembersQuery(), variables }) expect(errors[0]).toHaveProperty('message', 'Not Authorized!') }) }) @@ -1429,7 +1429,7 @@ describe('in mode', () => { it('finds all members', async () => { const result = await query({ - query: groupMembersQuery, + query: groupMembersQuery(), variables, }) expect(result).toMatchObject({ @@ -1466,7 +1466,7 @@ describe('in mode', () => { it('finds all members', async () => { const result = await query({ - query: groupMembersQuery, + query: groupMembersQuery(), variables, }) expect(result).toMatchObject({ @@ -1503,7 +1503,7 @@ describe('in mode', () => { it('finds all members', async () => { const result = await query({ - query: groupMembersQuery, + query: groupMembersQuery(), variables, }) expect(result).toMatchObject({ @@ -1539,7 +1539,7 @@ describe('in mode', () => { }) it('throws authorization error', async () => { - const { errors } = await query({ query: groupMembersQuery, variables }) + const { errors } = await query({ query: groupMembersQuery(), variables }) expect(errors[0]).toHaveProperty('message', 'Not Authorized!') }) }) @@ -1550,7 +1550,7 @@ describe('in mode', () => { }) it('throws authorization error', async () => { - const { errors } = await query({ query: groupMembersQuery, variables }) + const { errors } = await query({ query: groupMembersQuery(), variables }) expect(errors[0]).toHaveProperty('message', 'Not Authorized!') }) }) @@ -2428,7 +2428,7 @@ describe('in mode', () => { describe('here "closed-group" for example', () => { const memberInGroup = async (userId, groupId) => { const result = await query({ - query: groupMembersQuery, + query: groupMembersQuery(), variables: { id: groupId, }, diff --git a/webapp/graphql/groups.js b/webapp/graphql/groups.js index 85478ba48..88be19ba7 100644 --- a/webapp/graphql/groups.js +++ b/webapp/graphql/groups.js @@ -178,13 +178,15 @@ export const groupQuery = (i18n) => { ` } -export const groupMembersQuery = gql` - query ($id: ID!) { - GroupMembers(id: $id) { - id - name - slug - myRoleInGroup +export const groupMembersQuery = () => { + return gql` + query ($id: ID!) { + GroupMembers(id: $id) { + id + name + slug + myRoleInGroup + } } - } -` + ` +} diff --git a/webapp/pages/group/_id/_slug.vue b/webapp/pages/group/_id/_slug.vue index 77a106936..68b627bae 100644 --- a/webapp/pages/group/_id/_slug.vue +++ b/webapp/pages/group/_id/_slug.vue @@ -580,17 +580,23 @@ export default { // followingCount: this.followingCount, } }, + error(error) { + this.$toast.error(error.message) + }, fetchPolicy: 'cache-and-network', }, GroupMembers: { query() { - return groupMembersQuery + return groupMembersQuery() }, variables() { return { id: this.$route.params.id, } }, + error(error) { + this.$toast.error(error.message) + }, fetchPolicy: 'cache-and-network', }, }, diff --git a/webapp/pages/my-groups.vue b/webapp/pages/my-groups.vue index d055c747b..8f8632627 100644 --- a/webapp/pages/my-groups.vue +++ b/webapp/pages/my-groups.vue @@ -32,6 +32,7 @@ export default { this.responseGroupListQuery = response.data.Group } catch (error) { this.responseGroupListQuery = [] + this.$toast.error(error.message) } finally { this.pending = false }