Skip to content

Instantly share code, notes, and snippets.

@GiacomoP
Last active September 2, 2019 12:33
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save GiacomoP/e9fd03dee2544232c6a4e40e03381118 to your computer and use it in GitHub Desktop.
Save GiacomoP/e9fd03dee2544232c6a4e40e03381118 to your computer and use it in GitHub Desktop.
M5S Rousseau - Public GraphQL Schema
# source: https://api.rousseau.movimento5stelle.it/graphql
# timestamp: Thu Aug 29 2019 13:23:08 GMT+0100 (Irish Standard Time)
enum AcceptanceStatus {
PENDING
APPROVED
REJECTED
}
type Badge implements Node {
active: Boolean
code: String!
id: ID!
name: String!
picture: File
}
type CallToActionEvent implements Commentable {
address: String
comments(
"""Returns the elements in the list that come after the specified cursor."""
after: String
"""
Returns the elements in the list that come before the specified cursor.
"""
before: String
"""Returns the first _n_ elements from the list."""
first: Int
"""Returns the last _n_ elements from the list."""
last: Int
): CommentConnection!
description: SafeHTML!
endingDate: Date!
endingTime: TimeOfDay!
id: ID!
location: GeoPoint!
locationName: String
officialEvent: Boolean!
participantCount: Int!
slug: String!
startingDate: Date!
startingTime: TimeOfDay!
status: CallToActionEventStatus!
"""The user that has submitted the Commentable and can reply to comments."""
submitter: User!
termsOfServiceAcceptedAt: ISO8601DateTime!
timeZone: String!
title: String!
topics: [String!]!
videoUrl: String
}
"""The connection type for CallToActionEvent."""
type CallToActionEventConnection {
"""A list of edges."""
edges: [CallToActionEventEdge]
"""A list of nodes."""
nodes: [CallToActionEvent]
"""Information to aid in pagination."""
pageInfo: PageInfo!
}
input CallToActionEventCreateInput {
title: String!
description: SafeHTML!
startingDate: Date!
startingTime: TimeOfDay!
endingDate: Date!
endingTime: TimeOfDay!
videoUrl: String
location: GeoPointInput!
locationName: String
topics: [String!]
}
"""An edge in a connection."""
type CallToActionEventEdge {
"""A cursor for use in pagination."""
cursor: String!
"""The item at the end of the edge."""
node: CallToActionEvent
}
enum CallToActionEventStatus {
DRAFT
PLANNED
ONGOING
CANCELLED
ENDED
}
input CallToActionEventUpdateInput {
title: String
description: SafeHTML
startingDate: String
startingTime: String
endingDate: String
endingTime: String
videoUrl: String
location: GeoPointInput
locationName: String
topics: [String!]
}
type CallToActionMutations {
"""Cancel a CallToActionEvent"""
eventCancel(id: ID!): EventCancelPayload
"""Create a draft for a new CallToActionEvent"""
eventCreate(event: CallToActionEventCreateInput!): EventCreatePayload
"""Send participation to a CallToActionEvent"""
eventParticipationCancel(id: ID!): EventParticipationCancelPayload
"""Send participation to a CallToActionEvent"""
eventParticipationSubmit(id: ID!, email: String = null): EventParticipationSubmitPayload
"""Plan a CallToActionEvent and make it publicly visible"""
eventPlan(id: ID!): EventPlanPayload
"""Update a drafted or planned CallToActionEvent"""
eventUpdate(id: ID!, event: CallToActionEventUpdateInput!, sendUpdateNotification: Boolean = false): EventUpdatePayload
}
type CallToActionQuery {
event(id: ID!): CallToActionEvent
events(
"""Returns the elements in the list that come after the specified cursor."""
after: String
"""
Returns the elements in the list that come before the specified cursor.
"""
before: String
"""Returns the first _n_ elements from the list."""
first: Int
"""Returns the last _n_ elements from the list."""
last: Int
"""Filter events by topics"""
topics: [String!] = null
): CallToActionEventConnection!
"""List of popular CallToActionEvent topics."""
popularTopics(
"""Returns the first n elements from the list. Capped at 50."""
first: Int = 20
): [String!]!
}
type Candidate implements Optionable & Node {
age: Int
badges: [String!]!
city: String!
electoralDistrictExternalId: Int!
externalId: Int!
gender: Gender
id: ID!
name: String!
profileImageUrl: String
regionExternalId: Int!
slug: String!
surname: String!
}
type CandidateRequest implements Node {
accepted: Boolean!
id: ID!
option: Option
optionGroup: OptionGroup!
user: User!
}
"""An edge in a connection."""
type CandidateRequestEdge {
"""A cursor for use in pagination."""
cursor: String!
"""The item at the end of the edge."""
node: CandidateRequest
}
"""Autogenerated return type of CandidateRequestPropose"""
type CandidateRequestProposePayload {
errors: [String!]
poll: Poll
}
type Comment implements Node {
author: User!
body: SafeHTML!
id: ID!
isResponse: Boolean!
metadata(
"""
Retrieve one specific metadata by its key. Using this will return a String instead of a JSON
"""
key: String = null
): JSON
parent: Comment
responses: [Comment!]
}
"""An object with comments attached."""
interface Commentable {
comments(
"""Returns the elements in the list that come after the specified cursor."""
after: String
"""
Returns the elements in the list that come before the specified cursor.
"""
before: String
"""Returns the first _n_ elements from the list."""
first: Int
"""Returns the last _n_ elements from the list."""
last: Int
): CommentConnection!
"""The user that has submitted the Commentable and can reply to comments."""
submitter: User!
}
"""The connection type for Comment."""
type CommentConnection {
"""A list of edges."""
edges: [CommentEdge]
"""A list of nodes."""
nodes: [Comment]
"""Information to aid in pagination."""
pageInfo: PageInfo!
}
"""An edge in a connection."""
type CommentEdge {
"""A cursor for use in pagination."""
cursor: String!
"""The item at the end of the edge."""
node: Comment
}
input CommentMetadataInput {
key: String!
value: String!
}
"""Autogenerated return type of CommentSubmit"""
type CommentSubmitPayload {
comment: Comment
errors: [String!]
}
type CurrentUser implements Optionable & Node {
badges: [Badge!]
callToActionEventParticipations(
"""Returns the elements in the list that come after the specified cursor."""
after: String
"""
Returns the elements in the list that come before the specified cursor.
"""
before: String
"""Returns the first _n_ elements from the list."""
first: Int
"""Returns the last _n_ elements from the list."""
last: Int
): CallToActionEventConnection!
"""Events organized by this user"""
callToActionEvents(
"""Returns the elements in the list that come after the specified cursor."""
after: String
"""
Returns the elements in the list that come before the specified cursor.
"""
before: String
"""Returns the first _n_ elements from the list."""
first: Int
"""Returns the last _n_ elements from the list."""
last: Int
"""Filter events by topics"""
topics: [String!] = null
): CallToActionEventConnection!
createdAt: ISO8601DateTime!
email: String!
firstName: String
fullName: String
id: ID!
identityVerificationRequests(
"""Returns the elements in the list that come after the specified cursor."""
after: String
"""
Returns the elements in the list that come before the specified cursor.
"""
before: String
"""Returns the first _n_ elements from the list."""
first: Int
"""Returns the last _n_ elements from the list."""
last: Int
): IdentityVerificationRequestConnection!
lastName: String
profile: Profile
roles: [String!]
slug: String!
verified: Boolean!
}
"""Date part of an ISO8601DateTime string"""
scalar Date
type EntityOption implements Option & Node {
entity: Optionable!
id: ID!
}
"""Autogenerated return type of EventCancel"""
type EventCancelPayload {
errors: [String!]
event: CallToActionEvent
}
"""Autogenerated return type of EventCreate"""
type EventCreatePayload {
errors: [String!]
event: CallToActionEvent
}
"""Autogenerated return type of EventParticipationCancel"""
type EventParticipationCancelPayload {
errors: [String!]
}
"""Autogenerated return type of EventParticipationSubmit"""
type EventParticipationSubmitPayload {
errors: [String!]
event: CallToActionEvent
}
"""Autogenerated return type of EventPlan"""
type EventPlanPayload {
errors: [String!]
event: CallToActionEvent
}
"""Autogenerated return type of EventUpdate"""
type EventUpdatePayload {
errors: [String!]
event: CallToActionEvent
}
type File {
fileType: FileType!
originalUrl: Url!
}
enum FileType {
IMAGE
PDF
UNKNOWN
}
enum Gender {
FEMALE
MALE
}
type GenericError {
message: String
path: [String!]
}
type GeoPoint {
coordinates: [Float!]!
latitude: Float!
longitude: Float!
}
input GeoPointInput {
latitude: Float!
longitude: Float!
}
type IdentityVerificationRequest implements Node {
documents: [File!]!
id: ID!
rejectionReason: String
status: AcceptanceStatus!
updatedAt: ISO8601DateTime!
user: User!
}
"""The connection type for IdentityVerificationRequest."""
type IdentityVerificationRequestConnection {
"""A list of edges."""
edges: [IdentityVerificationRequestEdge]
"""A list of nodes."""
nodes: [IdentityVerificationRequest]
"""Information to aid in pagination."""
pageInfo: PageInfo!
}
"""An edge in a connection."""
type IdentityVerificationRequestEdge {
"""A cursor for use in pagination."""
cursor: String!
"""The item at the end of the edge."""
node: IdentityVerificationRequest
}
"""Autogenerated return type of IdentityVerificationRequest"""
type IdentityVerificationRequestPayload {
errors: [String!]
verificationRequest: IdentityVerificationRequest
}
"""An ISO 8601-encoded datetime"""
scalar ISO8601DateTime
enum ItaliaCinqueStelleEvents {
ROMA_OTTOBRE_2014
IMOLA_OTTOBRE_2015
PALERMO_SETTEMBRE_2016
RIMINI_SETTEMBRE_2017
ROMA_OTTOBRE_2018
}
"""Represents untyped JSON"""
scalar JSON
enum LanguageLevels {
A1
A2
B1
B2
C1
C2
}
"""Autogenerated return type of LexCreate"""
type LexCreatePayload {
errors: [String!]
userLex: UserLex
}
type LexMutations {
"""Create a draft for a new ParliamentLex"""
parliamentLexCreate(lex: ParliamentLexCreateInput!): ParliamentLexCreatePayload
"""Submit a ParliamentLex for discussion"""
parliamentLexSubmit(id: ID!): ParliamentLexSubmitPayload
"""Update a drafted ParliamentLex"""
parliamentLexUpdate(id: ID!, lex: ParliamentLexUpdateInput!): ParliamentLexUpdatePayload
}
enum LexStatus {
DRAFT
DISCUSSING
DISCUSSION_ENDED
PUBLISHED
}
"""Autogenerated return type of LexSubmit"""
type LexSubmitPayload {
errors: [String!]
userLex: UserLex
}
"""Autogenerated return type of LexUpdate"""
type LexUpdatePayload {
errors: [String!]
userLex: UserLex
}
type Mutation {
callToAction: CallToActionMutations!
lexes: LexMutations!
polls: PollsMutations!
user: UserMutations!
}
"""An object with an ID."""
interface Node {
"""ID of the object."""
id: ID!
}
enum OpendayEvents {
GENOVA_GIUGNO_2017
PESCARA_LUGLIO_2017
LERICI_LUGLIO_2017
TRIESTE_SETTEMBRE_2017
MARINO_OTTOBRE_2017
COSENZA_OTTOBRE_2017
PISA_OTTOBRE_2017
LECCE_NOVEMBRE_2017
BARI_NOVEMBRE_2017
MILANO_NOVEMBRE_2017
TORINO_NOVEMBRE_2017
CAMPOBASSO_DICEMBRE_2017
VERONA_DICEMBRE_2017
SALERNO_GENNAIO_2018
AVELLINO_FEBBRAIO_2018
IVREA_MAGGIO_2018
}
interface Option {
id: ID!
}
interface Optionable {
id: ID!
}
"""The connection type for Option."""
type OptionConnection {
"""A list of edges."""
edges: [OptionEdge]
"""A list of nodes."""
nodes: [Option]
"""Information to aid in pagination."""
pageInfo: PageInfo!
}
"""An edge in a connection."""
type OptionEdge {
"""A cursor for use in pagination."""
cursor: String!
"""The item at the end of the edge."""
node: Option
}
type OptionGroup implements Node {
description: String
id: ID!
maxSelectableOptionsNumber: Int!
options: [Option!]!
poll: Poll!
title: String!
}
enum OptionType {
BINARY
MULTIPLE
ENTITY
}
enum OrderDirection {
ASC
DESC
}
"""Information about pagination in a connection."""
type PageInfo {
"""When paginating forwards, the cursor to continue."""
endCursor: String
"""When paginating forwards, are there more items?"""
hasNextPage: Boolean!
"""When paginating backwards, are there more items?"""
hasPreviousPage: Boolean!
"""When paginating backwards, the cursor to continue."""
startCursor: String
}
type ParliamentLex implements Commentable & Node {
body: SafeHTML!
comments(
"""Returns the elements in the list that come after the specified cursor."""
after: String
"""
Returns the elements in the list that come before the specified cursor.
"""
before: String
"""Returns the first _n_ elements from the list."""
first: Int
"""Returns the last _n_ elements from the list."""
last: Int
): CommentConnection!
createdAt: ISO8601DateTime!
discussionEndingDate: ISO8601DateTime!
id: ID!
slug: String!
status: LexStatus!
"""The user that has submitted the Commentable and can reply to comments."""
submitter: User!
summary: SafeHTML!
title: String!
videoUrl: String!
}
"""The connection type for ParliamentLex."""
type ParliamentLexConnection {
"""A list of edges."""
edges: [ParliamentLexEdge]
"""A list of nodes."""
nodes: [ParliamentLex]
"""Information to aid in pagination."""
pageInfo: PageInfo!
}
input ParliamentLexCreateInput {
title: String!
summary: SafeHTML!
body: SafeHTML!
videoUrl: String!
discussionEndingDate: ISO8601DateTime!
}
"""Autogenerated return type of ParliamentLexCreate"""
type ParliamentLexCreatePayload {
errors: [String!]
parliamentLex: ParliamentLex
}
"""An edge in a connection."""
type ParliamentLexEdge {
"""A cursor for use in pagination."""
cursor: String!
"""The item at the end of the edge."""
node: ParliamentLex
}
enum ParliamentLexOrderAttributes {
title
created_at
updated_at
discussion_ending_date
}
"""Autogenerated return type of ParliamentLexSubmit"""
type ParliamentLexSubmitPayload {
errors: [String!]
parliamentLex: ParliamentLex
}
input ParliamentLexUpdateInput {
title: String
summary: SafeHTML
body: SafeHTML
videoUrl: String
discussionEndingDate: ISO8601DateTime
}
"""Autogenerated return type of ParliamentLexUpdate"""
type ParliamentLexUpdatePayload {
errors: [String!]
parliamentLex: ParliamentLex
}
type PlaceOfResidence {
comuneCode: String
comuneName: String
countryCode: String
countryName: String
municipioCode: String
municipioName: String
overseaseCity: String
provinciaCode: String
provinciaName: String
regioneCode: String
regioneName: String
}
type Poll implements Node {
alerts: [GenericError!]
alreadyCandidate: Boolean!
alreadyVoted: Boolean!
announcementLink: String
candidateOptionGroup: OptionGroup
description: String!
eligible: Boolean!
id: ID!
maxSelectableOptionsNumber: Int
optionGroup: OptionGroup
optionType: OptionType!
options: [Option!]!
optionsConnection(
"""Returns the elements in the list that come after the specified cursor."""
after: String
"""
Returns the elements in the list that come before the specified cursor.
"""
before: String
"""Returns the first _n_ elements from the list."""
first: Int
"""Returns the last _n_ elements from the list."""
last: Int
): OptionConnection
publicResults: Boolean!
resultSummary: PollResultWrapper
resultsLink: String
showStartingDate: ISO8601DateTime!
slug: ID!
status: PollStatus!
title: String!
voteEndingDate: ISO8601DateTime!
voteStartingDate: ISO8601DateTime!
}
"""Autogenerated return type of PollAnswerSubmit"""
type PollAnswerSubmitPayload {
errors: [String!]
}
enum PollOrderAttributes {
title
slug
show_starting_date
vote_ending_date
vote_starting_date
announcement_link
results_link
created_at
updated_at
}
type PollResult {
count: Int!
"""Timestamp of the last received vote. Null if no vote has been received"""
lastReceivedAt: ISO8601DateTime
option: Option!
}
"""The connection type for PollResult."""
type PollResultConnection {
"""A list of edges."""
edges: [PollResultEdge]
"""A list of nodes."""
nodes: [PollResult]
"""Information to aid in pagination."""
pageInfo: PageInfo!
}
"""An edge in a connection."""
type PollResultEdge {
"""A cursor for use in pagination."""
cursor: String!
"""The item at the end of the edge."""
node: PollResult
}
type PollResultWrapper {
"""
Average answer submitted per user, calculated as totalAnswerCount / submittedAnswerCount
"""
averageAnswerCount: Float!
poll: Poll!
results(
"""Returns the elements in the list that come after the specified cursor."""
after: String
"""
Returns the elements in the list that come before the specified cursor.
"""
before: String
"""Returns the first _n_ elements from the list."""
first: Int
"""Returns the last _n_ elements from the list."""
last: Int
): PollResultConnection
submittedAnswerCount: Int!
totalAnswerCount: Int!
}
type PollsMutations {
candidateRequestPropose(pollId: ID!): CandidateRequestProposePayload
}
enum PollStatus {
PENDING
OPEN
CLOSED
CANCELLED
PUBLISHED
}
type Profile {
certificate335Document: File
certificateHangingPositionsDocument: File
criminalRecordDocument: File
curriculumActivist: String
curriculumVitae: String
curriculumVitaeDocument: File
dateOfBirth: Date
educationalInstitute: String
englishLevel: LanguageLevels
facebookProfile: String
frenchLevel: LanguageLevels
germanLevel: LanguageLevels
italiaCinqueStelleVolunteer: ItaliaCinqueStelleEvents
italiaCinqueStelleVolunteerFlag: Boolean!
linkedinProfile: String
listRepresentativeComune: String
listRepresentativeFlag: Boolean!
listRepresentativeYear: String
opendayParticipant: OpendayEvents
opendayParticipantFlag: Boolean!
otherLanguages: String
picture: File
placeOfBirth: String
placeOfResidence: PlaceOfResidence
politicalExperiences: String
presentation: String
qualification: String
spanishLevel: LanguageLevels
spokesmanM5sFlag: Boolean!
spokesmanM5sInstitution: SpokesmanM5sInstitutions
spokesmanM5sYear: String
studyCourse: StudyCourses
twitterProfile: String
villaggioRousseauParticipant: VillaggioRousseauEvents
villaggioRousseauParticipantFlag: Boolean!
villaggioRousseauVolunteer: VillaggioRousseauEvents
villaggioRousseauVolunteerFlag: Boolean!
yearOfGraduation: String
}
input ProfileInput {
presentation: String
politicalExperiences: String
curriculumVitae: String
curriculumActivist: String
qualification: String
yearOfGraduation: String
educationalInstitute: String
studyCourse: StudyCourses
englishLevel: LanguageLevels
frenchLevel: LanguageLevels
spanishLevel: LanguageLevels
germanLevel: LanguageLevels
otherLanguages: String
twitterProfile: String
facebookProfile: String
linkedinProfile: String
pictureId: ID
curriculumVitaeDocumentId: ID
criminalRecordDocumentId: ID
certificateHangingPositionsDocumentId: ID
certificate335DocumentId: ID
italiaCinqueStelleVolunteer: ItaliaCinqueStelleEvents
italiaCinqueStelleVolunteerFlag: Boolean
villaggioRousseauVolunteer: VillaggioRousseauEvents
villaggioRousseauVolunteerFlag: Boolean
listRepresentativeFlag: Boolean
listRepresentativeYear: String
listRepresentativeComune: String
spokesmanM5sFlag: Boolean
spokesmanM5sYear: String
spokesmanM5sInstitution: SpokesmanM5sInstitutions
opendayParticipantFlag: Boolean
opendayParticipant: OpendayEvents
villaggioRousseauParticipant: VillaggioRousseauEvents
villaggioRousseauParticipantFlag: Boolean
}
"""Autogenerated return type of ProfileUpdate"""
type ProfileUpdatePayload {
errors: [String!]
profile: Profile
}
type Query {
badges: [Badge!]!
callToAction: CallToActionQuery!
currentUser: CurrentUser
parliamentLex(
"""A UUIDv4 or a slug"""
id: ID!
): ParliamentLex
parliamentLexes(
"""Returns the elements in the list that come after the specified cursor."""
after: String
"""
Returns the elements in the list that come before the specified cursor.
"""
before: String
"""Returns the first _n_ elements from the list."""
first: Int
"""Returns the last _n_ elements from the list."""
last: Int
orderAttribute: ParliamentLexOrderAttributes = created_at
orderDirection: OrderDirection = DESC
status: LexStatus
submitterId: ID
): ParliamentLexConnection!
poll(
"""A UUIDv4 or a slug"""
id: ID!
): Poll
polls(orderAttribute: PollOrderAttributes = created_at, orderDirection: OrderDirection = DESC): [Poll!]!
user(
"""A UUIDv4 or a slug"""
id: ID!
): User
userLex(
"""A UUIDv4 or a slug"""
id: ID!
): UserLex
userLexes(
"""Returns the elements in the list that come after the specified cursor."""
after: String
"""
Returns the elements in the list that come before the specified cursor.
"""
before: String
"""Returns the first _n_ elements from the list."""
first: Int
"""Returns the last _n_ elements from the list."""
last: Int
orderAttribute: UserLexOrderAttributes = created_at
orderDirection: OrderDirection = DESC
status: UserLexStatus
submitterId: ID
"""Proposed in a poll"""
proposed: Boolean = null
): UserLexConnection!
}
"""Sanitized HTML text, transported as a String"""
scalar SafeHTML
enum SpokesmanM5sInstitutions {
MUNICIPIO
COMUNE
REGIONE
PARLAMENTO
PARLAMENTO_EUROPEO
}
enum StudyCourses {
LICENZA_ELEMENTARE
LICENZA_MEDIA
DIPLOMA_DI_MATURITA
LAUREA_TRIENNALE
LAUREA_SPECIALISTICA_O_MAGISTRALE
DOTTORATO_DI_RICERCA
MASTER_POST_DIPLOMA
DIPLOMA_DI_SPECIALIZZAZIONE_POST_LAUREA
}
type TextOption implements Option & Node {
id: ID!
text: String!
}
"""Time part of an ISO8601DateTime string, without time zone"""
scalar TimeOfDay
"""A valid URL, transported as a string"""
scalar Url
type User implements Optionable & Node {
badges: [Badge!]
"""Events organized by this user"""
callToActionEvents(
"""Returns the elements in the list that come after the specified cursor."""
after: String
"""
Returns the elements in the list that come before the specified cursor.
"""
before: String
"""Returns the first _n_ elements from the list."""
first: Int
"""Returns the last _n_ elements from the list."""
last: Int
"""Filter events by topics"""
topics: [String!] = null
): CallToActionEventConnection!
firstName: String
fullName: String
id: ID!
lastName: String
profile: Profile
slug: String!
}
type UserLex implements Optionable & Node {
approvedAt: ISO8601DateTime
createdAt: ISO8601DateTime
currentLegislationStatus: String!
description: String!
foreignLegislationComparison: String!
goal: String!
id: ID!
personalExperience: String!
rejectedAt: ISO8601DateTime
rejectionReason: String
requestedChanges: [String!]!
slug: String!
status: UserLexStatus!
submitter: User!
title: String!
topic: String!
updatedAt: ISO8601DateTime
}
"""The connection type for UserLex."""
type UserLexConnection {
"""A list of edges."""
edges: [UserLexEdge]
"""A list of nodes."""
nodes: [UserLex]
"""Information to aid in pagination."""
pageInfo: PageInfo!
}
"""An edge in a connection."""
type UserLexEdge {
"""A cursor for use in pagination."""
cursor: String!
"""The item at the end of the edge."""
node: UserLex
}
input UserLexInput {
title: String!
}
enum UserLexOrderAttributes {
created_at
updated_at
approved_at
rejected_at
title
}
enum UserLexStatus {
DRAFT
PENDING
APPROVED
REJECTED
}
type UserMutations {
"""Add a comment to a Commentable object"""
commentSubmit(commentableId: ID!, body: SafeHTML!, parentCommentId: ID, metadata: [CommentMetadataInput!] = []): CommentSubmitPayload
"""Request verification for a set of Id documents"""
identityVerificationRequest(documentIds: [ID!]!): IdentityVerificationRequestPayload
"""Create a draft for a new UserLex"""
lexCreate(userLex: UserLexInput!): LexCreatePayload
"""Submit a UserLex for admin approval"""
lexSubmit(id: ID!): LexSubmitPayload
"""Update a drafted UserLex"""
lexUpdate(id: ID!, userLex: UserLexInput!): LexUpdatePayload
"""Submit a vote with a set of answers to a poll"""
pollAnswerSubmit(pollId: ID!, optionIds: [ID!]!): PollAnswerSubmitPayload
"""Update current users profile info"""
profileUpdate(profile: ProfileInput!): ProfileUpdatePayload
}
enum VillaggioRousseauEvents {
PESCARA_GENNAIO_2018
MILANO_MARZO_2019
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment