type Query {
  User(id: String!, draft: Boolean): User
  Users(where: User_where, draft: Boolean, page: Int, limit: Int, sort: String): Users
  docAccessUser(id: String!): usersDocAccess
  meUser: usersMe
  initializedUser: Boolean
  Post(id: String!, draft: Boolean): Post
  Posts(where: Post_where, draft: Boolean, page: Int, limit: Int, sort: String): Posts
  docAccessPost(id: String!): postsDocAccess
  CustomId(id: Int!, draft: Boolean): CustomId
  CustomIds(where: CustomId_where, draft: Boolean, page: Int, limit: Int, sort: String): CustomIds
  docAccessCustomId(id: Int!): custom_idsDocAccess
  Relation(id: String!, draft: Boolean): Relation
  Relations(where: Relation_where, draft: Boolean, page: Int, limit: Int, sort: String): Relations
  docAccessRelation(id: String!): relationDocAccess
  Dummy(id: String!, draft: Boolean): Dummy
  Dummies(where: Dummy_where, draft: Boolean, page: Int, limit: Int, sort: String): Dummies
  docAccessDummy(id: String!): dummyDocAccess
  Preference(key: String): Preference
  Access: Access
}

type User {
  id: String
  updatedAt: DateTime
  createdAt: DateTime
  email: EmailAddress
  resetPasswordToken: String
  resetPasswordExpiration: DateTime
  loginAttempts: Float
  lockUntil: DateTime
  password: String!
}

"""
A date-time string at UTC, such as 2007-12-03T10:15:30Z, compliant with the `date-time` format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.
"""
scalar DateTime

"""
A field whose value conforms to the standard internet email address format as specified in HTML Spec: https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address.
"""
scalar EmailAddress @specifiedBy(url: "https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address")

type Users {
  docs: [User]
  totalDocs: Int
  offset: Int
  limit: Int
  totalPages: Int
  page: Int
  pagingCounter: Int
  hasPrevPage: Boolean
  hasNextPage: Boolean
  prevPage: Int
  nextPage: Int
}

input User_where {
  updatedAt: User_updatedAt_operator
  createdAt: User_createdAt_operator
  email: User_email_operator
  id: User_id_operator
  OR: [User_where_or]
  AND: [User_where_and]
}

input User_updatedAt_operator {
  equals: DateTime
  not_equals: DateTime
  greater_than_equal: DateTime
  greater_than: DateTime
  less_than_equal: DateTime
  less_than: DateTime
  like: DateTime
  exists: Boolean
}

input User_createdAt_operator {
  equals: DateTime
  not_equals: DateTime
  greater_than_equal: DateTime
  greater_than: DateTime
  less_than_equal: DateTime
  less_than: DateTime
  like: DateTime
  exists: Boolean
}

input User_email_operator {
  equals: EmailAddress
  not_equals: EmailAddress
  like: EmailAddress
  contains: EmailAddress
  in: [EmailAddress]
  not_in: [EmailAddress]
  all: [EmailAddress]
  exists: Boolean
}

input User_id_operator {
  equals: String
  not_equals: String
  like: String
  contains: String
  in: [String]
  not_in: [String]
  all: [String]
  exists: Boolean
}

input User_where_or {
  updatedAt: User_updatedAt_operator
  createdAt: User_createdAt_operator
  email: User_email_operator
  id: User_id_operator
}

input User_where_and {
  updatedAt: User_updatedAt_operator
  createdAt: User_createdAt_operator
  email: User_email_operator
  id: User_id_operator
}

type usersDocAccess {
  fields: UsersDocAccessFields
  create: UsersCreateDocAccess
  read: UsersReadDocAccess
  update: UsersUpdateDocAccess
  delete: UsersDeleteDocAccess
  unlock: UsersUnlockDocAccess
}

type UsersDocAccessFields {
  updatedAt: UsersDocAccessFields_updatedAt
  createdAt: UsersDocAccessFields_createdAt
  email: UsersDocAccessFields_email
  password: UsersDocAccessFields_password
}

type UsersDocAccessFields_updatedAt {
  create: UsersDocAccessFields_updatedAt_Create
  read: UsersDocAccessFields_updatedAt_Read
  update: UsersDocAccessFields_updatedAt_Update
  delete: UsersDocAccessFields_updatedAt_Delete
}

type UsersDocAccessFields_updatedAt_Create {
  permission: Boolean!
}

type UsersDocAccessFields_updatedAt_Read {
  permission: Boolean!
}

type UsersDocAccessFields_updatedAt_Update {
  permission: Boolean!
}

type UsersDocAccessFields_updatedAt_Delete {
  permission: Boolean!
}

type UsersDocAccessFields_createdAt {
  create: UsersDocAccessFields_createdAt_Create
  read: UsersDocAccessFields_createdAt_Read
  update: UsersDocAccessFields_createdAt_Update
  delete: UsersDocAccessFields_createdAt_Delete
}

type UsersDocAccessFields_createdAt_Create {
  permission: Boolean!
}

type UsersDocAccessFields_createdAt_Read {
  permission: Boolean!
}

type UsersDocAccessFields_createdAt_Update {
  permission: Boolean!
}

type UsersDocAccessFields_createdAt_Delete {
  permission: Boolean!
}

type UsersDocAccessFields_email {
  create: UsersDocAccessFields_email_Create
  read: UsersDocAccessFields_email_Read
  update: UsersDocAccessFields_email_Update
  delete: UsersDocAccessFields_email_Delete
}

type UsersDocAccessFields_email_Create {
  permission: Boolean!
}

type UsersDocAccessFields_email_Read {
  permission: Boolean!
}

type UsersDocAccessFields_email_Update {
  permission: Boolean!
}

type UsersDocAccessFields_email_Delete {
  permission: Boolean!
}

type UsersDocAccessFields_password {
  create: UsersDocAccessFields_password_Create
  read: UsersDocAccessFields_password_Read
  update: UsersDocAccessFields_password_Update
  delete: UsersDocAccessFields_password_Delete
}

type UsersDocAccessFields_password_Create {
  permission: Boolean!
}

type UsersDocAccessFields_password_Read {
  permission: Boolean!
}

type UsersDocAccessFields_password_Update {
  permission: Boolean!
}

type UsersDocAccessFields_password_Delete {
  permission: Boolean!
}

type UsersCreateDocAccess {
  permission: Boolean!
  where: JSONObject
}

"""
The `JSONObject` scalar type represents JSON objects as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf).
"""
scalar JSONObject

type UsersReadDocAccess {
  permission: Boolean!
  where: JSONObject
}

type UsersUpdateDocAccess {
  permission: Boolean!
  where: JSONObject
}

type UsersDeleteDocAccess {
  permission: Boolean!
  where: JSONObject
}

type UsersUnlockDocAccess {
  permission: Boolean!
  where: JSONObject
}

type usersMe {
  token: String
  user: User
  exp: Int
  collection: String
}

type Post {
  id: String
  title: String
  description: String
  number: Float
  min: Float
  relationField: Relation
  relationToCustomID: CustomId
  relationHasManyField: [Relation!]
  relationMultiRelationTo: Post_RelationMultiRelationTo_Relationship
  relationMultiRelationToHasMany: [Post_RelationMultiRelationToHasMany_Relationship!]
  A1: Post_A1
  B1: Post_B1
  C1: Post_C1
  D1: Post_D1
  updatedAt: DateTime
  createdAt: DateTime
}

type Relation {
  id: String
  name: String
  updatedAt: DateTime
  createdAt: DateTime
}

type CustomId {
  id: Float
  title: String
  updatedAt: DateTime
  createdAt: DateTime
}

type Post_RelationMultiRelationTo_Relationship {
  relationTo: Post_RelationMultiRelationTo_RelationTo
  value: Post_RelationMultiRelationTo
}

enum Post_RelationMultiRelationTo_RelationTo {
  relation
  dummy
}

union Post_RelationMultiRelationTo = Relation | Dummy

type Dummy {
  id: String
  name: String
  updatedAt: DateTime
  createdAt: DateTime
}

type Post_RelationMultiRelationToHasMany_Relationship {
  relationTo: Post_RelationMultiRelationToHasMany_RelationTo
  value: Post_RelationMultiRelationToHasMany
}

enum Post_RelationMultiRelationToHasMany_RelationTo {
  relation
  dummy
}

union Post_RelationMultiRelationToHasMany = Relation | Dummy

type Post_A1 {
  A2: String
}

type Post_B1 {
  B2: String
}

type Post_C1 {
  C2Text: String
  C2: Post_C1_C2
}

type Post_C1_C2 {
  C3: String
}

type Post_D1 {
  D2: Post_D1_D2
}

type Post_D1_D2 {
  D3: Post_D1_D2_D3
}

type Post_D1_D2_D3 {
  D4: String
}

type Posts {
  docs: [Post]
  totalDocs: Int
  offset: Int
  limit: Int
  totalPages: Int
  page: Int
  pagingCounter: Int
  hasPrevPage: Boolean
  hasNextPage: Boolean
  prevPage: Int
  nextPage: Int
}

