type Book { ISBN: ID! title: String! author: Author! @relation(mappingType: "reverse") description: Text published: DateTime! genre:Genre } type Author @model{ id : ID! name: String! born: DateTime! age: Int died: DateTime nationality: String! books: [Book] @relation(mappingType: "embedded") } enum Genre { AdventureStories Classics Crime FairyTales Fantasy HistoricalFiction Horror Humour } #----------------------------------------------------------------------------------------------------------------------- # auto generated author filter input AuthorFilter { name:TextFilter born :TimeFilter died :TimeFilter age :NumericFilter nationality :TextFilter books:[BookFilter] AND : [AuthorFilter] OR : [AuthorFilter] } # auto generated book filter input BookFilter { ISBN:TextFilter title:TextFilter description :TextFilter published:TimeFilter author:AuthorFilter AND : [BookFilter] OR : [BookFilter] } # auto generated book aggregation filter input BookAggregationFilter { ISBN:TextAggregationFilter title:TextAggregationFilter published:DateTimeAggregationFilter author:DateTimeAggregationFilter AND : [BookAggregationFilter] OR : [BookAggregationFilter] } # auto generated book aggregation filter results type BookAggregationResults @autoGen{ ISBN:TextAggregationFilterResult title:TextAggregationFilterResult published:DateTimeAggregationFilterResult author:DateTimeAggregationFilterResult } # auto generated author aggregation filter input AuthorAggregationFilter { name:TextAggregationFilter born :DateTimeAggregationFilter died :DateTimeAggregationFilter nationality :TextAggregationFilter # for each array filter a ***Count field is generated booksCount:NumericAggregationFilter AND : [AuthorAggregationFilter] OR : [AuthorAggregationFilter] } # auto generated author aggregation filter type AuthorAggregationResults @autoGen{ name:TextAggregationFilterResult born :DateTimeAggregationFilterResult died :DateTimeAggregationFilterResult nationality :TextAggregationFilterResult # for each array filter a ***Count field is generated booksCount:Int } # auto generated book results type BookResults @autoGen{ results:[Book] aggResults:[BookAggregationResults] } # auto generated book results type AuthorResults @autoGen{ results:[Author] aggResults:[AuthorAggregationResults] } # auto generated queries type Query { book(filter:BookFilter, aggFilter:BookAggregationFilter) : [Book] author(filter:AuthorFilter, aggFilter:AuthorAggregationFilter) : [Author] }