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

  • 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

  • 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 Pictured

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

    Arguments

    • studentAssociation: String
  • answeredForms(​after, ​before, ​first, ​last) →  UserAnsweredFormsConnection

    Arguments

    • after: String?
    • before: String?
    • first: Int?
    • last: Int?
  • apprentice: Boolean
  • articles(​after, ​before, ​first, ​last) →  UserArticlesConnection

    Arguments

    • after: String?
    • before: String?
    • first: Int?
    • last: Int?
  • birthday: DateTime?
  • boardMemberships: [ GroupMember]
  • booking(​beneficiary:  String?, ​event:  ID) →  Registration

    Arguments

    • beneficiary: String?
    • event: ID
  • bookings(​...) →  UserBookingsConnection

    Arguments

    • after: String?
    • before: String?
    • first: Int?
    • forUserOnly: Boolean?
    • last: Int?
  • bookmarks: [ Bookmark]
    • id: ID
    • localID: LocalID
    • path: String
    • user: User
  • bot: Boolean
  • canAccessDocuments: Boolean
  • canBeEdited: Boolean
  • canContributeTo: [ StudentAssociation]
  • canCreateEventsOn: [ Group]
  • canCreateGroupsOn: [ StudentAssociation]
  • canCreatePostsOn: [ 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]
  • 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
  • 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) →  UserPartiallyAnsweredFormsConnection

    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
  • schoolEmail: Email?
  • schoolUid: String?
  • studentAssociationAdmin: Boolean
  • uid: String
  • yearTier: Int

UserCandidate

  • 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
UserProfileInput

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

UserSearchResult

  • highlightedDescription: String
  • id: ID
  • rank: Float?
  • similarity: Float
  • user: User

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>

Mutations

acceptRegistration(​email:  String) →  Result< User>

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

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

deleteUserPicture(​uid:  String) →  Boolean

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

logout(​) →  Boolean

refuseRegistration(​email:  String, ​reason:  String) →  Boolean

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

requestEmailChange(​callbackURL:  URL, ​email:  Email) →  Result< EmailChange>

Arguments

  • callbackURL: URL
  • email: Email

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>

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

updateUserCandidate(​...) →  Error |  MutationUpdateUserCandidateSuccess |  ZodError

Arguments

  • birthday: DateTime?
  • cededImageRightsToTVn7: Boolean
  • email: String
  • firstName: String
  • graduationYear: Int
  • lastName: String
  • majorId: ID
  • register: Boolean
  • 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 ab9f305)

Made with <3 by net7 net7

Documentation generated with Graphinx