input Post_where {
  title: Post_title_operator
  description: Post_description_operator
  number: Post_number_operator
  min: Post_min_operator
  relationField: Post_relationField_operator
  relationToCustomID: Post_relationToCustomID_operator
  relationHasManyField: Post_relationHasManyField_operator
  relationMultiRelationTo: Post_relationMultiRelationTo_Relation
  relationMultiRelationToHasMany: Post_relationMultiRelationToHasMany_Relation
  A1__A2: Post_A1__A2_operator
  B1__B2: Post_B1__B2_operator
  C1__C2Text: Post_C1__C2Text_operator
  C1__C2__C3: Post_C1__C2__C3_operator
  D1__D2__D3__D4: Post_D1__D2__D3__D4_operator
  updatedAt: Post_updatedAt_operator
  createdAt: Post_createdAt_operator
  id: Post_id_operator
  OR: [Post_where_or]
  AND: [Post_where_and]
}

input Post_title_operator {
  equals: String
  not_equals: String
  like: String
  contains: String
  in: [String]
  not_in: [String]
  all: [String]
  exists: Boolean
}

input Post_description_operator {
  equals: String
  not_equals: String
  like: String
  contains: String
  in: [String]
  not_in: [String]
  all: [String]
  exists: Boolean
}

input Post_number_operator {
  equals: Float
  not_equals: Float
  greater_than_equal: Float
  greater_than: Float
  less_than_equal: Float
  less_than: Float
  exists: Boolean
}

input Post_min_operator {
  equals: Float
  not_equals: Float
  greater_than_equal: Float
  greater_than: Float
  less_than_equal: Float
  less_than: Float
  exists: Boolean
}

input Post_relationField_operator {
  equals: String
  not_equals: String
  in: [String]
  not_in: [String]
  all: [String]
  exists: Boolean
}

input Post_relationToCustomID_operator {
  equals: String
  not_equals: String
  in: [String]
  not_in: [String]
  all: [String]
  exists: Boolean
}

input Post_relationHasManyField_operator {
  equals: String
  not_equals: String
  in: [String]
  not_in: [String]
  all: [String]
  exists: Boolean
}

input Post_relationMultiRelationTo_Relation {
  relationTo: Post_relationMultiRelationTo_Relation_RelationTo
  value: String
}

enum Post_relationMultiRelationTo_Relation_RelationTo {
  relation
  dummy
}

input Post_relationMultiRelationToHasMany_Relation {
  relationTo: Post_relationMultiRelationToHasMany_Relation_RelationTo
  value: String
}

enum Post_relationMultiRelationToHasMany_Relation_RelationTo {
  relation
  dummy
}

input Post_A1__A2_operator {
  equals: String
  not_equals: String
  like: String
  contains: String
  in: [String]
  not_in: [String]
  all: [String]
  exists: Boolean
}

input Post_B1__B2_operator {
  equals: String
  not_equals: String
  like: String
  contains: String
  in: [String]
  not_in: [String]
  all: [String]
  exists: Boolean
}

input Post_C1__C2Text_operator {
  equals: String
  not_equals: String
  like: String
  contains: String
  in: [String]
  not_in: [String]
  all: [String]
  exists: Boolean
}

input Post_C1__C2__C3_operator {
  equals: String
  not_equals: String
  like: String
  contains: String
  in: [String]
  not_in: [String]
  all: [String]
  exists: Boolean
}

input Post_D1__D2__D3__D4_operator {
  equals: String
  not_equals: String
  like: String
  contains: String
  in: [String]
  not_in: [String]
  all: [String]
  exists: Boolean
}

input Post_updatedAt_operator {
  equals: DateTime
  not_equals: DateTime
  greater_than_equal: DateTime
  greater_than: DateTime
  less_than_equal: DateTime
  less_than: DateTime
  like: DateTime
  exists: Boolean
}

input Post_createdAt_operator {
  equals: DateTime
  not_equals: DateTime
  greater_than_equal: DateTime
  greater_than: DateTime
  less_than_equal: DateTime
  less_than: DateTime
  like: DateTime
  exists: Boolean
}

input Post_id_operator {
  equals: String
  not_equals: String
  like: String
  contains: String
  in: [String]
  not_in: [String]
  all: [String]
  exists: Boolean
}

input Post_where_or {
  title: Post_title_operator
  description: Post_description_operator
  number: Post_number_operator
  min: Post_min_operator
  relationField: Post_relationField_operator
  relationToCustomID: Post_relationToCustomID_operator
  relationHasManyField: Post_relationHasManyField_operator
  relationMultiRelationTo: Post_relationMultiRelationTo_Relation
  relationMultiRelationToHasMany: Post_relationMultiRelationToHasMany_Relation
  A1__A2: Post_A1__A2_operator
  B1__B2: Post_B1__B2_operator
  C1__C2Text: Post_C1__C2Text_operator
  C1__C2__C3: Post_C1__C2__C3_operator
  D1__D2__D3__D4: Post_D1__D2__D3__D4_operator
  updatedAt: Post_updatedAt_operator
  createdAt: Post_createdAt_operator
  id: Post_id_operator
}

input Post_where_and {
  title: Post_title_operator
  description: Post_description_operator
  number: Post_number_operator
  min: Post_min_operator
  relationField: Post_relationField_operator
  relationToCustomID: Post_relationToCustomID_operator
  relationHasManyField: Post_relationHasManyField_operator
  relationMultiRelationTo: Post_relationMultiRelationTo_Relation
  relationMultiRelationToHasMany: Post_relationMultiRelationToHasMany_Relation
  A1__A2: Post_A1__A2_operator
  B1__B2: Post_B1__B2_operator
  C1__C2Text: Post_C1__C2Text_operator
  C1__C2__C3: Post_C1__C2__C3_operator
  D1__D2__D3__D4: Post_D1__D2__D3__D4_operator
  updatedAt: Post_updatedAt_operator
  createdAt: Post_createdAt_operator
  id: Post_id_operator
}

type postsDocAccess {
  fields: PostsDocAccessFields
  create: PostsCreateDocAccess
  read: PostsReadDocAccess
  update: PostsUpdateDocAccess
  delete: PostsDeleteDocAccess
}

type PostsDocAccessFields {
  title: PostsDocAccessFields_title
  description: PostsDocAccessFields_description
  number: PostsDocAccessFields_number
  min: PostsDocAccessFields_min
  relationField: PostsDocAccessFields_relationField
  relationToCustomID: PostsDocAccessFields_relationToCustomID
  relationHasManyField: PostsDocAccessFields_relationHasManyField
  relationMultiRelationTo: PostsDocAccessFields_relationMultiRelationTo
  relationMultiRelationToHasMany: PostsDocAccessFields_relationMultiRelationToHasMany
  A1: PostsDocAccessFields_A1
  B1: PostsDocAccessFields_B1
  C1: PostsDocAccessFields_C1
  D2: PostsDocAccessFields_D2
  updatedAt: PostsDocAccessFields_updatedAt
  createdAt: PostsDocAccessFields_createdAt
}

type PostsDocAccessFields_title {
  create: PostsDocAccessFields_title_Create
  read: PostsDocAccessFields_title_Read
  update: PostsDocAccessFields_title_Update
  delete: PostsDocAccessFields_title_Delete
}

type PostsDocAccessFields_title_Create {
  permission: Boolean!
}

type PostsDocAccessFields_title_Read {
  permission: Boolean!
}

type PostsDocAccessFields_title_Update {
  permission: Boolean!
}

type PostsDocAccessFields_title_Delete {
  permission: Boolean!
}

type PostsDocAccessFields_description {
  create: PostsDocAccessFields_description_Create
  read: PostsDocAccessFields_description_Read
  update: PostsDocAccessFields_description_Update
  delete: PostsDocAccessFields_description_Delete
}

type PostsDocAccessFields_description_Create {
  permission: Boolean!
}

type PostsDocAccessFields_description_Read {
  permission: Boolean!
}

type PostsDocAccessFields_description_Update {
  permission: Boolean!
}

type PostsDocAccessFields_description_Delete {
  permission: Boolean!
}

type PostsDocAccessFields_number {
  create: PostsDocAccessFields_number_Create
  read: PostsDocAccessFields_number_Read
  update: PostsDocAccessFields_number_Update
  delete: PostsDocAccessFields_number_Delete
}

type PostsDocAccessFields_number_Create {
  permission: Boolean!
}

type PostsDocAccessFields_number_Read {
  permission: Boolean!
}

type PostsDocAccessFields_number_Update {
  permission: Boolean!
}

type PostsDocAccessFields_number_Delete {
  permission: Boolean!
}

type PostsDocAccessFields_min {
  create: PostsDocAccessFields_min_Create
  read: PostsDocAccessFields_min_Read
  update: PostsDocAccessFields_min_Update
  delete: PostsDocAccessFields_min_Delete
}

type PostsDocAccessFields_min_Create {
  permission: Boolean!
}

type PostsDocAccessFields_min_Read {
  permission: Boolean!
}

type PostsDocAccessFields_min_Update {
  permission: Boolean!
}

type PostsDocAccessFields_min_Delete {
  permission: Boolean!
}

type PostsDocAccessFields_relationField {
  create: PostsDocAccessFields_relationField_Create
  read: PostsDocAccessFields_relationField_Read
  update: PostsDocAccessFields_relationField_Update
  delete: PostsDocAccessFields_relationField_Delete
}

type PostsDocAccessFields_relationField_Create {
  permission: Boolean!
}

type PostsDocAccessFields_relationField_Read {
  permission: Boolean!
}

type PostsDocAccessFields_relationField_Update {
  permission: Boolean!
}

