module.exports = `schema {
  query: Query
  mutation: Mutation
}

type DemoType implements BaseRelayNode {
  id: ID!
  field1: String!
  field2: String!
  field3: String!
}

input CustomFieldType {
  field: ID
  value: String
}

type FieldDataRowType implements BaseRelayNode {
  create_username: String!
  create_date: DateTime!
  mod_username: String!
  mod_date: DateTime!
  id: ID!
  field_data_value_set: [FieldDataValueType!]!
  node_description: String
  id_disambiguated: String
}

type FieldDataRowTypeConnection {
  pageInfo: PageInfo!
  edges: [FieldDataRowTypeEdge]!
  total_count: Int
}

type PageInfo {
  hasNextPage: Boolean!
  hasPreviousPage: Boolean!
  startCursor: String
  endCursor: String
}

type FieldDataRowTypeEdge {
  node: FieldDataRowType
  cursor: String!
}

type FieldDataValueType {
  create_username: String!
  create_date: DateTime!
  mod_username: String!
  mod_date: DateTime!
  id: ID!
  field_data_row: FieldDataRowType!
  field: FieldType!
  value: String
  node_description: String
  id_disambiguated: String
}

type FieldSetType implements BaseRelayNode {
  id: ID!
  module: String
  field_set_name: String
  system_flag: Boolean
  position: Int
  collapsed: Boolean!
  field_set(offset: Int, before: String, after: String, first: Int, last: Int): FieldTypeConnection!
  node_description: String
  id_disambiguated: String
}

type FieldSetTypeConnection {
  pageInfo: PageInfo!
  edges: [FieldSetTypeEdge]!
  total_count: Int
}

type FieldSetTypeEdge {
  node: FieldSetType
  cursor: String!
}

type FieldType implements BaseRelayNode {
  id: ID!
  field_set: FieldSetType!
  field_name: String!
  field_type: String!
  mandatory_flag: Boolean!
  field_length: Int
  column_no: Int!
  row_no: Int!
  active_flag: Boolean!
  default_value: String
  db_column: String
  decimals: Int
  picklist_source: String
  relation_module: String
  internal_desc: String
  identifier: String!
  module: String!
  regex: String
  field_data_value_set: [FieldDataValueType!]!
  node_description: String
  id_disambiguated: String
}

type FieldTypeConnection {
  pageInfo: PageInfo!
  edges: [FieldTypeEdge]!
  total_count: Int
}

type FieldTypeEdge {
  node: FieldType
  cursor: String!
}

scalar GenericScalar

scalar JSONString

scalar Upload

scalar Date

scalar DateTime

scalar Decimal


type Verify {
  payload: GenericScalar!
}

type DjangoDebug {
  sql: [DjangoDebugSQL]
}

type DjangoDebugSQL {
  vendor: String!
  alias: String!
  sql: String
  duration: Float!
  raw_sql: String!
  params: String!
  start_time: Float!
  stop_time: Float!
  is_slow: Boolean!
  is_select: Boolean!
  trans_id: String
  trans_status: String
  iso_level: String
  encoding: String
}

type Mutation {
  _debug: DjangoDebug
}

input SearchObjectType {
  and_filters: [SearchFieldObjectType]
  or_filters: [SearchFieldObjectType]
}

input SearchFieldObjectType {
  field: String
  of_type: String
  qs: String
}

type Query {
  demo(id: ID!): DemoType
  field(id: ID!): FieldType
  field_set(order: [String], filters: [SearchObjectType], offset: Int, before: String, after: String, first: Int, last: Int): FieldTypeConnection
  fieldset(id: ID!): FieldSetType
  fieldset_set(order: [String], filters: [SearchObjectType], offset: Int, before: String, after: String, first: Int, last: Int): FieldSetTypeConnection
  field_data_row(id: ID!): FieldDataRowType
  field_data_row_set(order: [String], filters: [SearchObjectType], offset: Int, before: String, after: String, first: Int, last: Int): FieldDataRowTypeConnection
}

interface BaseRelayNode {
  id: ID!
}
`
