Introduce group basic federation, event new page and notifications

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
Thomas Citharel
2020-02-18 08:57:00 +01:00
parent 300ef8f245
commit 4144e9ffd0
416 changed files with 32220 additions and 16750 deletions

View File

@@ -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
}