schema.graphql 3.0 KB

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