schema.graphql 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  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 Query {
  11. # Training module
  12. publishedTrainings(
  13. where: TrainingWhereInput
  14. orderBy: TrainingOrderByInput
  15. skip: Int
  16. first: Int
  17. ): [Training!]!
  18. training(id: ID): Training!
  19. trainings(
  20. where: TrainingWhereInput
  21. orderBy: TrainingOrderByInput
  22. skip: Int
  23. after: String
  24. before: String
  25. first: Int
  26. last: Int
  27. ): [Training!]!
  28. trainingsCount(where: TrainingWhereInput): TrainingConnection!
  29. # File module
  30. fsFiles(directory: String!): [FsFile!]!
  31. files: [File!]!
  32. currentUser: User!
  33. user(where: UserWhereUniqueInput!): User
  34. users(
  35. where: UserWhereInput
  36. orderBy: UserOrderByInput
  37. skip: Int
  38. after: String
  39. before: String
  40. first: Int
  41. last: Int
  42. ): [User!]!
  43. trainingType(where: TrainingTypeWhereUniqueInput!): TrainingType
  44. trainingTypes(
  45. where: TrainingTypeWhereInput
  46. orderBy: TrainingTypeOrderByInput
  47. skip: Int
  48. after: String
  49. before: String
  50. first: Int
  51. last: Int
  52. ): [TrainingType!]!
  53. block(where: BlockWhereUniqueInput!): Block
  54. blocks(
  55. where: BlockWhereInput
  56. orderBy: BlockOrderByInput
  57. skip: Int
  58. after: String
  59. before: String
  60. first: Int
  61. last: Int
  62. ): [Block!]!
  63. format(where: FormatWhereUniqueInput!): Format
  64. formats(
  65. where: FormatWhereInput
  66. orderBy: FormatOrderByInput
  67. skip: Int
  68. after: String
  69. before: String
  70. first: Int
  71. last: Int
  72. ): [Format!]!
  73. exercise(where: ExerciseWhereUniqueInput!): Exercise
  74. exercises(
  75. where: ExerciseWhereInput
  76. orderBy: ExerciseOrderByInput
  77. skip: Int
  78. after: String
  79. before: String
  80. first: Int
  81. last: Int
  82. ): [Exercise!]!
  83. }
  84. type Mutation {
  85. # File module
  86. uploadFile(file: Upload!, comment: String): File!
  87. createUser(data: UserCreateInput!): User!
  88. updateUser(email: String!, data: UserUpdateInput!): User
  89. deleteUser(email: String!): User
  90. createTraining(
  91. title: String!
  92. type: TrainingTypeCreateOneInput!
  93. trainingDate: DateTime!
  94. location: String!
  95. attendance: Int
  96. published: Boolean!
  97. blocks: BlockInstanceCreateManyWithoutParentTrainingInput
  98. ): Training!
  99. updateTraining(where: TrainingWhereUniqueInput!, data: TrainingUpdateInput!): Training!
  100. createTrainingType(name: String!, description: String!): TrainingType!
  101. # createBlock(
  102. # title: String!
  103. # description: String
  104. # videos: [String!]
  105. # pictures: [String!]
  106. # duration: Int
  107. # format: FormatCreateOneInput!
  108. # rest: Int
  109. # tracks: TrackCreateManyInput
  110. # blocks: BlockInstanceCreateManyInput
  111. # exercises: ExerciseInstanceCreateManyInput
  112. # ): Block!
  113. createFormat(name: String!, description: String!): Format!
  114. userLogin(email: String!, password: String!): User!
  115. userLogout: String!
  116. userSignup(name: String!, email: String!, password: String!): User!
  117. requestReset(email: String!): String!
  118. resetPassword(token: String!, password: String!): User!
  119. register(training: ID!): Training!
  120. deregister(training: ID!): Training!
  121. publish(training: ID!, status: Boolean): Training!
  122. }