schema.graphql 3.0 KB

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