type PostsDocAccessFields_relationField_Delete {
  permission: Boolean!
}

type PostsDocAccessFields_relationToCustomID {
  create: PostsDocAccessFields_relationToCustomID_Create
  read: PostsDocAccessFields_relationToCustomID_Read
  update: PostsDocAccessFields_relationToCustomID_Update
  delete: PostsDocAccessFields_relationToCustomID_Delete
}

type PostsDocAccessFields_relationToCustomID_Create {
  permission: Boolean!
}

type PostsDocAccessFields_relationToCustomID_Read {
  permission: Boolean!
}

type PostsDocAccessFields_relationToCustomID_Update {
  permission: Boolean!
}

type PostsDocAccessFields_relationToCustomID_Delete {
  permission: Boolean!
}

type PostsDocAccessFields_relationHasManyField {
  create: PostsDocAccessFields_relationHasManyField_Create
  read: PostsDocAccessFields_relationHasManyField_Read
  update: PostsDocAccessFields_relationHasManyField_Update
  delete: PostsDocAccessFields_relationHasManyField_Delete
}

type PostsDocAccessFields_relationHasManyField_Create {
  permission: Boolean!
}

type PostsDocAccessFields_relationHasManyField_Read {
  permission: Boolean!
}

type PostsDocAccessFields_relationHasManyField_Update {
  permission: Boolean!
}

type PostsDocAccessFields_relationHasManyField_Delete {
  permission: Boolean!
}

type PostsDocAccessFields_relationMultiRelationTo {
  create: PostsDocAccessFields_relationMultiRelationTo_Create
  read: PostsDocAccessFields_relationMultiRelationTo_Read
  update: PostsDocAccessFields_relationMultiRelationTo_Update
  delete: PostsDocAccessFields_relationMultiRelationTo_Delete
}

type PostsDocAccessFields_relationMultiRelationTo_Create {
  permission: Boolean!
}

type PostsDocAccessFields_relationMultiRelationTo_Read {
  permission: Boolean!
}

type PostsDocAccessFields_relationMultiRelationTo_Update {
  permission: Boolean!
}

type PostsDocAccessFields_relationMultiRelationTo_Delete {
  permission: Boolean!
}

type PostsDocAccessFields_relationMultiRelationToHasMany {
  create: PostsDocAccessFields_relationMultiRelationToHasMany_Create
  read: PostsDocAccessFields_relationMultiRelationToHasMany_Read
  update: PostsDocAccessFields_relationMultiRelationToHasMany_Update
  delete: PostsDocAccessFields_relationMultiRelationToHasMany_Delete
}

type PostsDocAccessFields_relationMultiRelationToHasMany_Create {
  permission: Boolean!
}

type PostsDocAccessFields_relationMultiRelationToHasMany_Read {
  permission: Boolean!
}

type PostsDocAccessFields_relationMultiRelationToHasMany_Update {
  permission: Boolean!
}

type PostsDocAccessFields_relationMultiRelationToHasMany_Delete {
  permission: Boolean!
}

type PostsDocAccessFields_A1 {
  create: PostsDocAccessFields_A1_Create
  read: PostsDocAccessFields_A1_Read
  update: PostsDocAccessFields_A1_Update
  delete: PostsDocAccessFields_A1_Delete
  fields: PostsDocAccessFields_A1_Fields
}

type PostsDocAccessFields_A1_Create {
  permission: Boolean!
}

type PostsDocAccessFields_A1_Read {
  permission: Boolean!
}

type PostsDocAccessFields_A1_Update {
  permission: Boolean!
}

type PostsDocAccessFields_A1_Delete {
  permission: Boolean!
}

type PostsDocAccessFields_A1_Fields {
  A2: PostsDocAccessFields_A1_A2
}

type PostsDocAccessFields_A1_A2 {
  create: PostsDocAccessFields_A1_A2_Create
  read: PostsDocAccessFields_A1_A2_Read
  update: PostsDocAccessFields_A1_A2_Update
  delete: PostsDocAccessFields_A1_A2_Delete
}

type PostsDocAccessFields_A1_A2_Create {
  permission: Boolean!
}

type PostsDocAccessFields_A1_A2_Read {
  permission: Boolean!
}

type PostsDocAccessFields_A1_A2_Update {
  permission: Boolean!
}

type PostsDocAccessFields_A1_A2_Delete {
  permission: Boolean!
}

type PostsDocAccessFields_B1 {
  create: PostsDocAccessFields_B1_Create
  read: PostsDocAccessFields_B1_Read
  update: PostsDocAccessFields_B1_Update
  delete: PostsDocAccessFields_B1_Delete
  fields: PostsDocAccessFields_B1_Fields
}

type PostsDocAccessFields_B1_Create {
  permission: Boolean!
}

type PostsDocAccessFields_B1_Read {
  permission: Boolean!
}

type PostsDocAccessFields_B1_Update {
  permission: Boolean!
}

type PostsDocAccessFields_B1_Delete {
  permission: Boolean!
}

type PostsDocAccessFields_B1_Fields {
  B2: PostsDocAccessFields_B1_B2
}

type PostsDocAccessFields_B1_B2 {
  create: PostsDocAccessFields_B1_B2_Create
  read: PostsDocAccessFields_B1_B2_Read
  update: PostsDocAccessFields_B1_B2_Update
  delete: PostsDocAccessFields_B1_B2_Delete
}

type PostsDocAccessFields_B1_B2_Create {
  permission: Boolean!
}

type PostsDocAccessFields_B1_B2_Read {
  permission: Boolean!
}

type PostsDocAccessFields_B1_B2_Update {
  permission: Boolean!
}

type PostsDocAccessFields_B1_B2_Delete {
  permission: Boolean!
}

type PostsDocAccessFields_C1 {
  create: PostsDocAccessFields_C1_Create
  read: PostsDocAccessFields_C1_Read
  update: PostsDocAccessFields_C1_Update
  delete: PostsDocAccessFields_C1_Delete
  fields: PostsDocAccessFields_C1_Fields
}

type PostsDocAccessFields_C1_Create {
  permission: Boolean!
}

type PostsDocAccessFields_C1_Read {
  permission: Boolean!
}

type PostsDocAccessFields_C1_Update {
  permission: Boolean!
}

type PostsDocAccessFields_C1_Delete {
  permission: Boolean!
}

type PostsDocAccessFields_C1_Fields {
  C2Text: PostsDocAccessFields_C1_C2Text
  C2: PostsDocAccessFields_C1_C2
}

type PostsDocAccessFields_C1_C2Text {
  create: PostsDocAccessFields_C1_C2Text_Create
  read: PostsDocAccessFields_C1_C2Text_Read
  update: PostsDocAccessFields_C1_C2Text_Update
  delete: PostsDocAccessFields_C1_C2Text_Delete
}

type PostsDocAccessFields_C1_C2Text_Create {
  permission: Boolean!
}

type PostsDocAccessFields_C1_C2Text_Read {
  permission: Boolean!
}

type PostsDocAccessFields_C1_C2Text_Update {
  permission: Boolean!
}

type PostsDocAccessFields_C1_C2Text_Delete {
  permission: Boolean!
}

type PostsDocAccessFields_C1_C2 {
  create: PostsDocAccessFields_C1_C2_Create
  read: PostsDocAccessFields_C1_C2_Read
  update: PostsDocAccessFields_C1_C2_Update
  delete: PostsDocAccessFields_C1_C2_Delete
  fields: PostsDocAccessFields_C1_C2_Fields
}

type PostsDocAccessFields_C1_C2_Create {
  permission: Boolean!
}

type PostsDocAccessFields_C1_C2_Read {
  permission: Boolean!
}

type PostsDocAccessFields_C1_C2_Update {
  permission: Boolean!
}

type PostsDocAccessFields_C1_C2_Delete {
  permission: Boolean!
}

type PostsDocAccessFields_C1_C2_Fields {
  C3: PostsDocAccessFields_C1_C2_C3
}

type PostsDocAccessFields_C1_C2_C3 {
  create: PostsDocAccessFields_C1_C2_C3_Create
  read: PostsDocAccessFields_C1_C2_C3_Read
  update: PostsDocAccessFields_C1_C2_C3_Update
  delete: PostsDocAccessFields_C1_C2_C3_Delete
}

type PostsDocAccessFields_C1_C2_C3_Create {
  permission: Boolean!
}

type PostsDocAccessFields_C1_C2_C3_Read {
  permission: Boolean!
}

type PostsDocAccessFields_C1_C2_C3_Update {
  permission: Boolean!
}

type PostsDocAccessFields_C1_C2_C3_Delete {
  permission: Boolean!
}

type PostsDocAccessFields_D2 {
  create: PostsDocAccessFields_D2_Create
  read: PostsDocAccessFields_D2_Read
  update: PostsDocAccessFields_D2_Update
  delete: PostsDocAccessFields_D2_Delete
  fields: PostsDocAccessFields_D2_Fields
}

type PostsDocAccessFields_D2_Create {
  permission: Boolean!
}

type PostsDocAccessFields_D2_Read {
  permission: Boolean!
}

type PostsDocAccessFields_D2_Update {
  permission: Boolean!
}

type PostsDocAccessFields_D2_Delete {
  permission: Boolean!
}

type PostsDocAccessFields_D2_Fields {
  D3: PostsDocAccessFields_D2_D3
}

