schema.graphql 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  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(
  48. where: FileWhereInput
  49. orderBy: FileOrderByInput
  50. skip: Int
  51. after: String
  52. before: String
  53. first: Int
  54. last: Int
  55. ): [File!]!
  56. file(where: FileWhereUniqueInput!): File!
  57. videos(
  58. where: VideoWhereInput
  59. orderBy: VideoOrderByInput
  60. skip: Int
  61. after: String
  62. before: String
  63. first: Int
  64. last: Int
  65. ): [Video!]!
  66. video(where: VideoWhereUniqueInput!): Video!
  67. # User module
  68. currentUser: User!
  69. user(where: UserWhereUniqueInput!): User
  70. users(
  71. where: UserWhereInput
  72. orderBy: UserOrderByInput
  73. skip: Int
  74. after: String
  75. before: String
  76. first: Int
  77. last: Int
  78. ): [User!]!
  79. trainingType(where: TrainingTypeWhereUniqueInput!): TrainingType
  80. trainingTypes(
  81. where: TrainingTypeWhereInput
  82. orderBy: TrainingTypeOrderByInput
  83. skip: Int
  84. after: String
  85. before: String
  86. first: Int
  87. last: Int
  88. ): [TrainingType!]!
  89. block(where: BlockWhereUniqueInput!): Block
  90. blocks(
  91. where: BlockWhereInput
  92. orderBy: BlockOrderByInput
  93. skip: Int
  94. after: String
  95. before: String
  96. first: Int
  97. last: Int
  98. ): [Block!]!
  99. format(where: FormatWhereUniqueInput!): Format
  100. formats(
  101. where: FormatWhereInput
  102. orderBy: FormatOrderByInput
  103. skip: Int
  104. after: String
  105. before: String
  106. first: Int
  107. last: Int
  108. ): [Format!]!
  109. exercise(where: ExerciseWhereUniqueInput!): Exercise
  110. exercises(
  111. where: ExerciseWhereInput
  112. orderBy: ExerciseOrderByInput
  113. skip: Int
  114. after: String
  115. before: String
  116. first: Int
  117. last: Int
  118. ): [Exercise!]!
  119. }
  120. type Mutation {
  121. # File module
  122. uploadFile(
  123. file: Upload!
  124. comment: String
  125. width: Int
  126. height: Int
  127. duration: Float
  128. title: String
  129. artist: String
  130. ): File!
  131. updateFile(where: FileWhereUniqueInput!, data: FileUpdateInput!): File!
  132. deleteFile(id: ID!): File!
  133. createVideo(data: VideoCreateInput!): Video!
  134. updateVideo(where: VideoWhereUniqueInput!, data: VideoUpdateInput!): Video!
  135. deleteVideo(id: ID!): Video!
  136. # User module
  137. createUser(data: UserCreateInput!): User!
  138. updateUser(id: ID!, data: UserUpdateInput!): User!
  139. deleteUser(id: ID!): User!
  140. updatePermissions(id: ID!, permissions: [Permission!]!): User!
  141. # Training module
  142. createTraining(
  143. title: String!
  144. type: TrainingTypeCreateOneInput!
  145. trainingDate: DateTime!
  146. location: String!
  147. attendance: Int
  148. published: Boolean!
  149. blocks: BlockInstanceCreateManyWithoutParentTrainingInput
  150. ): Training!
  151. deleteTraining(id: ID!): Training!
  152. updateTraining(where: TrainingWhereUniqueInput!, data: TrainingUpdateInput!): Training!
  153. createTrainingType(name: String!, description: String!): TrainingType!
  154. # createBlock(
  155. # title: String!
  156. # description: String
  157. # videos: [String!]
  158. # pictures: [String!]
  159. # duration: Int
  160. # format: FormatCreateOneInput!
  161. # rest: Int
  162. # tracks: TrackCreateManyInput
  163. # blocks: BlockInstanceCreateManyInput
  164. # exercises: ExerciseInstanceCreateManyInput
  165. # ): Block!
  166. createFormat(name: String!, description: String!): Format!
  167. userLogin(email: String!, password: String!): User!
  168. userLogout: String!
  169. userSignup(name: String!, email: String!, password: String!): User!
  170. requestReset(email: String!): String!
  171. resetPassword(token: String!, password: String!): User!
  172. register(training: ID!): Training!
  173. deregister(training: ID!): Training!
  174. publish(training: ID!, status: Boolean): Training!
  175. }