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  }