github.com/dgraph-io/dgraph@v1.2.8/graphql/schema/testdata/schemagen/output/hasInverse-with-interface.graphql (about) 1 ####################### 2 # Input Schema 3 ####################### 4 5 type Author { 6 id: ID! 7 name: String! @search(by: [hash]) 8 questions(filter: QuestionFilter, order: QuestionOrder, first: Int, offset: Int): [Question] @hasInverse(field: author) 9 answers(filter: AnswerFilter, order: AnswerOrder, first: Int, offset: Int): [Answer] @hasInverse(field: author) 10 } 11 12 interface Post { 13 id: ID! 14 text: String @search(by: [fulltext]) 15 datePublished: DateTime @search 16 author(filter: AuthorFilter): Author! 17 } 18 19 type Question implements Post { 20 id: ID! 21 text: String @search(by: [fulltext]) 22 datePublished: DateTime @search 23 author(filter: AuthorFilter): Author! @hasInverse(field: questions) 24 answered: Boolean 25 } 26 27 type Answer implements Post { 28 id: ID! 29 text: String @search(by: [fulltext]) 30 datePublished: DateTime @search 31 author(filter: AuthorFilter): Author! @hasInverse(field: answers) 32 markedUseful: Boolean 33 } 34 35 ####################### 36 # Extended Definitions 37 ####################### 38 39 scalar DateTime 40 41 enum DgraphIndex { 42 int 43 float 44 bool 45 hash 46 exact 47 term 48 fulltext 49 trigram 50 regexp 51 year 52 month 53 day 54 hour 55 } 56 57 directive @hasInverse(field: String!) on FIELD_DEFINITION 58 directive @search(by: [DgraphIndex!]) on FIELD_DEFINITION 59 directive @dgraph(type: String, pred: String) on OBJECT | INTERFACE | FIELD_DEFINITION 60 directive @id on FIELD_DEFINITION 61 62 input IntFilter { 63 eq: Int 64 le: Int 65 lt: Int 66 ge: Int 67 gt: Int 68 } 69 70 input FloatFilter { 71 eq: Float 72 le: Float 73 lt: Float 74 ge: Float 75 gt: Float 76 } 77 78 input DateTimeFilter { 79 eq: DateTime 80 le: DateTime 81 lt: DateTime 82 ge: DateTime 83 gt: DateTime 84 } 85 86 input StringTermFilter { 87 allofterms: String 88 anyofterms: String 89 } 90 91 input StringRegExpFilter { 92 regexp: String 93 } 94 95 input StringFullTextFilter { 96 alloftext: String 97 anyoftext: String 98 } 99 100 input StringExactFilter { 101 eq: String 102 le: String 103 lt: String 104 ge: String 105 gt: String 106 } 107 108 input StringHashFilter { 109 eq: String 110 } 111 112 ####################### 113 # Generated Types 114 ####################### 115 116 type AddAnswerPayload { 117 answer(filter: AnswerFilter, order: AnswerOrder, first: Int, offset: Int): [Answer] 118 } 119 120 type AddAuthorPayload { 121 author(filter: AuthorFilter, order: AuthorOrder, first: Int, offset: Int): [Author] 122 } 123 124 type AddQuestionPayload { 125 question(filter: QuestionFilter, order: QuestionOrder, first: Int, offset: Int): [Question] 126 } 127 128 type DeleteAnswerPayload { 129 msg: String 130 } 131 132 type DeleteAuthorPayload { 133 msg: String 134 } 135 136 type DeletePostPayload { 137 msg: String 138 } 139 140 type DeleteQuestionPayload { 141 msg: String 142 } 143 144 type UpdateAnswerPayload { 145 answer(filter: AnswerFilter, order: AnswerOrder, first: Int, offset: Int): [Answer] 146 } 147 148 type UpdateAuthorPayload { 149 author(filter: AuthorFilter, order: AuthorOrder, first: Int, offset: Int): [Author] 150 } 151 152 type UpdatePostPayload { 153 post(filter: PostFilter, order: PostOrder, first: Int, offset: Int): [Post] 154 } 155 156 type UpdateQuestionPayload { 157 question(filter: QuestionFilter, order: QuestionOrder, first: Int, offset: Int): [Question] 158 } 159 160 ####################### 161 # Generated Enums 162 ####################### 163 164 enum AnswerOrderable { 165 text 166 datePublished 167 } 168 169 enum AuthorOrderable { 170 name 171 } 172 173 enum PostOrderable { 174 text 175 datePublished 176 } 177 178 enum QuestionOrderable { 179 text 180 datePublished 181 } 182 183 ####################### 184 # Generated Inputs 185 ####################### 186 187 input AddAnswerInput { 188 text: String 189 datePublished: DateTime 190 author: AuthorRef! 191 markedUseful: Boolean 192 } 193 194 input AddAuthorInput { 195 name: String! 196 questions: [QuestionRef] 197 answers: [AnswerRef] 198 } 199 200 input AddQuestionInput { 201 text: String 202 datePublished: DateTime 203 author: AuthorRef! 204 answered: Boolean 205 } 206 207 input AnswerFilter { 208 id: [ID!] 209 text: StringFullTextFilter 210 datePublished: DateTimeFilter 211 and: AnswerFilter 212 or: AnswerFilter 213 not: AnswerFilter 214 } 215 216 input AnswerOrder { 217 asc: AnswerOrderable 218 desc: AnswerOrderable 219 then: AnswerOrder 220 } 221 222 input AnswerPatch { 223 text: String 224 datePublished: DateTime 225 author: AuthorRef 226 markedUseful: Boolean 227 } 228 229 input AnswerRef { 230 id: ID 231 text: String 232 datePublished: DateTime 233 author: AuthorRef 234 markedUseful: Boolean 235 } 236 237 input AuthorFilter { 238 id: [ID!] 239 name: StringHashFilter 240 and: AuthorFilter 241 or: AuthorFilter 242 not: AuthorFilter 243 } 244 245 input AuthorOrder { 246 asc: AuthorOrderable 247 desc: AuthorOrderable 248 then: AuthorOrder 249 } 250 251 input AuthorPatch { 252 name: String 253 questions: [QuestionRef] 254 answers: [AnswerRef] 255 } 256 257 input AuthorRef { 258 id: ID 259 name: String 260 questions: [QuestionRef] 261 answers: [AnswerRef] 262 } 263 264 input PostFilter { 265 id: [ID!] 266 text: StringFullTextFilter 267 datePublished: DateTimeFilter 268 and: PostFilter 269 or: PostFilter 270 not: PostFilter 271 } 272 273 input PostOrder { 274 asc: PostOrderable 275 desc: PostOrderable 276 then: PostOrder 277 } 278 279 input PostPatch { 280 text: String 281 datePublished: DateTime 282 author: AuthorRef 283 } 284 285 input PostRef { 286 id: ID! 287 } 288 289 input QuestionFilter { 290 id: [ID!] 291 text: StringFullTextFilter 292 datePublished: DateTimeFilter 293 and: QuestionFilter 294 or: QuestionFilter 295 not: QuestionFilter 296 } 297 298 input QuestionOrder { 299 asc: QuestionOrderable 300 desc: QuestionOrderable 301 then: QuestionOrder 302 } 303 304 input QuestionPatch { 305 text: String 306 datePublished: DateTime 307 author: AuthorRef 308 answered: Boolean 309 } 310 311 input QuestionRef { 312 id: ID 313 text: String 314 datePublished: DateTime 315 author: AuthorRef 316 answered: Boolean 317 } 318 319 input UpdateAnswerInput { 320 filter: AnswerFilter! 321 set: AnswerPatch 322 remove: AnswerPatch 323 } 324 325 input UpdateAuthorInput { 326 filter: AuthorFilter! 327 set: AuthorPatch 328 remove: AuthorPatch 329 } 330 331 input UpdatePostInput { 332 filter: PostFilter! 333 set: PostPatch 334 remove: PostPatch 335 } 336 337 input UpdateQuestionInput { 338 filter: QuestionFilter! 339 set: QuestionPatch 340 remove: QuestionPatch 341 } 342 343 ####################### 344 # Generated Query 345 ####################### 346 347 type Query { 348 getAuthor(id: ID!): Author 349 queryAuthor(filter: AuthorFilter, order: AuthorOrder, first: Int, offset: Int): [Author] 350 getPost(id: ID!): Post 351 queryPost(filter: PostFilter, order: PostOrder, first: Int, offset: Int): [Post] 352 getQuestion(id: ID!): Question 353 queryQuestion(filter: QuestionFilter, order: QuestionOrder, first: Int, offset: Int): [Question] 354 getAnswer(id: ID!): Answer 355 queryAnswer(filter: AnswerFilter, order: AnswerOrder, first: Int, offset: Int): [Answer] 356 } 357 358 ####################### 359 # Generated Mutations 360 ####################### 361 362 type Mutation { 363 addAuthor(input: [AddAuthorInput!]!): AddAuthorPayload 364 updateAuthor(input: UpdateAuthorInput!): UpdateAuthorPayload 365 deleteAuthor(filter: AuthorFilter!): DeleteAuthorPayload 366 updatePost(input: UpdatePostInput!): UpdatePostPayload 367 deletePost(filter: PostFilter!): DeletePostPayload 368 addQuestion(input: [AddQuestionInput!]!): AddQuestionPayload 369 updateQuestion(input: UpdateQuestionInput!): UpdateQuestionPayload 370 deleteQuestion(filter: QuestionFilter!): DeleteQuestionPayload 371 addAnswer(input: [AddAnswerInput!]!): AddAnswerPayload 372 updateAnswer(input: UpdateAnswerInput!): UpdateAnswerPayload 373 deleteAnswer(filter: AnswerFilter!): DeleteAnswerPayload 374 }