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.

135 lines
3.7KB

  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 Timeslot {
  45. _id: UUID!
  46. time: Time!
  47. duration: Int!
  48. team: Team
  49. }
  50. """A time string HH:MM:SS"""
  51. scalar Time
  52. type EventApparatus {
  53. _apparatus: UUID!
  54. elements: Int!
  55. bonus: Int!
  56. malus: Int!
  57. apparatus: Apparatus!
  58. }
  59. type Event {
  60. _id: UUID!
  61. name: String
  62. date: Date!
  63. apparatus: [EventApparatus!]!
  64. timeslots: [Timeslot!]!
  65. _organizer: UUID!
  66. organizer: Organizer!
  67. }
  68. """A date string YYYY-MM-DD"""
  69. scalar Date
  70. type Query {
  71. Person(id: UUID!): Person
  72. PersonFind(offset: Int, limit: Int, email: String, familyName: String, givenName: String): [Person!]
  73. Apparatus(id: UUID!): Apparatus
  74. ApparatusFind(offset: Int, limit: Int, name: String): [Apparatus!]
  75. Organizer(id: UUID!): Organizer
  76. OrganizerFind(offset: Int, limit: Int, ort: String, plz: Int, name: String): [Organizer!]
  77. Event(id: UUID!): Event
  78. EventFind(offset: Int, limit: Int, organizer: UUID, date: Date): [Event!]
  79. }
  80. type Mutation {
  81. login(token: String, passwort: String, email: String): Person!
  82. PersonRegister(passwort: String!, email: EmailAddress!, familyName: String!, givenName: String!, organizer: UUID!): Person!
  83. PersonConfirmMail(confirmCode: String!, email: String!): Person
  84. ChangePassword(newPassword: String!, oldPassword: String!): Boolean!
  85. PersonUpdate(master: Boolean, email: EmailAddress, familyName: String, givenName: String, id: UUID!): Person!
  86. PersonCreate(master: Boolean, email: EmailAddress!, familyName: String!, givenName: String!): Person!
  87. PersonDelete(id: UUID!): UUID!
  88. ApparatusUpdate(logo: String, name: String, id: UUID!): Apparatus!
  89. ApparatusCreate(logo: String, name: String!): Apparatus!
  90. ApparatusDelete(id: UUID!): UUID!
  91. OrganizerRegister(ort: String, plz: Int, name: String!): Organizer!
  92. OrganizerUpdate(ort: String, plz: Int, name: String, id: UUID!): Organizer!
  93. OrganizerCreate(ort: String, plz: Int, name: String!): Organizer!
  94. OrganizerDelete(id: UUID!): UUID!
  95. EventCreate(name: String, date: Date!, organizer: UUID!): Event!
  96. EventUpdate(date: Date, name: String, id: UUID!): Event!
  97. EventAddApparatus(apparatus: UUID!, id: UUID!): Event!
  98. EventDeleteApparatus(apparatus: UUID!, id: UUID!): Event!
  99. EventOrderApparatus(target: Int!, src: Int!, id: UUID!): Event!
  100. EventAddTimeslots(timeslots: [ITimeslot!]!, id: UUID!): Event!
  101. EventDeleteTimeslots(timeslots: [UUID!]!, id: UUID!): Event!
  102. EventAddTeam(name: String!, timeslot: UUID!, id: UUID!): Event!
  103. EventDeleteTeam(timeslot: UUID!, id: UUID!): Event!
  104. EventDelete(id: UUID!): UUID!
  105. }
  106. input ITimeslot {
  107. time: Time!
  108. duration: Int!
  109. }
  110. type Subscription {
  111. PersonUpdated: Person
  112. PersonDeleted: UUID!
  113. ApparatusUpdated: Apparatus
  114. ApparatusDeleted: UUID!
  115. OrganizerUpdated: Organizer!
  116. OrganizerDeleted: UUID!
  117. EventUpdated(organizer: UUID, id: UUID): Event!
  118. EventDeleted(organizer: UUID!): UUID!
  119. }