Users

Les personnes utilisant l'application.

Inscription

L'inscription se fait en deux ou trois parties: la première consiste à donner simplement une adresse e-mail et à la valider. Ensuite, on rentre le reste des informations. Enfin, si la personne déclare appartenir à une école mais que l'e-mail n'est pas dans le domaine de l'école (ce qui prouve automatiquement que la personne est étudiante), il faut qu'un admin confirme manuellement.

Ce n'est qu'après cette validation (quand elle est nécessaire) que l'objet UserCandidate est transformé en User.

Connexion

La mutation login permet la connexion.

Types

Credential

  • active: Boolean
  • createdAt: DateTime
  • expiresAt: DateTime?
  • id: ID
  • name: String
  • token: String
  • type: CredentialType
    • Google
    • GroupAccessToken
    • Password
    • Token
  • user: User
  • userAgent: String

EmailChange implements Node

  • createdAt: DateTime
  • email: String
  • id: ID
  • localID: LocalID
  • pending: Boolean
  • updatedAt: DateTime
  • user: User
  • userId: ID

GodparentRequest

  • createdAt: DateTime
  • godchild: User
  • godparent: User
  • id: ID
  • updatedAt: DateTime

QuickSignup implements Node

  • code: String
  • createdAt: DateTime
  • expired: Boolean
  • id: ID
  • localID: LocalID
  • school: School
  • schoolId: ID
  • updatedAt: DateTime
  • validUntil: DateTime

SignupCompletionResult

  • needsManualValidation: Boolean
  • token: Credential?

User implements Node, Pictured

  • address: String?
  • admin: Boolean
  • adminOf: [ StudentAssociation]
  • adminOfStudentAssociation(​studentAssociation:  String) →  Boolean

    Arguments

    • studentAssociation: String
  • answeredForms(​after, ​before, ​first, ​last) →  Connection< Form>

    Arguments

    • after: String?
    • before: String?
    • first: Int?
    • last: Int?
  • apprentice: Boolean
  • articles(​after, ​before, ​first, ​last) →  Connection< Article>

    Arguments

    • after: String?
    • before: String?
    • first: Int?
    • last: Int?
  • birthday: DateTime?
  • boardMemberships: [ GroupMember]
  • bookedTo(​event:  LocalID, ​using:  LocalID?) →  Boolean

    Arguments

    • event: LocalID
    • using: LocalID?
  • booking(​beneficiary:  String?, ​event:  LocalID) →  Registration?

    Arguments

    • beneficiary: String?
    • event: LocalID
  • bookings(​...) →  Connection< Registration>

    Arguments

    • after: String?
    • before: String?
    • first: Int?
    • forUserOnly: Boolean?
    • last: Int?
  • bookmarks: [ Bookmark]
    • id: ID
    • localID: LocalID
    • path: String
    • url: URL
    • user: User
  • bot: Boolean
  • canAccessDocuments: Boolean
  • canAddMembersTo: [ Group]
  • canBeEdited: Boolean
  • canBookTicket(​id:  LocalID) →  CanBookExplanation

    Arguments

    • id: LocalID
  • canContributeTo: [ StudentAssociation]
  • canCreateEventsOn: [ Group]
  • canCreateGroupsOn: [ StudentAssociation]
  • canCreatePostsOn: [ Group]
  • canCreateThemesOn: [ Group]
  • canEditGroup(​uid:  String) →  Boolean

    Arguments

    • uid: String
  • canEditGroups: Boolean
  • canEditPermissions: Boolean
  • canEditProfile(​assert:  String?) →  Boolean

    Arguments

    • assert: String?
  • canManageAnnouncements: Boolean
  • cededImageRightsToTVn7: Boolean
  • contributesTo: [ StudentAssociation]?
  • contributesWith: [ ContributionOption]
  • contributionOptions: [ ContributionOption]
  • createdAt: DateTime
  • credentials: [ Credential]
  • deletionConsequences: [ String]
  • description: String
  • descriptionHtml: HTML
  • email: Email?
  • emailChangeRequests(​pending:  Boolean?) →  [ EmailChange]

    Arguments

    • pending: Boolean?
  • enabledNotificationChannels: [ NotificationChannel]
  • external: Boolean
  • familyTree: FamilyTree
    • nesting: String
    • users: [ User]
  • firstName: String
  • fullName: String
  • gdprExport: URL?
  • godchildren: [ User]
  • godparent: User?
  • graduationYear: Int
  • groups: [ GroupMember]
  • groupsEditorOf: [ StudentAssociation]
  • hasSeparateDarkPicture: Boolean
  • id: ID
  • incomingGodparentRequests: [ GodparentRequest]
  • isMe: Boolean?
  • lastName: String
  • latestVersionSeenInChangelog: String
  • links: [ Link]
  • localID: LocalID
  • lydiaPhone: String?
  • major: Major?
  • majorId: ID?
  • managedEvents: [ EventManager]
  • minor: Minor?
  • nickname: String
  • otherEmails: [ Email]?
  • outgoingGodparentRequests: [ GodparentRequest]
  • partiallyAnsweredForms(​after, ​before, ​first, ​last) →  Connection< Form>

    Arguments

    • after: String?
    • before: String?
    • first: Int?
    • last: Int?
  • pendingContributions: [ ContributionOption]
  • phone: String?
  • pictureAltText: String
  • pictureFile: String
  • pictureFileDark: String
  • pictureURL(​dark:  Boolean = false, ​timestamp:  Boolean = true) →  String

    Arguments

    • dark: Boolean
    • timestamp: Boolean = true
  • pronouns: String
  • schoolEmail: Email?
  • schoolUid: String?
  • studentAssociationAdmin: Boolean
  • uid: String
  • yearTier: Int

