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.

166 lines
4.2KB

  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. PersonPasswordReset(newPassword: String, resetCode: String, email: EmailAddress!): Boolean
  98. ChangePassword(newPassword: String!, oldPassword: String!): Boolean!
  99. PersonUpdate(master: Boolean, email: EmailAddress, familyName: String, givenName: String, id: UUID!): Person!
  100. PersonCreate(master: Boolean, email: EmailAddress!, familyName: String!, givenName: String!): Person!
  101. PersonDelete(id: UUID!): UUID!
  102. ApparatusUpdate(logo: String, name: String, id: UUID!): Apparatus!
  103. ApparatusCreate(logo: String, name: String!): Apparatus!
  104. ApparatusDelete(id: UUID!): UUID!
  105. OrganizerRegister(ort: String, plz: Int, name: String!): Organizer!
  106. OrganizerUpdate(ort: String, plz: Int, name: String, id: UUID!): Organizer!
  107. OrganizerCreate(ort: String, plz: Int, name: String!): Organizer!
  108. OrganizerDelete(id: UUID!): UUID!
  109. EventCreate(name: String, date: Date!, organizer: UUID!): Event!
  110. EventUpdate(date: Date, name: String, id: UUID!): Event!
  111. EventAddApparatus(apparatus: UUID!, id: UUID!): Event!
  112. EventDeleteApparatus(apparatus: UUID!, id: UUID!): Event!
  113. EventOrderApparatus(target: Int!, src: Int!, id: UUID!): Event!
  114. EventAddTimeslots(timeslots: [ITimeslot!]!, id: UUID!): Event!
  115. EventDeleteTimeslots(timeslots: [UUID!]!, id: UUID!): Event!
  116. EventAddTeam(name: String!, timeslot: UUID!, id: UUID!): Event!
  117. EventDeleteTeam(timeslot: UUID!, id: UUID!): Event!
  118. EventSetResult(result: IResult!, timeslot: UUID!, id: UUID!): Timeslot!
  119. EventDelete(id: UUID!): UUID!
  120. }
  121. input ITimeslot {
  122. time: Time!
  123. duration: Int!
  124. }
  125. input IResult {
  126. bonus: Int!
  127. runtime: Float!
  128. calctime: Float!
  129. results: [IApparatusResult!]!
  130. }
  131. input IApparatusResult {
  132. _id: UUID!
  133. bonus: Boolean!
  134. teile: Boolean!
  135. wechsel: Boolean
  136. }
  137. type Subscription {
  138. PersonUpdated: Person
  139. PersonDeleted: UUID!
  140. ApparatusUpdated: Apparatus
  141. ApparatusDeleted: UUID!
  142. OrganizerUpdated: Organizer!
  143. OrganizerDeleted: UUID!
  144. EventUpdated(organizer: UUID, id: UUID): Event!
  145. EventDeleted(organizer: UUID!): UUID!
  146. }