You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

165 line
4.1KB

  1. # ------------------------------------------------------
  2. # THIS FILE WAS AUTOMATICALLY GENERATED (DO NOT MODIFY)
  3. # ------------------------------------------------------
  4. type Person {
  5. _id: UUID!
  6. givenName: String!
  7. familyName: String!
  8. email: EmailAddress!
  9. master: Boolean
  10. token: String
  11. _adminOf: [UUID!]
  12. adminOf: [Organizer!]
  13. _organizerOf: [UUID!]
  14. organizerOf: [Organizer!]
  15. }
  16. """UUID"""
  17. scalar UUID
  18. """
  19. A field whose value conforms to the standard internet email address format as specified in RFC822: https://www.w3.org/Protocols/rfc822/.
  20. """
  21. scalar EmailAddress
  22. type Organizer {
  23. _id: UUID!
  24. name: String!
  25. plz: Int
  26. ort: String
  27. logo: String
  28. _admins: [UUID!]
  29. _organizers: [UUID!]
  30. _pending: [UUID!]
  31. admins: [Person!]
  32. organizers: [Person!]
  33. pending: [Person!]
  34. }
  35. type Apparatus {
  36. _id: UUID!
  37. name: String!
  38. logo: String
  39. }
  40. type Team {
  41. _id: UUID!
  42. name: String!
  43. }
  44. type Result {
  45. bonus: Int!
  46. runtime: Float!
  47. calctime: Float!
  48. results: [ApparatusResult!]!
  49. }
  50. type ApparatusResult {
  51. _id: UUID!
  52. bonus: Boolean!
  53. teile: Boolean!
  54. wechsel: Boolean
  55. }
  56. type Timeslot {
  57. _id: UUID!
  58. time: Time!
  59. duration: Int!
  60. team: Team
  61. result: Result
  62. }
  63. """A time string HH:MM:SS"""
  64. scalar Time
  65. type EventApparatus {
  66. _apparatus: UUID!
  67. elements: Int!
  68. bonus: Int!
  69. malus: Int!
  70. apparatus: Apparatus!
  71. }
  72. type Event {
  73. _id: UUID!
  74. name: String
  75. date: Date!
  76. apparatus: [EventApparatus!]!
  77. timeslots: [Timeslot!]!
  78. _organizer: UUID!
  79. organizer: Organizer!
  80. }
  81. """A date string YYYY-MM-DD"""
  82. scalar Date
  83. type Query {
  84. Person(id: UUID!): Person
  85. PersonFind(offset: Int, limit: Int, email: String, familyName: String, givenName: String): [Person!]
  86. Apparatus(id: UUID!): Apparatus
  87. ApparatusFind(offset: Int, limit: Int, name: String): [Apparatus!]
  88. Organizer(id: UUID!): Organizer
  89. OrganizerFind(offset: Int, limit: Int, ort: String, plz: Int, name: String): [Organizer!]
  90. Event(id: UUID!): Event
  91. EventFind(offset: Int, limit: Int, organizer: UUID, date: Date): [Event!]
  92. }
  93. type Mutation {
  94. login(token: String, passwort: String, email: String): Person!
  95. PersonRegister(passwort: String!, email: EmailAddress!, familyName: String!, givenName: String!, organizer: UUID!): Person!
  96. PersonConfirmMail(confirmCode: String!, email: String!): Person
  97. ChangePassword(newPassword: String!, oldPassword: String!): Boolean!
  98. PersonUpdate(master: Boolean, email: EmailAddress, familyName: String, givenName: String, id: UUID!): Person!
  99. PersonCreate(master: Boolean, email: EmailAddress!, familyName: String!, givenName: String!): Person!
  100. PersonDelete(id: UUID!): UUID!
  101. ApparatusUpdate(logo: String, name: String, id: UUID!): Apparatus!
  102. ApparatusCreate(logo: String, name: String!): Apparatus!
  103. ApparatusDelete(id: UUID!): UUID!
  104. OrganizerRegister(ort: String, plz: Int, name: String!): Organizer!
  105. OrganizerUpdate(ort: String, plz: Int, name: String, id: UUID!): Organizer!
  106. OrganizerCreate(ort: String, plz: Int, name: String!): Organizer!
  107. OrganizerDelete(id: UUID!): UUID!
  108. EventCreate(name: String, date: Date!, organizer: UUID!): Event!
  109. EventUpdate(date: Date, name: String, id: UUID!): Event!
  110. EventAddApparatus(apparatus: UUID!, id: UUID!): Event!
  111. EventDeleteApparatus(apparatus: UUID!, id: UUID!): Event!
  112. EventOrderApparatus(target: Int!, src: Int!, id: UUID!): Event!
  113. EventAddTimeslots(timeslots: [ITimeslot!]!, id: UUID!): Event!
  114. EventDeleteTimeslots(timeslots: [UUID!]!, id: UUID!): Event!
  115. EventAddTeam(name: String!, timeslot: UUID!, id: UUID!): Event!
  116. EventDeleteTeam(timeslot: UUID!, id: UUID!): Event!
  117. EventSetResult(result: IResult!, timeslot: UUID!, id: UUID!): Timeslot!
  118. EventDelete(id: UUID!): UUID!
  119. }
  120. input ITimeslot {
  121. time: Time!
  122. duration: Int!
  123. }
  124. input IResult {
  125. bonus: Int!
  126. runtime: Float!
  127. calctime: Float!
  128. results: [IApparatusResult!]!
  129. }
  130. input IApparatusResult {
  131. _id: UUID!
  132. bonus: Boolean!
  133. teile: Boolean!
  134. wechsel: Boolean
  135. }
  136. type Subscription {
  137. PersonUpdated: Person
  138. PersonDeleted: UUID!
  139. ApparatusUpdated: Apparatus
  140. ApparatusDeleted: UUID!
  141. OrganizerUpdated: Organizer!
  142. OrganizerDeleted: UUID!
  143. EventUpdated(organizer: UUID, id: UUID): Event!
  144. EventDeleted(organizer: UUID!): UUID!
  145. }