type PostsDocAccessFields_D2_D3 {
  create: PostsDocAccessFields_D2_D3_Create
  read: PostsDocAccessFields_D2_D3_Read
  update: PostsDocAccessFields_D2_D3_Update
  delete: PostsDocAccessFields_D2_D3_Delete
  fields: PostsDocAccessFields_D2_D3_Fields
}

type PostsDocAccessFields_D2_D3_Create {
  permission: Boolean!
}

type PostsDocAccessFields_D2_D3_Read {
  permission: Boolean!
}

type PostsDocAccessFields_D2_D3_Update {
  permission: Boolean!
}

type PostsDocAccessFields_D2_D3_Delete {
  permission: Boolean!
}

type PostsDocAccessFields_D2_D3_Fields {
  D4: PostsDocAccessFields_D2_D3_D4
}

type PostsDocAccessFields_D2_D3_D4 {
  create: PostsDocAccessFields_D2_D3_D4_Create
  read: PostsDocAccessFields_D2_D3_D4_Read
  update: PostsDocAccessFields_D2_D3_D4_Update
  delete: PostsDocAccessFields_D2_D3_D4_Delete
}

type PostsDocAccessFields_D2_D3_D4_Create {
  permission: Boolean!
}

type PostsDocAccessFields_D2_D3_D4_Read {
  permission: Boolean!
}

type PostsDocAccessFields_D2_D3_D4_Update {
  permission: Boolean!
}

type PostsDocAccessFields_D2_D3_D4_Delete {
  permission: Boolean!
}

type PostsDocAccessFields_updatedAt {
  create: PostsDocAccessFields_updatedAt_Create
  read: PostsDocAccessFields_updatedAt_Read
  update: PostsDocAccessFields_updatedAt_Update
  delete: PostsDocAccessFields_updatedAt_Delete
}

type PostsDocAccessFields_updatedAt_Create {
  permission: Boolean!
}

type PostsDocAccessFields_updatedAt_Read {
  permission: Boolean!
}

type PostsDocAccessFields_updatedAt_Update {
  permission: Boolean!
}

type PostsDocAccessFields_updatedAt_Delete {
  permission: Boolean!
}

type PostsDocAccessFields_createdAt {
  create: PostsDocAccessFields_createdAt_Create
  read: PostsDocAccessFields_createdAt_Read
  update: PostsDocAccessFields_createdAt_Update
  delete: PostsDocAccessFields_createdAt_Delete
}

type PostsDocAccessFields_createdAt_Create {
  permission: Boolean!
}

type PostsDocAccessFields_createdAt_Read {
  permission: Boolean!
}

type PostsDocAccessFields_createdAt_Update {
  permission: Boolean!
}

type PostsDocAccessFields_createdAt_Delete {
  permission: Boolean!
}

type PostsCreateDocAccess {
  permission: Boolean!
  where: JSONObject
}

type PostsReadDocAccess {
  permission: Boolean!
  where: JSONObject
}

type PostsUpdateDocAccess {
  permission: Boolean!
  where: JSONObject
}

type PostsDeleteDocAccess {
  permission: Boolean!
  where: JSONObject
}

type CustomIds {
  docs: [CustomId]
  totalDocs: Int
  offset: Int
  limit: Int
  totalPages: Int
  page: Int
  pagingCounter: Int
  hasPrevPage: Boolean
  hasNextPage: Boolean
  prevPage: Int
  nextPage: Int
}

input CustomId_where {
  id: CustomId_id_operator
  title: CustomId_title_operator
  updatedAt: CustomId_updatedAt_operator
  createdAt: CustomId_createdAt_operator
  OR: [CustomId_where_or]
  AND: [CustomId_where_and]
}

input CustomId_id_operator {
  equals: Float
  not_equals: Float
  greater_than_equal: Float
  greater_than: Float
  less_than_equal: Float
  less_than: Float
  exists: Boolean
}

input CustomId_title_operator {
  equals: String
  not_equals: String
  like: String
  contains: String
  in: [String]
  not_in: [String]
  all: [String]
  exists: Boolean
}

input CustomId_updatedAt_operator {
  equals: DateTime
  not_equals: DateTime
  greater_than_equal: DateTime
  greater_than: DateTime
  less_than_equal: DateTime
  less_than: DateTime
  like: DateTime
  exists: Boolean
}

input CustomId_createdAt_operator {
  equals: DateTime
  not_equals: DateTime
  greater_than_equal: DateTime
  greater_than: DateTime
  less_than_equal: DateTime
  less_than: DateTime
  like: DateTime
  exists: Boolean
}

input CustomId_where_or {
  id: CustomId_id_operator
  title: CustomId_title_operator
  updatedAt: CustomId_updatedAt_operator
  createdAt: CustomId_createdAt_operator
}

input CustomId_where_and {
  id: CustomId_id_operator
  title: CustomId_title_operator
  updatedAt: CustomId_updatedAt_operator
  createdAt: CustomId_createdAt_operator
}

type custom_idsDocAccess {
  fields: CustomIdsDocAccessFields
  create: CustomIdsCreateDocAccess
  read: CustomIdsReadDocAccess
  update: CustomIdsUpdateDocAccess
  delete: CustomIdsDeleteDocAccess
}

type CustomIdsDocAccessFields {
  id: CustomIdsDocAccessFields_id
  title: CustomIdsDocAccessFields_title
  updatedAt: CustomIdsDocAccessFields_updatedAt
  createdAt: CustomIdsDocAccessFields_createdAt
}

type CustomIdsDocAccessFields_id {
  create: CustomIdsDocAccessFields_id_Create
  read: CustomIdsDocAccessFields_id_Read
  update: CustomIdsDocAccessFields_id_Update
  delete: CustomIdsDocAccessFields_id_Delete
}

type CustomIdsDocAccessFields_id_Create {
  permission: Boolean!
}

type CustomIdsDocAccessFields_id_Read {
  permission: Boolean!
}

type CustomIdsDocAccessFields_id_Update {
  permission: Boolean!
}

type CustomIdsDocAccessFields_id_Delete {
  permission: Boolean!
}

type CustomIdsDocAccessFields_title {
  create: CustomIdsDocAccessFields_title_Create
  read: CustomIdsDocAccessFields_title_Read
  update: CustomIdsDocAccessFields_title_Update
  delete: CustomIdsDocAccessFields_title_Delete
}

type CustomIdsDocAccessFields_title_Create {
  permission: Boolean!
}

type CustomIdsDocAccessFields_title_Read {
  permission: Boolean!
}

type CustomIdsDocAccessFields_title_Update {
  permission: Boolean!
}

type CustomIdsDocAccessFields_title_Delete {
  permission: Boolean!
}

type CustomIdsDocAccessFields_updatedAt {
  create: CustomIdsDocAccessFields_updatedAt_Create
  read: CustomIdsDocAccessFields_updatedAt_Read
  update: CustomIdsDocAccessFields_updatedAt_Update
  delete: CustomIdsDocAccessFields_updatedAt_Delete
}

type CustomIdsDocAccessFields_updatedAt_Create {
  permission: Boolean!
}

type CustomIdsDocAccessFields_updatedAt_Read {
  permission: Boolean!
}

type CustomIdsDocAccessFields_updatedAt_Update {
  permission: Boolean!
}

type CustomIdsDocAccessFields_updatedAt_Delete {
  permission: Boolean!
}

type CustomIdsDocAccessFields_createdAt {
  create: CustomIdsDocAccessFields_createdAt_Create
  read: CustomIdsDocAccessFields_createdAt_Read
  update: CustomIdsDocAccessFields_createdAt_Update
  delete: CustomIdsDocAccessFields_createdAt_Delete
}

type CustomIdsDocAccessFields_createdAt_Create {
  permission: Boolean!
}

type CustomIdsDocAccessFields_createdAt_Read {
  permission: Boolean!
}

type CustomIdsDocAccessFields_createdAt_Update {
  permission: Boolean!
}

type CustomIdsDocAccessFields_createdAt_Delete {
  permission: Boolean!
}

type CustomIdsCreateDocAccess {
  permission: Boolean!
  where: JSONObject
}

type CustomIdsReadDocAccess {
  permission: Boolean!
  where: JSONObject
}

type CustomIdsUpdateDocAccess {
  permission: Boolean!
  where: JSONObject
}

type CustomIdsDeleteDocAccess {
  permission: Boolean!
  where: JSONObject
}

type Relations {
  docs: [Relation]
  totalDocs: Int
  offset: Int
  limit: Int
  totalPages: Int
  page: Int
  pagingCounter: Int
  hasPrevPage: Boolean
  hasNextPage: Boolean
  prevPage: Int
  nextPage: Int
}

input Relation_where {
  name: Relation_name_operator
  updatedAt: Relation_updatedAt_operator
  createdAt: Relation_createdAt_operator
  id: Relation_id_operator
  OR: [Relation_where_or]
  AND: [Relation_where_and]
}

input Relation_name_operator {
  equals: String
  not_equals: String
  like: String
  contains: String
  in: [String]
  not_in: [String]
  all: [String]
  exists: Boolean
}

input Relation_updatedAt_operator {
  equals: DateTime
  not_equals: DateTime
  greater_than_equal: DateTime
  greater_than: DateTime
  less_than_equal: DateTime
  less_than: DateTime
  like: DateTime
  exists: Boolean
}

