Introduce group basic federation, event new page and notifications
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
@@ -1,222 +1,328 @@
|
||||
import gql from 'graphql-tag';
|
||||
import gql from "graphql-tag";
|
||||
import { CONVERSATION_BASIC_FIELDS_FRAGMENT } from "@/graphql/conversation";
|
||||
import { RESOURCE_METADATA_BASIC_FIELDS_FRAGMENT } from "@/graphql/resources";
|
||||
|
||||
export const FETCH_PERSON = gql`
|
||||
query($username: String!) {
|
||||
fetchPerson(preferredUsername: $username) {
|
||||
id,
|
||||
url,
|
||||
name,
|
||||
domain,
|
||||
summary,
|
||||
preferredUsername,
|
||||
suspended,
|
||||
avatar {
|
||||
name,
|
||||
query($username: String!) {
|
||||
fetchPerson(preferredUsername: $username) {
|
||||
id
|
||||
url
|
||||
},
|
||||
banner {
|
||||
url
|
||||
},
|
||||
feedTokens {
|
||||
name
|
||||
domain
|
||||
summary
|
||||
preferredUsername
|
||||
suspended
|
||||
avatar {
|
||||
name
|
||||
url
|
||||
}
|
||||
banner {
|
||||
url
|
||||
}
|
||||
feedTokens {
|
||||
token
|
||||
},
|
||||
organizedEvents {
|
||||
uuid,
|
||||
title,
|
||||
}
|
||||
organizedEvents {
|
||||
uuid
|
||||
title
|
||||
beginsOn
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
export const GET_PERSON = gql`
|
||||
query($actorId: ID!) {
|
||||
person(id: $actorId) {
|
||||
id,
|
||||
url,
|
||||
name,
|
||||
domain,
|
||||
summary,
|
||||
preferredUsername,
|
||||
suspended,
|
||||
avatar {
|
||||
name,
|
||||
url
|
||||
},
|
||||
banner {
|
||||
url
|
||||
},
|
||||
feedTokens {
|
||||
token
|
||||
},
|
||||
organizedEvents {
|
||||
uuid,
|
||||
title,
|
||||
beginsOn
|
||||
},
|
||||
}
|
||||
query($actorId: ID!) {
|
||||
person(id: $actorId) {
|
||||
id
|
||||
url
|
||||
name
|
||||
domain
|
||||
summary
|
||||
preferredUsername
|
||||
suspended
|
||||
avatar {
|
||||
name
|
||||
url
|
||||
}
|
||||
banner {
|
||||
url
|
||||
}
|
||||
feedTokens {
|
||||
token
|
||||
}
|
||||
organizedEvents {
|
||||
uuid
|
||||
title
|
||||
beginsOn
|
||||
}
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
export const LOGGED_PERSON = gql`
|
||||
query {
|
||||
loggedPerson {
|
||||
id,
|
||||
avatar {
|
||||
url
|
||||
},
|
||||
preferredUsername,
|
||||
query {
|
||||
loggedPerson {
|
||||
id
|
||||
avatar {
|
||||
url
|
||||
}
|
||||
preferredUsername
|
||||
}
|
||||
}
|
||||
}`;
|
||||
`;
|
||||
|
||||
export const UPDATE_DEFAULT_ACTOR = gql`
|
||||
mutation ChangeDefaultActor($preferredUsername: String!) {
|
||||
changeDefaultActor(preferredUsername: $preferredUsername) {
|
||||
id
|
||||
defaultActor {
|
||||
id
|
||||
}
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
export const CURRENT_ACTOR_CLIENT = gql`
|
||||
query currentActor {
|
||||
currentActor @client {
|
||||
id,
|
||||
avatar {
|
||||
url
|
||||
},
|
||||
preferredUsername,
|
||||
name
|
||||
}
|
||||
query currentActor {
|
||||
currentActor @client {
|
||||
id
|
||||
avatar {
|
||||
url
|
||||
}
|
||||
preferredUsername
|
||||
name
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
export const UPDATE_CURRENT_ACTOR_CLIENT = gql`
|
||||
mutation UpdateCurrentActor($id: String!, $avatar: String, $preferredUsername: String!, $name: String!) {
|
||||
updateCurrentActor(id: $id, avatar: $avatar, preferredUsername: $preferredUsername, name: $name) @client
|
||||
}
|
||||
mutation UpdateCurrentActor(
|
||||
$id: String!
|
||||
$avatar: String
|
||||
$preferredUsername: String!
|
||||
$name: String!
|
||||
) {
|
||||
updateCurrentActor(
|
||||
id: $id
|
||||
avatar: $avatar
|
||||
preferredUsername: $preferredUsername
|
||||
name: $name
|
||||
) @client
|
||||
}
|
||||
`;
|
||||
|
||||
export const LOGGED_USER_PARTICIPATIONS = gql`
|
||||
query LoggedUserParticipations($afterDateTime: DateTime, $beforeDateTime: DateTime, $page: Int, $limit: Int) {
|
||||
loggedUser {
|
||||
participations(afterDatetime: $afterDateTime, beforeDatetime: $beforeDateTime, page: $page, limit: $limit) {
|
||||
query LoggedUserParticipations(
|
||||
$afterDateTime: DateTime
|
||||
$beforeDateTime: DateTime
|
||||
$page: Int
|
||||
$limit: Int
|
||||
) {
|
||||
loggedUser {
|
||||
participations(
|
||||
afterDatetime: $afterDateTime
|
||||
beforeDatetime: $beforeDateTime
|
||||
page: $page
|
||||
limit: $limit
|
||||
) {
|
||||
total
|
||||
elements {
|
||||
event {
|
||||
id,
|
||||
uuid,
|
||||
title,
|
||||
picture {
|
||||
id,
|
||||
url,
|
||||
alt
|
||||
},
|
||||
beginsOn,
|
||||
visibility,
|
||||
organizerActor {
|
||||
id,
|
||||
preferredUsername,
|
||||
name,
|
||||
domain,
|
||||
avatar {
|
||||
url
|
||||
}
|
||||
},
|
||||
participantStats {
|
||||
notApproved
|
||||
participant
|
||||
},
|
||||
options {
|
||||
maximumAttendeeCapacity
|
||||
remainingAttendeeCapacity
|
||||
}
|
||||
},
|
||||
id,
|
||||
role,
|
||||
actor {
|
||||
id,
|
||||
preferredUsername,
|
||||
name,
|
||||
domain,
|
||||
avatar {
|
||||
url
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}`;
|
||||
|
||||
export const LOGGED_USER_DRAFTS = gql`
|
||||
query LoggedUserDrafts($page: Int, $limit: Int) {
|
||||
loggedUser {
|
||||
drafts(page: $page, limit: $limit) {
|
||||
id,
|
||||
uuid,
|
||||
title,
|
||||
picture {
|
||||
id,
|
||||
url,
|
||||
alt
|
||||
},
|
||||
beginsOn,
|
||||
visibility,
|
||||
organizerActor {
|
||||
id,
|
||||
preferredUsername,
|
||||
name,
|
||||
domain,
|
||||
avatar {
|
||||
url
|
||||
}
|
||||
},
|
||||
participantStats {
|
||||
going,
|
||||
notApproved
|
||||
},
|
||||
options {
|
||||
maximumAttendeeCapacity
|
||||
remainingAttendeeCapacity
|
||||
}
|
||||
id
|
||||
uuid
|
||||
title
|
||||
picture {
|
||||
id
|
||||
url
|
||||
alt
|
||||
}
|
||||
beginsOn
|
||||
visibility
|
||||
organizerActor {
|
||||
id
|
||||
preferredUsername
|
||||
name
|
||||
domain
|
||||
avatar {
|
||||
url
|
||||
}
|
||||
}
|
||||
participantStats {
|
||||
notApproved
|
||||
participant
|
||||
}
|
||||
options {
|
||||
maximumAttendeeCapacity
|
||||
remainingAttendeeCapacity
|
||||
}
|
||||
}
|
||||
id
|
||||
role
|
||||
actor {
|
||||
id
|
||||
preferredUsername
|
||||
name
|
||||
domain
|
||||
avatar {
|
||||
url
|
||||
}
|
||||
}
|
||||
}
|
||||
}`;
|
||||
|
||||
export const IDENTITIES = gql`
|
||||
query {
|
||||
identities {
|
||||
id,
|
||||
avatar {
|
||||
url
|
||||
},
|
||||
preferredUsername,
|
||||
name
|
||||
}
|
||||
}`;
|
||||
|
||||
export const CREATE_PERSON = gql`
|
||||
mutation CreatePerson($preferredUsername: String!, $name: String!, $summary: String, $avatar: PictureInput) {
|
||||
createPerson(
|
||||
preferredUsername: $preferredUsername,
|
||||
name: $name,
|
||||
summary: $summary,
|
||||
avatar: $avatar
|
||||
) {
|
||||
id,
|
||||
preferredUsername,
|
||||
name,
|
||||
summary,
|
||||
avatar {
|
||||
url
|
||||
}
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
export const LOGGED_USER_DRAFTS = gql`
|
||||
query LoggedUserDrafts($page: Int, $limit: Int) {
|
||||
loggedUser {
|
||||
drafts(page: $page, limit: $limit) {
|
||||
id
|
||||
uuid
|
||||
title
|
||||
picture {
|
||||
id
|
||||
url
|
||||
alt
|
||||
}
|
||||
beginsOn
|
||||
visibility
|
||||
organizerActor {
|
||||
id
|
||||
preferredUsername
|
||||
name
|
||||
domain
|
||||
avatar {
|
||||
url
|
||||
}
|
||||
}
|
||||
participantStats {
|
||||
going
|
||||
notApproved
|
||||
}
|
||||
options {
|
||||
maximumAttendeeCapacity
|
||||
remainingAttendeeCapacity
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
export const LOGGED_USER_MEMBERSHIPS = gql`
|
||||
query LoggedUserMemberships($page: Int, $limit: Int) {
|
||||
loggedUser {
|
||||
memberships(page: $page, limit: $limit) {
|
||||
total
|
||||
elements {
|
||||
id
|
||||
role
|
||||
parent {
|
||||
id
|
||||
preferredUsername
|
||||
domain
|
||||
name
|
||||
avatar {
|
||||
url
|
||||
}
|
||||
organizedEvents {
|
||||
elements {
|
||||
id
|
||||
title
|
||||
picture {
|
||||
url
|
||||
}
|
||||
}
|
||||
total
|
||||
}
|
||||
}
|
||||
invitedBy {
|
||||
id
|
||||
preferredUsername
|
||||
domain
|
||||
name
|
||||
avatar {
|
||||
url
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
export const IDENTITIES = gql`
|
||||
query {
|
||||
identities {
|
||||
id
|
||||
avatar {
|
||||
url
|
||||
}
|
||||
preferredUsername
|
||||
name
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
export const PERSON_MEMBERSHIPS = gql`
|
||||
query PersonMemberships($id: ID!) {
|
||||
person(id: $id) {
|
||||
id
|
||||
memberships {
|
||||
total
|
||||
elements {
|
||||
id
|
||||
role
|
||||
parent {
|
||||
id
|
||||
preferredUsername
|
||||
name
|
||||
domain
|
||||
avatar {
|
||||
url
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
export const CREATE_PERSON = gql`
|
||||
mutation CreatePerson(
|
||||
$preferredUsername: String!
|
||||
$name: String!
|
||||
$summary: String
|
||||
$avatar: PictureInput
|
||||
) {
|
||||
createPerson(
|
||||
preferredUsername: $preferredUsername
|
||||
name: $name
|
||||
summary: $summary
|
||||
avatar: $avatar
|
||||
) {
|
||||
id
|
||||
preferredUsername
|
||||
name
|
||||
summary
|
||||
avatar {
|
||||
url
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
export const UPDATE_PERSON = gql`
|
||||
mutation UpdatePerson($id: ID!, $name: String, $summary: String, $avatar: PictureInput) {
|
||||
updatePerson(
|
||||
id: $id,
|
||||
name: $name,
|
||||
summary: $summary,
|
||||
avatar: $avatar
|
||||
) {
|
||||
id,
|
||||
preferredUsername,
|
||||
name,
|
||||
summary,
|
||||
updatePerson(id: $id, name: $name, summary: $summary, avatar: $avatar) {
|
||||
id
|
||||
preferredUsername
|
||||
name
|
||||
summary
|
||||
avatar {
|
||||
url
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
`;
|
||||
@@ -224,91 +330,175 @@ export const UPDATE_PERSON = gql`
|
||||
export const DELETE_PERSON = gql`
|
||||
mutation DeletePerson($id: ID!) {
|
||||
deletePerson(id: $id) {
|
||||
preferredUsername,
|
||||
preferredUsername
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
/**
|
||||
* This one is used only to register the first account. Prefer CREATE_PERSON when creating another identity
|
||||
* This one is used only to register the first account.
|
||||
* Prefer CREATE_PERSON when creating another identity
|
||||
*/
|
||||
export const REGISTER_PERSON = gql`
|
||||
mutation ($preferredUsername: String!, $name: String!, $summary: String!, $email: String!) {
|
||||
registerPerson(
|
||||
preferredUsername: $preferredUsername,
|
||||
name: $name,
|
||||
summary: $summary,
|
||||
mutation($preferredUsername: String!, $name: String!, $summary: String!, $email: String!) {
|
||||
registerPerson(
|
||||
preferredUsername: $preferredUsername
|
||||
name: $name
|
||||
summary: $summary
|
||||
email: $email
|
||||
) {
|
||||
id,
|
||||
preferredUsername,
|
||||
name,
|
||||
summary,
|
||||
avatar {
|
||||
url
|
||||
},
|
||||
id
|
||||
preferredUsername
|
||||
name
|
||||
summary
|
||||
avatar {
|
||||
url
|
||||
}
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
export const LIST_GROUPS = gql`
|
||||
query {
|
||||
groups {
|
||||
elements {
|
||||
id
|
||||
url
|
||||
name
|
||||
domain
|
||||
summary
|
||||
preferredUsername
|
||||
suspended
|
||||
avatar {
|
||||
url
|
||||
}
|
||||
banner {
|
||||
url
|
||||
}
|
||||
organizedEvents {
|
||||
elements {
|
||||
uuid
|
||||
title
|
||||
beginsOn
|
||||
}
|
||||
total
|
||||
}
|
||||
}
|
||||
total
|
||||
}
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
export const FETCH_GROUP = gql`
|
||||
query($name:String!) {
|
||||
group(preferredUsername: $name) {
|
||||
id,
|
||||
url,
|
||||
name,
|
||||
domain,
|
||||
summary,
|
||||
preferredUsername,
|
||||
suspended,
|
||||
avatar {
|
||||
query($name: String!) {
|
||||
group(preferredUsername: $name) {
|
||||
id
|
||||
url
|
||||
},
|
||||
banner {
|
||||
url
|
||||
}
|
||||
organizedEvents {
|
||||
uuid,
|
||||
title,
|
||||
beginsOn
|
||||
},
|
||||
members {
|
||||
role,
|
||||
actor {
|
||||
id,
|
||||
name,
|
||||
domain,
|
||||
preferredUsername
|
||||
name
|
||||
domain
|
||||
summary
|
||||
preferredUsername
|
||||
suspended
|
||||
avatar {
|
||||
url
|
||||
}
|
||||
banner {
|
||||
url
|
||||
}
|
||||
organizedEvents {
|
||||
elements {
|
||||
id
|
||||
uuid
|
||||
title
|
||||
beginsOn
|
||||
}
|
||||
total
|
||||
}
|
||||
conversations {
|
||||
total
|
||||
elements {
|
||||
...ConversationBasicFields
|
||||
}
|
||||
}
|
||||
members {
|
||||
elements {
|
||||
role
|
||||
actor {
|
||||
id
|
||||
name
|
||||
domain
|
||||
preferredUsername
|
||||
avatar {
|
||||
url
|
||||
}
|
||||
}
|
||||
}
|
||||
total
|
||||
}
|
||||
resources(page: 1, limit: 3) {
|
||||
elements {
|
||||
id
|
||||
title
|
||||
resourceUrl
|
||||
summary
|
||||
updatedAt
|
||||
type
|
||||
path
|
||||
metadata {
|
||||
...ResourceMetadataBasicFields
|
||||
}
|
||||
}
|
||||
total
|
||||
}
|
||||
todoLists {
|
||||
elements {
|
||||
id
|
||||
title
|
||||
todos {
|
||||
elements {
|
||||
id
|
||||
title
|
||||
status
|
||||
dueDate
|
||||
assignedTo {
|
||||
id
|
||||
preferredUsername
|
||||
}
|
||||
}
|
||||
total
|
||||
}
|
||||
}
|
||||
total
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
${CONVERSATION_BASIC_FIELDS_FRAGMENT}
|
||||
${RESOURCE_METADATA_BASIC_FIELDS_FRAGMENT}
|
||||
`;
|
||||
|
||||
export const CREATE_GROUP = gql`
|
||||
mutation CreateGroup(
|
||||
$creatorActorId: ID!,
|
||||
$preferredUsername: String!,
|
||||
$name: String!,
|
||||
$summary: String,
|
||||
$avatar: PictureInput,
|
||||
$creatorActorId: ID!
|
||||
$preferredUsername: String!
|
||||
$name: String!
|
||||
$summary: String
|
||||
$avatar: PictureInput
|
||||
$banner: PictureInput
|
||||
) {
|
||||
createGroup(
|
||||
creatorActorId: $creatorActorId,
|
||||
preferredUsername: $preferredUsername,
|
||||
name: $name,
|
||||
summary: $summary,
|
||||
banner: $banner,
|
||||
creatorActorId: $creatorActorId
|
||||
preferredUsername: $preferredUsername
|
||||
name: $name
|
||||
summary: $summary
|
||||
banner: $banner
|
||||
avatar: $avatar
|
||||
) {
|
||||
id,
|
||||
preferredUsername,
|
||||
name,
|
||||
summary,
|
||||
id
|
||||
preferredUsername
|
||||
name
|
||||
summary
|
||||
avatar {
|
||||
url
|
||||
},
|
||||
}
|
||||
banner {
|
||||
url
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user