UserCandidate implements Node

  • apprentice: Boolean
  • birthday: DateTime?
  • cededImageRightsToTVn7: Boolean
  • createdAt: DateTime?
  • email: String
  • emailIsSchoolEmail: Boolean
  • emailValidated: Boolean
  • firstName: String
  • fullName: String
  • graduationYear: Int
  • id: ID
  • lastName: String
  • localID: LocalID
  • major: Major?
  • majorId: ID?
  • needsManualValidation: Boolean?
  • needsManualValidationForMajor(​major:  String) →  Boolean?

    Arguments

    • major: String
  • suggestedUid: String
  • uid: String
  • usingQuickSignup: Boolean

N
UserCandidateUpdateInput

  • birthday: DateTime?
  • cededImageRightsToTVn7: Boolean?
  • firstName: String?
  • graduationYear: Int?
  • lastName: String?
  • major: UID?
  • uid: UID?

N
UserProfileInput

  • address: String?
  • birthday: DateTime?
  • description: Markdown?
  • firstName: String?
  • lastName: String?
  • nickname: String?
  • otherEmails: [ Email]?
  • phone: PhoneNumber?
  • pronouns: String?
  • unsetBirthday: Boolean?
  • unsetPhone: Boolean?

Queries

allUsers(​after:  String?, ​before:  String?, ​first:  Int?, ​last:  Int?) →  Connection< User>

assertMe(​) →  User

birthdays(​activeOnly:  Boolean?, ​now:  DateTime?, ​width:  Int?) →  [ User]

bookmarked(​path:  String) →  Boolean

Arguments

  • path: String

existsInSchoolLdap(​email:  String) →  Boolean

me(​) →  User?

quickSignup(​id:  LocalID) →  QuickSignup

Arguments

  • id: LocalID

quickSignups(​after:  String?, ​before:  String?, ​first:  Int?, ​last:  Int?) →  Connection< QuickSignup>

searchUsers(​q:  String?, ​similarityCutoff:  Float?) →  [ UserSearchResult]

suggestedUid(​firstName:  String, ​lastName:  String) →  String

Arguments

  • firstName: String
  • lastName: String

user(​id:  ID?, ​uid:  String?) →  User

userByEmail(​email:  String) →  User

userCandidates(​after:  String?, ​before:  String?, ​first:  Int?, ​last:  Int?) →  Connection< UserCandidate>

userCandidatesCount(​) →  Int

Mutations

acceptUserCandidate(​email:  String) →  Result< UserCandidate>

answerGodparentRequest(​accept:  Boolean, ​id:  LocalID) →  Result< GodparentRequest>

bookmark(​path:  String) →  Bookmark

Arguments

  • path: String

createBot(​major:  String?, ​name:  String, ​password:  String, ​uid:  String) →  User

Arguments

  • major: String?
  • name: String
  • password: String
  • uid: String

createGdprExport(​force:  Boolean = false) →  Result< URL>

Arguments

  • force: Boolean

createQuickSignup(​school:  String, ​validUntil:  DateTime) →  QuickSignup

Arguments

  • school: String
  • validUntil: DateTime

deleteGodchild(​child:  UID, ​parent:  UID) →  Result< User>

deleteGodparent(​child:  UID, ​parent:  UID) →  Result< User>

deleteQuickSignup(​code:  String) →  QuickSignup

deleteToken(​id:  ID) →  Boolean

deleteUser(​) →  Result< User>

deleteUserPicture(​uid:  String) →  Boolean

login(​clientId:  String?, ​email:  String, ​password:  String) →  Result< Credential>

logout(​) →  Boolean

refuseUserCandidate(​email:  String, ​reason:  String) →  Result< UserCandidate>

renameSession(​id:  ID, ​name:  String) →  Boolean

requestEmailChange(​callbackURL:  URL, ​newEmail:  Email, ​user:  UID) →  Result< EmailChange>

Arguments

  • callbackURL: URL
  • newEmail: Email
  • user: UID

saveLydiaPhoneNumber(​phoneNumber:  String) →  Result< User>

startSignup(​...) →  Result< UserCandidate>

Arguments

  • email: Email
  • firstName: String
  • graduationYear: Int
  • lastName: String
  • mailVerificationCallbackURL: URL
  • major: UID?
  • password: String
  • passwordConfirmation: String
  • quickSignupCode: String?

syncUserLdap(​uid:  String) →  Boolean

unbookmark(​path:  String) →  Bookmark?

Arguments

  • path: String

updateUser(​...) →  Result< User>

Déprécié

Use `updateUserProfile`, `requestEmailChange` and other `updateUser*` mutations instead

Arguments

  • address: String
  • apprentice: Boolean
  • birthday: DateTime?
  • cededImageRightsToTVn7: Boolean
  • contributesWith: [ ID]?
  • description: String
  • email: String
  • firstName: String
  • godparentUid: String?
  • graduationYear: Int?
  • lastName: String
  • majorId: ID?
  • minorId: ID?
  • nickname: String
  • otherEmails: [ String]
  • phone: String
  • uid: UID

updateUserCurriculum(​...) →  Result< User>

Arguments

  • apprentice: Boolean?
  • external: Boolean?
  • graduationYear: PositiveInt?
  • major: UID?
  • uid: UID

updateUserPermissions(​adminOf:  [ UID]?, ​canAccessDocuments:  Boolean?, ​canEditGroupsOf:  [ UID]?, ​user:  UID) →  Result< User>

updateUserPicture(​file:  File, ​uid:  String) →  String

upsertGodparentRequest(​godchildUid:  String, ​godparentUid:  String, ​id:  ID?) →  Result< GodparentRequest>

validateEmail(​token:  String) →  Result< EmailChange>

Churros API, version dev (at c92221f)

Made with <3 by net7 net7

Documentation generated with Graphinx