input Relation_createdAt_operator {
  equals: DateTime
  not_equals: DateTime
  greater_than_equal: DateTime
  greater_than: DateTime
  less_than_equal: DateTime
  less_than: DateTime
  like: DateTime
  exists: Boolean
}

input Relation_id_operator {
  equals: String
  not_equals: String
  like: String
  contains: String
  in: [String]
  not_in: [String]
  all: [String]
  exists: Boolean
}

input Relation_where_or {
  name: Relation_name_operator
  updatedAt: Relation_updatedAt_operator
  createdAt: Relation_createdAt_operator
  id: Relation_id_operator
}

input Relation_where_and {
  name: Relation_name_operator
  updatedAt: Relation_updatedAt_operator
  createdAt: Relation_createdAt_operator
  id: Relation_id_operator
}

type relationDocAccess {
  fields: RelationDocAccessFields
  create: RelationCreateDocAccess
  read: RelationReadDocAccess
  update: RelationUpdateDocAccess
  delete: RelationDeleteDocAccess
}

type RelationDocAccessFields {
  name: RelationDocAccessFields_name
  updatedAt: RelationDocAccessFields_updatedAt
  createdAt: RelationDocAccessFields_createdAt
}

type RelationDocAccessFields_name {
  create: RelationDocAccessFields_name_Create
  read: RelationDocAccessFields_name_Read
  update: RelationDocAccessFields_name_Update
  delete: RelationDocAccessFields_name_Delete
}

type RelationDocAccessFields_name_Create {
  permission: Boolean!
}

type RelationDocAccessFields_name_Read {
  permission: Boolean!
}

type RelationDocAccessFields_name_Update {
  permission: Boolean!
}

type RelationDocAccessFields_name_Delete {
  permission: Boolean!
}

type RelationDocAccessFields_updatedAt {
  create: RelationDocAccessFields_updatedAt_Create
  read: RelationDocAccessFields_updatedAt_Read
  update: RelationDocAccessFields_updatedAt_Update
  delete: RelationDocAccessFields_updatedAt_Delete
}

type RelationDocAccessFields_updatedAt_Create {
  permission: Boolean!
}

type RelationDocAccessFields_updatedAt_Read {
  permission: Boolean!
}

type RelationDocAccessFields_updatedAt_Update {
  permission: Boolean!
}

type RelationDocAccessFields_updatedAt_Delete {
  permission: Boolean!
}

type RelationDocAccessFields_createdAt {
  create: RelationDocAccessFields_createdAt_Create
  read: RelationDocAccessFields_createdAt_Read
  update: RelationDocAccessFields_createdAt_Update
  delete: RelationDocAccessFields_createdAt_Delete
}

type RelationDocAccessFields_createdAt_Create {
  permission: Boolean!
}

type RelationDocAccessFields_createdAt_Read {
  permission: Boolean!
}

type RelationDocAccessFields_createdAt_Update {
  permission: Boolean!
}

type RelationDocAccessFields_createdAt_Delete {
  permission: Boolean!
}

type RelationCreateDocAccess {
  permission: Boolean!
  where: JSONObject
}

type RelationReadDocAccess {
  permission: Boolean!
  where: JSONObject
}

type RelationUpdateDocAccess {
  permission: Boolean!
  where: JSONObject
}

type RelationDeleteDocAccess {
  permission: Boolean!
  where: JSONObject
}

type Dummies {
  docs: [Dummy]
  totalDocs: Int
  offset: Int
  limit: Int
  totalPages: Int
  page: Int
  pagingCounter: Int
  hasPrevPage: Boolean
  hasNextPage: Boolean
  prevPage: Int
  nextPage: Int
}

input Dummy_where {
  name: Dummy_name_operator
  updatedAt: Dummy_updatedAt_operator
  createdAt: Dummy_createdAt_operator
  id: Dummy_id_operator
  OR: [Dummy_where_or]
  AND: [Dummy_where_and]
}

input Dummy_name_operator {
  equals: String
  not_equals: String
  like: String
  contains: String
  in: [String]
  not_in: [String]
  all: [String]
  exists: Boolean
}

input Dummy_updatedAt_operator {
  equals: DateTime
  not_equals: DateTime
  greater_than_equal: DateTime
  greater_than: DateTime
  less_than_equal: DateTime
  less_than: DateTime
  like: DateTime
  exists: Boolean
}

input Dummy_createdAt_operator {
  equals: DateTime
  not_equals: DateTime
  greater_than_equal: DateTime
  greater_than: DateTime
  less_than_equal: DateTime
  less_than: DateTime
  like: DateTime
  exists: Boolean
}

input Dummy_id_operator {
  equals: String
  not_equals: String
  like: String
  contains: String
  in: [String]
  not_in: [String]
  all: [String]
  exists: Boolean
}

input Dummy_where_or {
  name: Dummy_name_operator
  updatedAt: Dummy_updatedAt_operator
  createdAt: Dummy_createdAt_operator
  id: Dummy_id_operator
}

input Dummy_where_and {
  name: Dummy_name_operator
  updatedAt: Dummy_updatedAt_operator
  createdAt: Dummy_createdAt_operator
  id: Dummy_id_operator
}

type dummyDocAccess {
  fields: DummyDocAccessFields
  create: DummyCreateDocAccess
  read: DummyReadDocAccess
  update: DummyUpdateDocAccess
  delete: DummyDeleteDocAccess
}

type DummyDocAccessFields {
  name: DummyDocAccessFields_name
  updatedAt: DummyDocAccessFields_updatedAt
  createdAt: DummyDocAccessFields_createdAt
}

type DummyDocAccessFields_name {
  create: DummyDocAccessFields_name_Create
  read: DummyDocAccessFields_name_Read
  update: DummyDocAccessFields_name_Update
  delete: DummyDocAccessFields_name_Delete
}

type DummyDocAccessFields_name_Create {
  permission: Boolean!
}

type DummyDocAccessFields_name_Read {
  permission: Boolean!
}

type DummyDocAccessFields_name_Update {
  permission: Boolean!
}

type DummyDocAccessFields_name_Delete {
  permission: Boolean!
}

type DummyDocAccessFields_updatedAt {
  create: DummyDocAccessFields_updatedAt_Create
  read: DummyDocAccessFields_updatedAt_Read
  update: DummyDocAccessFields_updatedAt_Update
  delete: DummyDocAccessFields_updatedAt_Delete
}

type DummyDocAccessFields_updatedAt_Create {
  permission: Boolean!
}

type DummyDocAccessFields_updatedAt_Read {
  permission: Boolean!
}

type DummyDocAccessFields_updatedAt_Update {
  permission: Boolean!
}

type DummyDocAccessFields_updatedAt_Delete {
  permission: Boolean!
}

type DummyDocAccessFields_createdAt {
  create: DummyDocAccessFields_createdAt_Create
  read: DummyDocAccessFields_createdAt_Read
  update: DummyDocAccessFields_createdAt_Update
  delete: DummyDocAccessFields_createdAt_Delete
}

type DummyDocAccessFields_createdAt_Create {
  permission: Boolean!
}

type DummyDocAccessFields_createdAt_Read {
  permission: Boolean!
}

type DummyDocAccessFields_createdAt_Update {
  permission: Boolean!
}

type DummyDocAccessFields_createdAt_Delete {
  permission: Boolean!
}

type DummyCreateDocAccess {
  permission: Boolean!
  where: JSONObject
}

type DummyReadDocAccess {
  permission: Boolean!
  where: JSONObject
}

type DummyUpdateDocAccess {
  permission: Boolean!
  where: JSONObject
}

type DummyDeleteDocAccess {
  permission: Boolean!
  where: JSONObject
}

type Preference {
  key: String!
  value: JSON
  createdAt: DateTime!
  updatedAt: DateTime!
}

"""
The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf).
"""
scalar JSON

type Access {
  canAccessAdmin: Boolean!
  users: usersAccess
  posts: postsAccess
  custom_ids: custom_idsAccess
  relation: relationAccess
  dummy: dummyAccess
}

type usersAccess {
  fields: UsersFields
  create: UsersCreateAccess
  read: UsersReadAccess
  update: UsersUpdateAccess
  delete: UsersDeleteAccess
  unlock: UsersUnlockAccess
}

type UsersFields {
  updatedAt: UsersFields_updatedAt
  createdAt: UsersFields_createdAt
  email: UsersFields_email
  password: UsersFields_password
}

type UsersFields_updatedAt {
  create: UsersFields_updatedAt_Create
  read: UsersFields_updatedAt_Read
  update: UsersFields_updatedAt_Update
  delete: UsersFields_updatedAt_Delete
}

type UsersFields_updatedAt_Create {
  permission: Boolean!
}

type UsersFields_updatedAt_Read {
  permission: Boolean!
}

type UsersFields_updatedAt_Update {
  permission: Boolean!
}

type UsersFields_updatedAt_Delete {
  permission: Boolean!
}

type UsersFields_createdAt {
  create: UsersFields_createdAt_Create
  read: UsersFields_createdAt_Read
  update: UsersFields_createdAt_Update
  delete: UsersFields_createdAt_Delete
}

type UsersFields_createdAt_Create {
  permission: Boolean!
}

type UsersFields_createdAt_Read {
  permission: Boolean!
}

type UsersFields_createdAt_Update {
  permission: Boolean!
}

