summaryrefslogtreecommitdiff
path: root/alarm/node_modules/pronote-api/src/server/schemas/common.graphql
diff options
context:
space:
mode:
Diffstat (limited to 'alarm/node_modules/pronote-api/src/server/schemas/common.graphql')
-rw-r--r--alarm/node_modules/pronote-api/src/server/schemas/common.graphql464
1 files changed, 464 insertions, 0 deletions
diff --git a/alarm/node_modules/pronote-api/src/server/schemas/common.graphql b/alarm/node_modules/pronote-api/src/server/schemas/common.graphql
new file mode 100644
index 0000000..0d821ff
--- /dev/null
+++ b/alarm/node_modules/pronote-api/src/server/schemas/common.graphql
@@ -0,0 +1,464 @@
+scalar Date
+
+type Query {
+ params: PronoteParams!
+ user: PronoteUser!
+}
+
+type Mutation {
+ # Please remember to disable this when you don't need it, or else sessions will last forever !
+ setKeepAlive(enabled: Boolean!): Boolean!
+
+ # This is in a mutation, because this is a request that send a keep alive to Pronote, not a value
+ # It will always returns True
+ keepAlive: Boolean!
+
+ # This is in a mutation, because this is a request that send a keep alive to Pronote, not a value
+ # It will always returns True
+ logout: Boolean!
+}
+
+type Lesson {
+ id: String!
+ from: Date!
+ to: Date!
+ isDetention: Boolean!
+ hasDuplicate: Boolean!
+ subject: String
+ teacher: String
+ room: String
+ status: String
+ isAway: Boolean
+ isCancelled: Boolean
+ color: String
+ remoteLesson: Boolean
+}
+
+type Marks {
+ subjects: [MarksSubject]!
+ averages: MarksAverages!
+}
+
+type MarksSubject {
+ name: String!
+ averages: MarksSubjectAverages!
+ color: String!
+ marks: [Mark!]!
+}
+
+type MarksAverages {
+ student: Float
+ studentClass: Float
+}
+
+type MarksSubjectAverages {
+ student: Float!
+ studentClass: Float!
+ min: Float!
+ max: Float!
+}
+
+type Mark {
+ id: String!,
+ title: String!,
+ value: Float,
+ scale: Float!,
+ average: Float,
+ coefficient: Float!
+ min: Float
+ max: Float
+ date: Date!
+ isAway: Boolean!
+}
+
+type EvaluationSubject {
+ name: String!
+ teacher: String!
+ color: String!
+ evaluations: [Evaluation!]!
+}
+
+type Evaluation {
+ id: String!
+ name: String!
+ date: Date!
+ coefficient: Float!
+ levels: [EvaluationLevel!]!
+}
+
+type EvaluationLevel {
+ name: String!
+ value: EvaluationLevelValue!
+ prefixes: [String!]!
+}
+
+type EvaluationLevelValue {
+ short: String!
+ long: String!
+}
+
+type Absences {
+ absences: [Absence!]!
+ delays: [Delay!]!
+ punishments: [Punishment!]!
+ other: [OtherEvent!]!
+ totals: [SubjectAbsences!]!
+}
+
+type Absence {
+ id: String!
+ from: Date!
+ to: Date!
+ justified: Boolean!
+ solved: Boolean!
+ hours: Float!
+ reason: String
+}
+
+type Delay {
+ id: String!
+ date: Date!
+ justified: Boolean!
+ solved: Boolean!
+ justification: String!
+ minutesMissed: Int!
+ reason: String
+}
+
+type Punishment {
+ id: String!
+ date: Date!
+ isExclusion: Boolean!
+ isDuringLesson: Boolean!
+ homework: String!
+ circumstances: String!
+ giver: String!
+ reason: String
+ detention: Detention
+}
+
+type Detention {
+ id: String!
+ from: Date!
+ to: Date!
+}
+
+type OtherEvent {
+ id: String!
+ kind: String!
+ date: Date!
+ giver: String!
+ comment: String!
+ subject: String
+}
+
+type SubjectAbsences {
+ subject: String!
+ hoursAssisted: Float!
+ hoursMissed: Float!
+ subs: [SubjectAbsences!]
+}
+
+type Info {
+ id: String!
+ date: Date!
+ title: String
+ author: String!
+ content: String!
+ htmlContent: String!
+ files: [File!]!
+}
+
+type LessonContent {
+ id: String!
+ subject: String!
+ teachers: [String!]!
+ from: Date!
+ to: Date!
+ color: String!
+ title: String
+ description: String!
+ htmlDescription: String!
+ files: [File!]!
+ category: String!
+}
+
+type Homework {
+ id: String!
+ description: String!
+ htmlDescription: String!
+ subject: String!
+ givenAt: Date!
+ for: Date!
+ done: Boolean!
+ color: String!
+ files: [File!]!
+}
+
+type File {
+ id: String!
+ time: String!
+ subject: String!
+ name: String!
+ url: String!
+}
+
+type MenuDay {
+ date: Date!
+ meals: [[[MenuMealEntry!]!]!]!
+}
+
+type MenuMealEntry {
+ name: String!
+ labels: [MenuMealLabel!]!
+}
+
+type MenuMealLabel {
+ name: String!
+ color: String!
+}
+
+type PronoteParams {
+ navigatorId: String
+ fonts: [String!]!
+ withMember: Boolean!
+ forNewCaledonia: Boolean!
+ loginImageId: Float!
+ loginImageUrl: String!
+ cssLogo: String!
+ theme: Float!
+ serverTime: Date!
+ mobileURL: String!
+ mobileSupport: Boolean!
+ title: String!
+ indexEducationWebsite: String!
+ version: String!
+ versionFull: String!
+ year: Float!
+ language: PronoteLanguage
+ supportedLanguages: [PronoteLanguage]!
+ infoPage: String!
+ hasForum: Boolean!
+ helpURL: String!
+ videosURL: String!
+ twitterURL: String!
+ withLoginOptions: Boolean!
+ establishment: String!
+ displayWeeks: String!
+ schoolYear: String!
+ firstCycle: Date!
+ firstDay: Date!
+ firstMonday: Date!
+ lastDay: Date!
+ ticksPerDay: Float!
+ ticksPerHour: Float!
+ sequenceDuration: Float!
+ ticksForHalfDayAbsence: Float!
+ hasLunch: Boolean!
+ lunchStart: Float!
+ lunchEnd: Float!
+ withPlainAfternoonHours: Boolean!
+ firstOrLastWorkingDay: Date!
+ workingDays: [Float!]!
+ lunchDays: [Float!]!
+ parentsChat: Boolean!
+ workingDaysPerCycle: Float!
+ firstDayOfWeek: Float!
+ timetableGridsInCycle: Float!
+ workingDaysCycle: [Float!]!
+ halfWorkingDays: [[Float!]!]!
+ frequenciesRanges: [[Float!]!]!
+ frequenciesLabels: [String!]!
+ defaultMarkMax: Float!
+ allowedAnnotations: [Float!]!
+ acquisitionLevels: [PronoteAcquisitionLevel]!
+ displayAcquisitionShortLabel: Boolean!
+ withEvaluationHistory: Boolean!
+ withoutIntermediaryLevelAutoValidation: Boolean!
+ onlySchoolYearEvaluationsInAutoValidation: Boolean!
+ CECRLLevelsSupport: Boolean
+ langActivityColor: String
+ minMarkMCQ: Float!
+ maxMarkMCQ: Float!
+ maxPointsMCQ: Float!
+ skillsGridLabelSize: Float!
+ homeworkCommentSize: Float!
+ officeEnabled: Boolean!
+ officeFederatedMode: Boolean!
+ officeTutorial: String!
+ oneDriveTutorial: String!
+ connexionInfoRetrieval: Boolean!
+ font: String!
+ fontSize: Float!
+ attachedStudents: Boolean!
+ phoneMask: String!
+ maxECTS: Float!
+ maxAppreciationSizes: [Float!]!
+ publicHolidays: [PronoteHoliday]!
+ displaySequences: Boolean!
+ firstHour: Date!
+ hours: [PronoteHour]!
+ endHours: [PronoteHour]!
+ sequences: [String!]!
+ periods: [PronotePeriod]!
+ logo: Float!
+ breaks: [PronoteBreak]!
+ appCookieName: String!
+}
+
+type PronoteUser {
+ name: String!
+ establishmentsInfo: [PronoteEstablishmentInfo!]!
+ userSettings: PronoteUserSettings!
+ sessionAuthorizations: PronoteSessionAuthorizations!
+ authorizations: PronoteUserAuthorizations
+ minPasswordSize: Int!
+ maxPasswordSize: Int!
+ passwordRules: [Int!]!
+ kioskAccess: Boolean!
+ tabs: [PronoteTab!]!
+ hiddenTabs: [Int!]!
+ notifiedTabs: [Int!]!
+}
+
+type PronoteLanguage {
+ id: Int!
+ name: String!
+}
+
+type PronoteAcquisitionLevel {
+ count: Int!
+ positions: [PronoteAcquisitionLevelPositions!]!
+ triggerPosition: Float!
+ activeFor: [Int!]!
+ shortName: String!
+ shortPath: String!
+ color: String
+ weighting: Float
+ brevetPoints: Float
+ acquired: Boolean
+ countsForSuccess: Boolean
+}
+
+type PronoteAcquisitionLevelPositions {
+ name: String!
+ count: Int!
+ shortName: String!
+ shortNameWithPrefix: String
+}
+
+type PronoteHoliday {
+ name: String!
+ from: Date!
+ to: Date!
+}
+
+type PronoteHour {
+ name: String!
+ count: Int!
+ round: Boolean!
+}
+
+type PronotePeriod {
+ name: String!
+ notationPeriod: Int!
+ from: Date!
+ to: Date!
+}
+
+type PronoteBreak {
+ name: String!
+ position: Int!
+}
+
+type PronoteNamedObject {
+ name: String!
+}
+
+type PronoteClassHistoryElement {
+ name: String!
+ hadMarks: Boolean!
+ hadOptions: Boolean!
+}
+
+type PronoteTabPillars {
+ tab: Int!
+ levels: [PronotePillarLevel!]!
+}
+
+type PronotePillarLevel {
+ name: String!
+ pillars: [PronotePillar!]!
+}
+
+type PronotePillar {
+ name: String!
+ isForeignLanguage: Boolean!
+ isCoreSkill: Boolean!
+ subject: PronoteNamedObject!
+}
+
+type PronoteTabPeriods {
+ tab: Int!
+ periods: [PronoteTabPeriod!]!
+ defaultPeriod: PronoteNamedObject
+}
+
+type PronoteTabPeriod {
+ name: String!
+ isCorePeriod: Boolean!
+}
+
+type PronoteEstablishmentInfo {
+ name: String!
+ logoID: Int!
+ address: [String!]!
+ postalCode: String!
+ postalLabel: String!
+ city: String!
+ province: String!
+ country: String!
+ website: String!
+}
+
+type PronoteUserSettings {
+ version: Float!
+ timetable: PronoteUserTimetableSettings!
+ theme: Int!
+ unreadDiscussions: Boolean!
+}
+
+type PronoteUserTimetableSettings {
+ displayCanceledLessons: Boolean!
+ invertAxis: Boolean!
+ invertWeeklyPlanAxis: Boolean!
+ invertDayPlanAxis: Boolean!
+ invertDay2PlanAxis: Boolean!
+ dayCount: Int!
+ resourceCount: Int!
+ daysInTimetable: Int!
+ sequenceCount: Int!
+}
+
+type PronoteUserAuthorizations {
+ discussions: Boolean!
+ teachersDiscussions: Boolean!
+ timetableVisibleWeeks: [Int!]!
+ canEditLessons: [Int!]!
+ hideClassParts: Boolean!
+ maxEstablishmentFileSize: Int!
+ maxUserWorkFileSize: Int!
+ hasPassword: Boolean!
+ hasPersonalInfo: Boolean!
+ canPrint: Boolean!
+}
+
+type PronoteSessionAuthorizations {
+ twitterManagement: Boolean!
+ expandedAttestation: Boolean!
+}
+
+type PronoteTab {
+ id: Int!
+ subs: [PronoteTab!]!
+}