schema.graphql 4.1 KB

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