type UsersFields_createdAt_Delete {
  permission: Boolean!
}

type UsersFields_email {
  create: UsersFields_email_Create
  read: UsersFields_email_Read
  update: UsersFields_email_Update
  delete: UsersFields_email_Delete
}

type UsersFields_email_Create {
  permission: Boolean!
}

type UsersFields_email_Read {
  permission: Boolean!
}

type UsersFields_email_Update {
  permission: Boolean!
}

type UsersFields_email_Delete {
  permission: Boolean!
}

type UsersFields_password {
  create: UsersFields_password_Create
  read: UsersFields_password_Read
  update: UsersFields_password_Update
  delete: UsersFields_password_Delete
}

type UsersFields_password_Create {
  permission: Boolean!
}

type UsersFields_password_Read {
  permission: Boolean!
}

type UsersFields_password_Update {
  permission: Boolean!
}

type UsersFields_password_Delete {
  permission: Boolean!
}

type UsersCreateAccess {
  permission: Boolean!
  where: JSONObject
}

type UsersReadAccess {
  permission: Boolean!
  where: JSONObject
}

type UsersUpdateAccess {
  permission: Boolean!
  where: JSONObject
}

type UsersDeleteAccess {
  permission: Boolean!
  where: JSONObject
}

type UsersUnlockAccess {
  permission: Boolean!
  where: JSONObject
}

type postsAccess {
  fields: PostsFields
  create: PostsCreateAccess
  read: PostsReadAccess
  update: PostsUpdateAccess
  delete: PostsDeleteAccess
}

type PostsFields {
  title: PostsFields_title
  description: PostsFields_description
  number: PostsFields_number
  min: PostsFields_min
  relationField: PostsFields_relationField
  relationToCustomID: PostsFields_relationToCustomID
  relationHasManyField: PostsFields_relationHasManyField
  relationMultiRelationTo: PostsFields_relationMultiRelationTo
  relationMultiRelationToHasMany: PostsFields_relationMultiRelationToHasMany
  A1: PostsFields_A1
  B1: PostsFields_B1
  C1: PostsFields_C1
  D2: PostsFields_D2
  updatedAt: PostsFields_updatedAt
  createdAt: PostsFields_createdAt
}

type PostsFields_title {
  create: PostsFields_title_Create
  read: PostsFields_title_Read
  update: PostsFields_title_Update
  delete: PostsFields_title_Delete
}

type PostsFields_title_Create {
  permission: Boolean!
}

type PostsFields_title_Read {
  permission: Boolean!
}

type PostsFields_title_Update {
  permission: Boolean!
}

type PostsFields_title_Delete {
  permission: Boolean!
}

type PostsFields_description {
  create: PostsFields_description_Create
  read: PostsFields_description_Read
  update: PostsFields_description_Update
  delete: PostsFields_description_Delete
}

type PostsFields_description_Create {
  permission: Boolean!
}

type PostsFields_description_Read {
  permission: Boolean!
}

type PostsFields_description_Update {
  permission: Boolean!
}

type PostsFields_description_Delete {
  permission: Boolean!
}

type PostsFields_number {
  create: PostsFields_number_Create
  read: PostsFields_number_Read
  update: PostsFields_number_Update
  delete: PostsFields_number_Delete
}

type PostsFields_number_Create {
  permission: Boolean!
}

type PostsFields_number_Read {
  permission: Boolean!
}

type PostsFields_number_Update {
  permission: Boolean!
}

type PostsFields_number_Delete {
  permission: Boolean!
}

type PostsFields_min {
  create: PostsFields_min_Create
  read: PostsFields_min_Read
  update: PostsFields_min_Update
  delete: PostsFields_min_Delete
}

type PostsFields_min_Create {
  permission: Boolean!
}

type PostsFields_min_Read {
  permission: Boolean!
}

type PostsFields_min_Update {
  permission: Boolean!
}

type PostsFields_min_Delete {
  permission: Boolean!
}

type PostsFields_relationField {
  create: PostsFields_relationField_Create
  read: PostsFields_relationField_Read
  update: PostsFields_relationField_Update
  delete: PostsFields_relationField_Delete
}

type PostsFields_relationField_Create {
  permission: Boolean!
}

type PostsFields_relationField_Read {
  permission: Boolean!
}

type PostsFields_relationField_Update {
  permission: Boolean!
}

type PostsFields_relationField_Delete {
  permission: Boolean!
}

type PostsFields_relationToCustomID {
  create: PostsFields_relationToCustomID_Create
  read: PostsFields_relationToCustomID_Read
  update: PostsFields_relationToCustomID_Update
  delete: PostsFields_relationToCustomID_Delete
}

type PostsFields_relationToCustomID_Create {
  permission: Boolean!
}

type PostsFields_relationToCustomID_Read {
  permission: Boolean!
}

type PostsFields_relationToCustomID_Update {
  permission: Boolean!
}

type PostsFields_relationToCustomID_Delete {
  permission: Boolean!
}

type PostsFields_relationHasManyField {
  create: PostsFields_relationHasManyField_Create
  read: PostsFields_relationHasManyField_Read
  update: PostsFields_relationHasManyField_Update
  delete: PostsFields_relationHasManyField_Delete
}

type PostsFields_relationHasManyField_Create {
  permission: Boolean!
}

type PostsFields_relationHasManyField_Read {
  permission: Boolean!
}

type PostsFields_relationHasManyField_Update {
  permission: Boolean!
}

type PostsFields_relationHasManyField_Delete {
  permission: Boolean!
}

type PostsFields_relationMultiRelationTo {
  create: PostsFields_relationMultiRelationTo_Create
  read: PostsFields_relationMultiRelationTo_Read
  update: PostsFields_relationMultiRelationTo_Update
  delete: PostsFields_relationMultiRelationTo_Delete
}

type PostsFields_relationMultiRelationTo_Create {
  permission: Boolean!
}

type PostsFields_relationMultiRelationTo_Read {
  permission: Boolean!
}

type PostsFields_relationMultiRelationTo_Update {
  permission: Boolean!
}

type PostsFields_relationMultiRelationTo_Delete {
  permission: Boolean!
}

type PostsFields_relationMultiRelationToHasMany {
  create: PostsFields_relationMultiRelationToHasMany_Create
  read: PostsFields_relationMultiRelationToHasMany_Read
  update: PostsFields_relationMultiRelationToHasMany_Update
  delete: PostsFields_relationMultiRelationToHasMany_Delete
}

type PostsFields_relationMultiRelationToHasMany_Create {
  permission: Boolean!
}

type PostsFields_relationMultiRelationToHasMany_Read {
  permission: Boolean!
}

type PostsFields_relationMultiRelationToHasMany_Update {
  permission: Boolean!
}

type PostsFields_relationMultiRelationToHasMany_Delete {
  permission: Boolean!
}

type PostsFields_A1 {
  create: PostsFields_A1_Create
  read: PostsFields_A1_Read
  update: PostsFields_A1_Update
  delete: PostsFields_A1_Delete
  fields: PostsFields_A1_Fields
}

type PostsFields_A1_Create {
  permission: Boolean!
}

type PostsFields_A1_Read {
  permission: Boolean!
}

type PostsFields_A1_Update {
  permission: Boolean!
}

type PostsFields_A1_Delete {
  permission: Boolean!
}

type PostsFields_A1_Fields {
  A2: PostsFields_A1_A2
}

type PostsFields_A1_A2 {
  create: PostsFields_A1_A2_Create
  read: PostsFields_A1_A2_Read
  update: PostsFields_A1_A2_Update
  delete: PostsFields_A1_A2_Delete
}

type PostsFields_A1_A2_Create {
  permission: Boolean!
}

type PostsFields_A1_A2_Read {
  permission: Boolean!
}

type PostsFields_A1_A2_Update {
  permission: Boolean!
}

type PostsFields_A1_A2_Delete {
  permission: Boolean!
}

type PostsFields_B1 {
  create: PostsFields_B1_Create
  read: PostsFields_B1_Read
  update: PostsFields_B1_Update
  delete: PostsFields_B1_Delete
  fields: PostsFields_B1_Fields
}

type PostsFields_B1_Create {
  permission: Boolean!
}

type PostsFields_B1_Read {
  permission: Boolean!
}

type PostsFields_B1_Update {
  permission: Boolean!
}

type PostsFields_B1_Delete {
  permission: Boolean!
}

type PostsFields_B1_Fields {
  B2: PostsFields_B1_B2
}

type PostsFields_B1_B2 {
  create: PostsFields_B1_B2_Create
  read: PostsFields_B1_B2_Read
  update: PostsFields_B1_B2_Update
  delete: PostsFields_B1_B2_Delete
}

type PostsFields_B1_B2_Create {
  permission: Boolean!
}

type PostsFields_B1_B2_Read {
  permission: Boolean!
}

type PostsFields_B1_B2_Update {
  permission: Boolean!
}

type PostsFields_B1_B2_Delete {
  permission: Boolean!
}

type PostsFields_C1 {
  create: PostsFields_C1_Create
  read: PostsFields_C1_Read
  update: PostsFields_C1_Update
  delete: PostsFields_C1_Delete
  fields: PostsFields_C1_Fields
}

type PostsFields_C1_Create {
  permission: Boolean!
}

type PostsFields_C1_Read {
  permission: Boolean!
}

