Last active
September 2, 2019 12:33
-
-
Save GiacomoP/e9fd03dee2544232c6a4e40e03381118 to your computer and use it in GitHub Desktop.
M5S Rousseau - Public GraphQL Schema
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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 | |
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