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.

93 line
2.4KB

  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 Timeslot {
  41. _id: UUID!
  42. time: Time!
  43. }
  44. """A time string HH:MM:SS"""
  45. scalar Time
  46. type Event {
  47. _id: UUID!
  48. name: String
  49. date: Date!
  50. timeslots: [Timeslot!]!
  51. _organizer: UUID!
  52. organizer: Organizer!
  53. }
  54. """A date string YYYY-MM-DD"""
  55. scalar Date
  56. type Query {
  57. Person(id: UUID!): Person
  58. PersonFind(offset: Int, limit: Int, email: String, familyName: String, givenName: String): [Person!]
  59. Apparatus(id: UUID!): Apparatus
  60. ApparatusFind(offset: Int, limit: Int, name: String): [Apparatus!]
  61. Organizer(id: UUID!): Organizer
  62. OrganizerFind(offset: Int, limit: Int, ort: String, plz: Int, name: String): [Organizer!]
  63. Event(id: UUID!): Event
  64. EventFind(offset: Int, limit: Int, organizer: UUID, date: Date): [Event!]
  65. }
  66. type Mutation {
  67. login(token: String, passwort: String, email: String): Person!
  68. PersonRegister(passwort: String!, email: EmailAddress!, familyName: String!, givenName: String!, organizer: UUID!): Person!
  69. PersonConfirmMail(confirmCode: String!, email: String!): Person
  70. ChangePassword(newPassword: String!, oldPassword: String!): Boolean!
  71. PersonUpdate(master: Boolean, email: EmailAddress, familyName: String, givenName: String, id: UUID!): Person!
  72. PersonCreate(master: Boolean, email: EmailAddress!, familyName: String!, givenName: String!): Person!
  73. PersonDelete(id: UUID!): UUID!
  74. OrganizerRegister(ort: String, plz: Int, name: String!): Organizer!
  75. EventCreate(name: String, date: Date!, organizer: UUID!): Event!
  76. }
  77. type Subscription {
  78. PersonUpdated: Person
  79. PersonDeleted: UUID!
  80. }