type PostsFields_C1_Update {
  permission: Boolean!
}

type PostsFields_C1_Delete {
  permission: Boolean!
}

type PostsFields_C1_Fields {
  C2Text: PostsFields_C1_C2Text
  C2: PostsFields_C1_C2
}

type PostsFields_C1_C2Text {
  create: PostsFields_C1_C2Text_Create
  read: PostsFields_C1_C2Text_Read
  update: PostsFields_C1_C2Text_Update
  delete: PostsFields_C1_C2Text_Delete
}

type PostsFields_C1_C2Text_Create {
  permission: Boolean!
}

type PostsFields_C1_C2Text_Read {
  permission: Boolean!
}

type PostsFields_C1_C2Text_Update {
  permission: Boolean!
}

type PostsFields_C1_C2Text_Delete {
  permission: Boolean!
}

type PostsFields_C1_C2 {
  create: PostsFields_C1_C2_Create
  read: PostsFields_C1_C2_Read
  update: PostsFields_C1_C2_Update
  delete: PostsFields_C1_C2_Delete
  fields: PostsFields_C1_C2_Fields
}

type PostsFields_C1_C2_Create {
  permission: Boolean!
}

type PostsFields_C1_C2_Read {
  permission: Boolean!
}

type PostsFields_C1_C2_Update {
  permission: Boolean!
}

type PostsFields_C1_C2_Delete {
  permission: Boolean!
}

type PostsFields_C1_C2_Fields {
  C3: PostsFields_C1_C2_C3
}

type PostsFields_C1_C2_C3 {
  create: PostsFields_C1_C2_C3_Create
  read: PostsFields_C1_C2_C3_Read
  update: PostsFields_C1_C2_C3_Update
  delete: PostsFields_C1_C2_C3_Delete
}

type PostsFields_C1_C2_C3_Create {
  permission: Boolean!
}

type PostsFields_C1_C2_C3_Read {
  permission: Boolean!
}

type PostsFields_C1_C2_C3_Update {
  permission: Boolean!
}

type PostsFields_C1_C2_C3_Delete {
  permission: Boolean!
}

type PostsFields_D2 {
  create: PostsFields_D2_Create
  read: PostsFields_D2_Read
  update: PostsFields_D2_Update
  delete: PostsFields_D2_Delete
  fields: PostsFields_D2_Fields
}

type PostsFields_D2_Create {
  permission: Boolean!
}

type PostsFields_D2_Read {
  permission: Boolean!
}

type PostsFields_D2_Update {
  permission: Boolean!
}

type PostsFields_D2_Delete {
  permission: Boolean!
}

type PostsFields_D2_Fields {
  D3: PostsFields_D2_D3
}

type PostsFields_D2_D3 {
  create: PostsFields_D2_D3_Create
  read: PostsFields_D2_D3_Read
  update: PostsFields_D2_D3_Update
  delete: PostsFields_D2_D3_Delete
  fields: PostsFields_D2_D3_Fields
}

type PostsFields_D2_D3_Create {
  permission: Boolean!
}

type PostsFields_D2_D3_Read {
  permission: Boolean!
}

type PostsFields_D2_D3_Update {
  permission: Boolean!
}

type PostsFields_D2_D3_Delete {
  permission: Boolean!
}

type PostsFields_D2_D3_Fields {
  D4: PostsFields_D2_D3_D4
}

type PostsFields_D2_D3_D4 {
  create: PostsFields_D2_D3_D4_Create
  read: PostsFields_D2_D3_D4_Read
  update: PostsFields_D2_D3_D4_Update
  delete: PostsFields_D2_D3_D4_Delete
}

type PostsFields_D2_D3_D4_Create {
  permission: Boolean!
}

type PostsFields_D2_D3_D4_Read {
  permission: Boolean!
}

type PostsFields_D2_D3_D4_Update {
  permission: Boolean!
}

type PostsFields_D2_D3_D4_Delete {
  permission: Boolean!
}

type PostsFields_updatedAt {
  create: PostsFields_updatedAt_Create
  read: PostsFields_updatedAt_Read
  update: PostsFields_updatedAt_Update
  delete: PostsFields_updatedAt_Delete
}

type PostsFields_updatedAt_Create {
  permission: Boolean!
}

type PostsFields_updatedAt_Read {
  permission: Boolean!
}

type PostsFields_updatedAt_Update {
  permission: Boolean!
}

type PostsFields_updatedAt_Delete {
  permission: Boolean!
}

type PostsFields_createdAt {
  create: PostsFields_createdAt_Create
  read: PostsFields_createdAt_Read
  update: PostsFields_createdAt_Update
  delete: PostsFields_createdAt_Delete
}

type PostsFields_createdAt_Create {
  permission: Boolean!
}

type PostsFields_createdAt_Read {
  permission: Boolean!
}

type PostsFields_createdAt_Update {
  permission: Boolean!
}

type PostsFields_createdAt_Delete {
  permission: Boolean!
}

type PostsCreateAccess {
  permission: Boolean!
  where: JSONObject
}

type PostsReadAccess {
  permission: Boolean!
  where: JSONObject
}

type PostsUpdateAccess {
  permission: Boolean!
  where: JSONObject
}

type PostsDeleteAccess {
  permission: Boolean!
  where: JSONObject
}

type custom_idsAccess {
  fields: CustomIdsFields
  create: CustomIdsCreateAccess
  read: CustomIdsReadAccess
  update: CustomIdsUpdateAccess
  delete: CustomIdsDeleteAccess
}

type CustomIdsFields {
  id: CustomIdsFields_id
  title: CustomIdsFields_title
  updatedAt: CustomIdsFields_updatedAt
  createdAt: CustomIdsFields_createdAt
}

type CustomIdsFields_id {
  create: CustomIdsFields_id_Create
  read: CustomIdsFields_id_Read
  update: CustomIdsFields_id_Update
  delete: CustomIdsFields_id_Delete
}

type CustomIdsFields_id_Create {
  permission: Boolean!
}

type CustomIdsFields_id_Read {
  permission: Boolean!
}

type CustomIdsFields_id_Update {
  permission: Boolean!
}

type CustomIdsFields_id_Delete {
  permission: Boolean!
}

type CustomIdsFields_title {
  create: CustomIdsFields_title_Create
  read: CustomIdsFields_title_Read
  update: CustomIdsFields_title_Update
  delete: CustomIdsFields_title_Delete
}

type CustomIdsFields_title_Create {
  permission: Boolean!
}

type CustomIdsFields_title_Read {
  permission: Boolean!
}

type CustomIdsFields_title_Update {
  permission: Boolean!
}

type CustomIdsFields_title_Delete {
  permission: Boolean!
}

type CustomIdsFields_updatedAt {
  create: CustomIdsFields_updatedAt_Create
  read: CustomIdsFields_updatedAt_Read
  update: CustomIdsFields_updatedAt_Update
  delete: CustomIdsFields_updatedAt_Delete
}

type CustomIdsFields_updatedAt_Create {
  permission: Boolean!
}

type CustomIdsFields_updatedAt_Read {
  permission: Boolean!
}

type CustomIdsFields_updatedAt_Update {
  permission: Boolean!
}

type CustomIdsFields_updatedAt_Delete {
  permission: Boolean!
}

type CustomIdsFields_createdAt {
  create: CustomIdsFields_createdAt_Create
  read: CustomIdsFields_createdAt_Read
  update: CustomIdsFields_createdAt_Update
  delete: CustomIdsFields_createdAt_Delete
}

type CustomIdsFields_createdAt_Create {
  permission: Boolean!
}

type CustomIdsFields_createdAt_Read {
  permission: Boolean!
}

type CustomIdsFields_createdAt_Update {
  permission: Boolean!
}

type CustomIdsFields_createdAt_Delete {
  permission: Boolean!
}

type CustomIdsCreateAccess {
  permission: Boolean!
  where: JSONObject
}

type CustomIdsReadAccess {
  permission: Boolean!
  where: JSONObject
}

type CustomIdsUpdateAccess {
  permission: Boolean!
  where: JSONObject
}

type CustomIdsDeleteAccess {
  permission: Boolean!
  where: JSONObject
}

type relationAccess {
  fields: RelationFields
  create: RelationCreateAccess
  read: RelationReadAccess
  update: RelationUpdateAccess
  delete: RelationDeleteAccess
}

type RelationFields {
  name: RelationFields_name
  updatedAt: RelationFields_updatedAt
  createdAt: RelationFields_createdAt
}

type RelationFields_name {
  create: RelationFields_name_Create
  read: RelationFields_name_Read
  update: RelationFields_name_Update
  delete: RelationFields_name_Delete
}

type RelationFields_name_Create {
  permission: Boolean!
}

type RelationFields_name_Read {
  permission: Boolean!
}

type RelationFields_name_Update {
  permission: Boolean!
}

type RelationFields_name_Delete {
  permission: Boolean!
}

type RelationFields_updatedAt {
  create: RelationFields_updatedAt_Create
  read: RelationFields_updatedAt_Read
  update: RelationFields_updatedAt_Update
  delete: RelationFields_updatedAt_Delete
}

type RelationFields_updatedAt_Create {
  permission: Boolean!
}

type RelationFields_updatedAt_Read {
  permission: Boolean!
}

type RelationFields_updatedAt_Update {
  permission: Boolean!
}

type RelationFields_updatedAt_Delete {
  permission: Boolean!
}

