schema.graphql 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. # import * from './database/generated/prisma.graphql'
  2. scalar Upload
  3. type FsFile {
  4. filename: String!
  5. path: String!
  6. size: Int!
  7. ctime: DateTime!
  8. mtime: DateTime!
  9. }
  10. type TrainingArchiveItem {
  11. id: ID!
  12. title: String!
  13. type: TrainingType!
  14. trainingDate: DateTime!
  15. location: String!
  16. attendance: Int
  17. ratings: Float
  18. blocks: [String!]!
  19. duration: Int
  20. }
  21. type TrainingArchive {
  22. trainings: [TrainingArchiveItem!]!
  23. totalCount: Int!
  24. }
  25. type Query {
  26. # Training module
  27. trainingArchive(skip: Int, first: Int): TrainingArchive!
  28. publishedTrainings(
  29. where: TrainingWhereInput
  30. orderBy: TrainingOrderByInput
  31. skip: Int
  32. first: Int
  33. ): [Training!]!
  34. training(id: ID): Training!
  35. trainings(
  36. where: TrainingWhereInput
  37. orderBy: TrainingOrderByInput
  38. skip: Int
  39. after: String
  40. before: String
  41. first: Int
  42. last: Int
  43. ): [Training!]!
  44. trainingsCount(where: TrainingWhereInput): TrainingConnection!
  45. # File module
  46. fsFiles(directory: String!): [FsFile!]!
  47. files: [File!]!
  48. currentUser: User!
  49. user(where: UserWhereUniqueInput!): User
  50. users(
  51. where: UserWhereInput
  52. orderBy: UserOrderByInput
  53. skip: Int
  54. after: String
  55. before: String
  56. first: Int
  57. last: Int
  58. ): [User!]!
  59. trainingType(where: TrainingTypeWhereUniqueInput!): TrainingType
  60. trainingTypes(
  61. where: TrainingTypeWhereInput
  62. orderBy: TrainingTypeOrderByInput
  63. skip: Int
  64. after: String
  65. before: String
  66. first: Int
  67. last: Int
  68. ): [TrainingType!]!
  69. block(where: BlockWhereUniqueInput!): Block
  70. blocks(
  71. where: BlockWhereInput
  72. orderBy: BlockOrderByInput
  73. skip: Int
  74. after: String
  75. before: String
  76. first: Int
  77. last: Int
  78. ): [Block!]!
  79. format(where: FormatWhereUniqueInput!): Format
  80. formats(
  81. where: FormatWhereInput
  82. orderBy: FormatOrderByInput
  83. skip: Int
  84. after: String
  85. before: String
  86. first: Int
  87. last: Int
  88. ): [Format!]!
  89. exercise(where: ExerciseWhereUniqueInput!): Exercise
  90. exercises(
  91. where: ExerciseWhereInput
  92. orderBy: ExerciseOrderByInput
  93. skip: Int
  94. after: String
  95. before: String
  96. first: Int
  97. last: Int
  98. ): [Exercise!]!
  99. }
  100. type Mutation {
  101. # File module
  102. uploadFile(file: Upload!, comment: String): File!
  103. # User module
  104. createUser(data: UserCreateInput!): User!
  105. updateUser(email: String!, data: UserUpdateInput!): User
  106. deleteUser(email: String!): User
  107. # Training module
  108. createTraining(
  109. title: String!
  110. type: TrainingTypeCreateOneInput!
  111. trainingDate: DateTime!
  112. location: String!
  113. attendance: Int
  114. published: Boolean!
  115. blocks: BlockInstanceCreateManyWithoutParentTrainingInput
  116. ): Training!
  117. deleteTraining(id: ID!): Training!
  118. updateTraining(where: TrainingWhereUniqueInput!, data: TrainingUpdateInput!): Training!
  119. createTrainingType(name: String!, description: String!): TrainingType!
  120. # createBlock(
  121. # title: String!
  122. # description: String
  123. # videos: [String!]
  124. # pictures: [String!]
  125. # duration: Int
  126. # format: FormatCreateOneInput!
  127. # rest: Int
  128. # tracks: TrackCreateManyInput
  129. # blocks: BlockInstanceCreateManyInput
  130. # exercises: ExerciseInstanceCreateManyInput
  131. # ): Block!
  132. createFormat(name: String!, description: String!): Format!
  133. userLogin(email: String!, password: String!): User!
  134. userLogout: String!
  135. userSignup(name: String!, email: String!, password: String!): User!
  136. requestReset(email: String!): String!
  137. resetPassword(token: String!, password: String!): User!
  138. register(training: ID!): Training!
  139. deregister(training: ID!): Training!
  140. publish(training: ID!, status: Boolean): Training!
  141. }