'type Author {
  age: Int!
  id: Int!
  message: String!
  module: [Module]
  name: String
}

input AuthorCreateInput {
  age: Int!
  message: String!
  name: String
}

input AuthorMutateInput {
  age: Int
  id: Int!
  message: String
  name: String
}

input AuthorSearchInput {
  age: Int
  message: String
  name: String
}

type Module {
  author: Author
  author_id: Int
  id: Int!
  name: String
}

input ModuleCreateInput {
  author_id: Int
  name: String
}

input ModuleMutateInput {
  author_id: Int
  id: Int!
  name: String
}

input ModuleSearchInput {
  author_id: Int
  name: String
}

type Mutation {
  createAuthor(input: [AuthorCreateInput!]!): [Author]
  createModule(input: [ModuleCreateInput!]!): [Module]
  deleteAuthor(input: [AuthorMutateInput!]!): [Boolean]
  deleteModule(input: [ModuleMutateInput!]!): [Boolean]
  updateAuthor(input: [AuthorMutateInput!]!): [Author]
  updateModule(input: [ModuleMutateInput!]!): [Module]
}

type Query {
  author(id: Int!): Author
  authors(id: [Int!]!): [Author]
  module(id: Int!): Module
  modules(id: [Int!]!): [Module]
  "input to search"
  searchAuthor(input: AuthorSearchInput!): [Author]
  "input to search"
  searchModule(input: ModuleSearchInput!): [Module]
}
'