type RelationFields_createdAt {
  create: RelationFields_createdAt_Create
  read: RelationFields_createdAt_Read
  update: RelationFields_createdAt_Update
  delete: RelationFields_createdAt_Delete
}

type RelationFields_createdAt_Create {
  permission: Boolean!
}

type RelationFields_createdAt_Read {
  permission: Boolean!
}

type RelationFields_createdAt_Update {
  permission: Boolean!
}

type RelationFields_createdAt_Delete {
  permission: Boolean!
}

type RelationCreateAccess {
  permission: Boolean!
  where: JSONObject
}

type RelationReadAccess {
  permission: Boolean!
  where: JSONObject
}

type RelationUpdateAccess {
  permission: Boolean!
  where: JSONObject
}

type RelationDeleteAccess {
  permission: Boolean!
  where: JSONObject
}

type dummyAccess {
  fields: DummyFields
  create: DummyCreateAccess
  read: DummyReadAccess
  update: DummyUpdateAccess
  delete: DummyDeleteAccess
}

type DummyFields {
  name: DummyFields_name
  updatedAt: DummyFields_updatedAt
  createdAt: DummyFields_createdAt
}

type DummyFields_name {
  create: DummyFields_name_Create
  read: DummyFields_name_Read
  update: DummyFields_name_Update
  delete: DummyFields_name_Delete
}

type DummyFields_name_Create {
  permission: Boolean!
}

type DummyFields_name_Read {
  permission: Boolean!
}

type DummyFields_name_Update {
  permission: Boolean!
}

type DummyFields_name_Delete {
  permission: Boolean!
}

type DummyFields_updatedAt {
  create: DummyFields_updatedAt_Create
  read: DummyFields_updatedAt_Read
  update: DummyFields_updatedAt_Update
  delete: DummyFields_updatedAt_Delete
}

type DummyFields_updatedAt_Create {
  permission: Boolean!
}

type DummyFields_updatedAt_Read {
  permission: Boolean!
}

type DummyFields_updatedAt_Update {
  permission: Boolean!
}

type DummyFields_updatedAt_Delete {
  permission: Boolean!
}

type DummyFields_createdAt {
  create: DummyFields_createdAt_Create
  read: DummyFields_createdAt_Read
  update: DummyFields_createdAt_Update
  delete: DummyFields_createdAt_Delete
}

type DummyFields_createdAt_Create {
  permission: Boolean!
}

type DummyFields_createdAt_Read {
  permission: Boolean!
}

type DummyFields_createdAt_Update {
  permission: Boolean!
}

type DummyFields_createdAt_Delete {
  permission: Boolean!
}

type DummyCreateAccess {
  permission: Boolean!
  where: JSONObject
}

type DummyReadAccess {
  permission: Boolean!
  where: JSONObject
}

type DummyUpdateAccess {
  permission: Boolean!
  where: JSONObject
}

type DummyDeleteAccess {
  permission: Boolean!
  where: JSONObject
}

type Mutation {
  createUser(data: mutationUserInput!, draft: Boolean): User
  updateUser(id: String!, data: mutationUserUpdateInput!, draft: Boolean, autosave: Boolean): User
  deleteUser(id: String!): User
  refreshTokenUser(token: String): usersRefreshedUser
  logoutUser: String
  unlockUser(email: String!): Boolean!
  loginUser(email: String, password: String): usersLoginResult
  forgotPasswordUser(email: String!, disableEmail: Boolean, expiration: Int): Boolean!
  resetPasswordUser(token: String, password: String): usersResetPassword
  verifyEmailUser(token: String): Boolean
  createPost(data: mutationPostInput!, draft: Boolean): Post
  updatePost(id: String!, data: mutationPostUpdateInput!, draft: Boolean, autosave: Boolean): Post
  deletePost(id: String!): Post
  createCustomId(data: mutationCustomIdInput!, draft: Boolean): CustomId
  updateCustomId(id: Int!, data: mutationCustomIdUpdateInput!, draft: Boolean, autosave: Boolean): CustomId
  deleteCustomId(id: Int!): CustomId
  createRelation(data: mutationRelationInput!, draft: Boolean): Relation
  updateRelation(id: String!, data: mutationRelationUpdateInput!, draft: Boolean, autosave: Boolean): Relation
  deleteRelation(id: String!): Relation
  createDummy(data: mutationDummyInput!, draft: Boolean): Dummy
  updateDummy(id: String!, data: mutationDummyUpdateInput!, draft: Boolean, autosave: Boolean): Dummy
  deleteDummy(id: String!): Dummy
  updatePreference(key: String!, value: JSON): Preference
  deletePreference(key: String!): Preference
}

input mutationUserInput {
  updatedAt: String
  createdAt: String
  email: String
  resetPasswordToken: String
  resetPasswordExpiration: String
  loginAttempts: Float
  lockUntil: String
  password: String!
}

input mutationUserUpdateInput {
  updatedAt: String
  createdAt: String
  email: String
  resetPasswordToken: String
  resetPasswordExpiration: String
  loginAttempts: Float
  lockUntil: String
  password: String
}

type usersRefreshedUser {
  user: usersJWT
  refreshedToken: String
  exp: Int
}

type usersJWT {
  email: EmailAddress!
  collection: String!
}

type usersLoginResult {
  token: String
  user: User
  exp: Int
}

type usersResetPassword {
  token: String
  user: User
}

input mutationPostInput {
  title: String
  description: String
  number: Float
  min: Float
  relationField: String
  relationToCustomID: Int
  relationHasManyField: [String]
  relationMultiRelationTo: Post_RelationMultiRelationToRelationshipInput
  relationMultiRelationToHasMany: [Post_RelationMultiRelationToHasManyRelationshipInput]
  A1: mutationPost_A1Input
  B1: mutationPost_B1Input
  C1: mutationPost_C1Input
  D1: mutationPost_D1Input
  updatedAt: String
  createdAt: String
}

input Post_RelationMultiRelationToRelationshipInput {
  relationTo: Post_RelationMultiRelationToRelationshipInputRelationTo
  value: JSON
}

enum Post_RelationMultiRelationToRelationshipInputRelationTo {
  relation
  dummy
}

input Post_RelationMultiRelationToHasManyRelationshipInput {
  relationTo: Post_RelationMultiRelationToHasManyRelationshipInputRelationTo
  value: JSON
}

enum Post_RelationMultiRelationToHasManyRelationshipInputRelationTo {
  relation
  dummy
}

input mutationPost_A1Input {
  A2: String
}

input mutationPost_B1Input {
  B2: String
}

input mutationPost_C1Input {
  C2Text: String
  C2: mutationPost_C1_C2Input
}

input mutationPost_C1_C2Input {
  C3: String
}

input mutationPost_D1Input {
  D2: mutationPost_D1_D2Input
}

input mutationPost_D1_D2Input {
  D3: mutationPost_D1_D2_D3Input
}

input mutationPost_D1_D2_D3Input {
  D4: String
}

input mutationPostUpdateInput {
  title: String
  description: String
  number: Float
  min: Float
  relationField: String
  relationToCustomID: Int
  relationHasManyField: [String]
  relationMultiRelationTo: PostUpdate_RelationMultiRelationToRelationshipInput
  relationMultiRelationToHasMany: [PostUpdate_RelationMultiRelationToHasManyRelationshipInput]
  A1: mutationPostUpdate_A1Input
  B1: mutationPostUpdate_B1Input
  C1: mutationPostUpdate_C1Input
  D1: mutationPostUpdate_D1Input
  updatedAt: String
  createdAt: String
}

input PostUpdate_RelationMultiRelationToRelationshipInput {
  relationTo: PostUpdate_RelationMultiRelationToRelationshipInputRelationTo
  value: JSON
}

enum PostUpdate_RelationMultiRelationToRelationshipInputRelationTo {
  relation
  dummy
}

input PostUpdate_RelationMultiRelationToHasManyRelationshipInput {
  relationTo: PostUpdate_RelationMultiRelationToHasManyRelationshipInputRelationTo
  value: JSON
}

enum PostUpdate_RelationMultiRelationToHasManyRelationshipInputRelationTo {
  relation
  dummy
}

input mutationPostUpdate_A1Input {
  A2: String
}

input mutationPostUpdate_B1Input {
  B2: String
}

input mutationPostUpdate_C1Input {
  C2Text: String
  C2: mutationPostUpdate_C1_C2Input
}

input mutationPostUpdate_C1_C2Input {
  C3: String
}

input mutationPostUpdate_D1Input {
  D2: mutationPostUpdate_D1_D2Input
}

input mutationPostUpdate_D1_D2Input {
  D3: mutationPostUpdate_D1_D2_D3Input
}

input mutationPostUpdate_D1_D2_D3Input {
  D4: String
}

input mutationCustomIdInput {
  id: Int
  title: String
  updatedAt: String
  createdAt: String
}

input mutationCustomIdUpdateInput {
  title: String
  updatedAt: String
  createdAt: String
}

input mutationRelationInput {
  name: String
  updatedAt: String
  createdAt: String
}

input mutationRelationUpdateInput {
  name: String
  updatedAt: String
  createdAt: String
}

input mutationDummyInput {
  name: String
  updatedAt: String
  createdAt: String
}

input mutationDummyUpdateInput {
  name: String
  updatedAt: String
  createdAt: String
}