type Query {
  Post(id: String!, draft: Boolean): Post
  Posts(draft: Boolean, where: Post_where, limit: Int, page: Int, sort: String): Posts
  docAccessPost(id: String!): postsDocAccess
  Media(id: String!, draft: Boolean): Media
  allMedia(draft: Boolean, where: Media_where, limit: Int, page: Int, sort: String): allMedia
  docAccessMedia(id: String!): mediaDocAccess
  User(id: String!, draft: Boolean): User
  Users(draft: Boolean, where: User_where, limit: Int, page: Int, sort: String): Users
  docAccessUser(id: String!): usersDocAccess
  meUser: usersMe
  initializedUser: Boolean
  PayloadPreference(id: String!, draft: Boolean): PayloadPreference
  PayloadPreferences(
    draft: Boolean
    where: PayloadPreference_where
    limit: Int
    page: Int
    sort: String
  ): PayloadPreferences
  docAccessPayloadPreference(id: String!): payload_preferencesDocAccess
  Menu(draft: Boolean): Menu
  docAccessMenu: menuDocAccess
  Access: Access
}

type Post {
  id: String
  text: String
  associatedMedia(where: Post_AssociatedMedia_where): Media
  updatedAt: DateTime
  createdAt: DateTime
}

type Media {
  id: String
  updatedAt: DateTime
  createdAt: DateTime
  url: String
  filename: String
  mimeType: String
  filesize: Float
  width: Float
  height: Float
}

"""
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

input Post_AssociatedMedia_where {
  updatedAt: Post_AssociatedMedia_updatedAt_operator
  createdAt: Post_AssociatedMedia_createdAt_operator
  url: Post_AssociatedMedia_url_operator
  filename: Post_AssociatedMedia_filename_operator
  mimeType: Post_AssociatedMedia_mimeType_operator
  filesize: Post_AssociatedMedia_filesize_operator
  width: Post_AssociatedMedia_width_operator
  height: Post_AssociatedMedia_height_operator
  id: Post_AssociatedMedia_id_operator
  AND: [Post_AssociatedMedia_where_and]
  OR: [Post_AssociatedMedia_where_or]
}

input Post_AssociatedMedia_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_AssociatedMedia_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_AssociatedMedia_url_operator {
  equals: String
  not_equals: String
  like: String
  contains: String
  in: [String]
  not_in: [String]
  all: [String]
  exists: Boolean
}

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

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

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

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

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

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

input Post_AssociatedMedia_where_and {
  updatedAt: Post_AssociatedMedia_updatedAt_operator
  createdAt: Post_AssociatedMedia_createdAt_operator
  url: Post_AssociatedMedia_url_operator
  filename: Post_AssociatedMedia_filename_operator
  mimeType: Post_AssociatedMedia_mimeType_operator
  filesize: Post_AssociatedMedia_filesize_operator
  width: Post_AssociatedMedia_width_operator
  height: Post_AssociatedMedia_height_operator
  id: Post_AssociatedMedia_id_operator
  AND: [Post_AssociatedMedia_where_and]
  OR: [Post_AssociatedMedia_where_or]
}

input Post_AssociatedMedia_where_or {
  updatedAt: Post_AssociatedMedia_updatedAt_operator
  createdAt: Post_AssociatedMedia_createdAt_operator
  url: Post_AssociatedMedia_url_operator
  filename: Post_AssociatedMedia_filename_operator
  mimeType: Post_AssociatedMedia_mimeType_operator
  filesize: Post_AssociatedMedia_filesize_operator
  width: Post_AssociatedMedia_width_operator
  height: Post_AssociatedMedia_height_operator
  id: Post_AssociatedMedia_id_operator
  AND: [Post_AssociatedMedia_where_and]
  OR: [Post_AssociatedMedia_where_or]
}

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

input Post_where {
  text: Post_text_operator
  associatedMedia: Post_associatedMedia_operator
  updatedAt: Post_updatedAt_operator
  createdAt: Post_createdAt_operator
  id: Post_id_operator
  AND: [Post_where_and]
  OR: [Post_where_or]
}

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

input Post_associatedMedia_operator {
  equals: String
  not_equals: 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_and {
  text: Post_text_operator
  associatedMedia: Post_associatedMedia_operator
  updatedAt: Post_updatedAt_operator
  createdAt: Post_createdAt_operator
  id: Post_id_operator
  AND: [Post_where_and]
  OR: [Post_where_or]
}

input Post_where_or {
  text: Post_text_operator
  associatedMedia: Post_associatedMedia_operator
  updatedAt: Post_updatedAt_operator
  createdAt: Post_createdAt_operator
  id: Post_id_operator
  AND: [Post_where_and]
  OR: [Post_where_or]
}

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

type PostsDocAccessFields {
  text: PostsDocAccessFields_text
  associatedMedia: PostsDocAccessFields_associatedMedia
  updatedAt: PostsDocAccessFields_updatedAt
  createdAt: PostsDocAccessFields_createdAt
}

type PostsDocAccessFields_text {
  create: PostsDocAccessFields_text_Create
  read: PostsDocAccessFields_text_Read
  update: PostsDocAccessFields_text_Update
  delete: PostsDocAccessFields_text_Delete
}

type PostsDocAccessFields_text_Create {
  permission: Boolean!
}

type PostsDocAccessFields_text_Read {
  permission: Boolean!
}

type PostsDocAccessFields_text_Update {
  permission: Boolean!
}

type PostsDocAccessFields_text_Delete {
  permission: Boolean!
}

type PostsDocAccessFields_associatedMedia {
  create: PostsDocAccessFields_associatedMedia_Create
  read: PostsDocAccessFields_associatedMedia_Read
  update: PostsDocAccessFields_associatedMedia_Update
  delete: PostsDocAccessFields_associatedMedia_Delete
}

type PostsDocAccessFields_associatedMedia_Create {
  permission: Boolean!
}

type PostsDocAccessFields_associatedMedia_Read {
  permission: Boolean!
}

type PostsDocAccessFields_associatedMedia_Update {
  permission: Boolean!
}

type PostsDocAccessFields_associatedMedia_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
}

"""
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 PostsReadDocAccess {
  permission: Boolean!
  where: JSONObject
}

type PostsUpdateDocAccess {
  permission: Boolean!
  where: JSONObject
}

type PostsDeleteDocAccess {
  permission: Boolean!
  where: JSONObject
}

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

input Media_where {
  updatedAt: Media_updatedAt_operator
  createdAt: Media_createdAt_operator
  url: Media_url_operator
  filename: Media_filename_operator
  mimeType: Media_mimeType_operator
  filesize: Media_filesize_operator
  width: Media_width_operator
  height: Media_height_operator
  id: Media_id_operator
  AND: [Media_where_and]
  OR: [Media_where_or]
}

input Media_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 Media_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 Media_url_operator {
  equals: String
  not_equals: String
  like: String
  contains: String
  in: [String]
  not_in: [String]
  all: [String]
  exists: Boolean
}

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

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

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

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

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

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

input Media_where_and {
  updatedAt: Media_updatedAt_operator
  createdAt: Media_createdAt_operator
  url: Media_url_operator
  filename: Media_filename_operator
  mimeType: Media_mimeType_operator
  filesize: Media_filesize_operator
  width: Media_width_operator
  height: Media_height_operator
  id: Media_id_operator
  AND: [Media_where_and]
  OR: [Media_where_or]
}

input Media_where_or {
  updatedAt: Media_updatedAt_operator
  createdAt: Media_createdAt_operator
  url: Media_url_operator
  filename: Media_filename_operator
  mimeType: Media_mimeType_operator
  filesize: Media_filesize_operator
  width: Media_width_operator
  height: Media_height_operator
  id: Media_id_operator
  AND: [Media_where_and]
  OR: [Media_where_or]
}

type mediaDocAccess {
  fields: MediaDocAccessFields
  create: MediaCreateDocAccess
  read: MediaReadDocAccess
  update: MediaUpdateDocAccess
  delete: MediaDeleteDocAccess
}

type MediaDocAccessFields {
  updatedAt: MediaDocAccessFields_updatedAt
  createdAt: MediaDocAccessFields_createdAt
  url: MediaDocAccessFields_url
  filename: MediaDocAccessFields_filename
  mimeType: MediaDocAccessFields_mimeType
  filesize: MediaDocAccessFields_filesize
  width: MediaDocAccessFields_width
  height: MediaDocAccessFields_height
}

type MediaDocAccessFields_updatedAt {
  create: MediaDocAccessFields_updatedAt_Create
  read: MediaDocAccessFields_updatedAt_Read
  update: MediaDocAccessFields_updatedAt_Update
  delete: MediaDocAccessFields_updatedAt_Delete
}

type MediaDocAccessFields_updatedAt_Create {
  permission: Boolean!
}

type MediaDocAccessFields_updatedAt_Read {
  permission: Boolean!
}

type MediaDocAccessFields_updatedAt_Update {
  permission: Boolean!
}

type MediaDocAccessFields_updatedAt_Delete {
  permission: Boolean!
}

type MediaDocAccessFields_createdAt {
  create: MediaDocAccessFields_createdAt_Create
  read: MediaDocAccessFields_createdAt_Read
  update: MediaDocAccessFields_createdAt_Update
  delete: MediaDocAccessFields_createdAt_Delete
}

type MediaDocAccessFields_createdAt_Create {
  permission: Boolean!
}

type MediaDocAccessFields_createdAt_Read {
  permission: Boolean!
}

type MediaDocAccessFields_createdAt_Update {
  permission: Boolean!
}

type MediaDocAccessFields_createdAt_Delete {
  permission: Boolean!
}

type MediaDocAccessFields_url {
  create: MediaDocAccessFields_url_Create
  read: MediaDocAccessFields_url_Read
  update: MediaDocAccessFields_url_Update
  delete: MediaDocAccessFields_url_Delete
}

type MediaDocAccessFields_url_Create {
  permission: Boolean!
}

type MediaDocAccessFields_url_Read {
  permission: Boolean!
}

type MediaDocAccessFields_url_Update {
  permission: Boolean!
}

type MediaDocAccessFields_url_Delete {
  permission: Boolean!
}

type MediaDocAccessFields_filename {
  create: MediaDocAccessFields_filename_Create
  read: MediaDocAccessFields_filename_Read
  update: MediaDocAccessFields_filename_Update
  delete: MediaDocAccessFields_filename_Delete
}

type MediaDocAccessFields_filename_Create {
  permission: Boolean!
}

type MediaDocAccessFields_filename_Read {
  permission: Boolean!
}

type MediaDocAccessFields_filename_Update {
  permission: Boolean!
}

type MediaDocAccessFields_filename_Delete {
  permission: Boolean!
}

type MediaDocAccessFields_mimeType {
  create: MediaDocAccessFields_mimeType_Create
  read: MediaDocAccessFields_mimeType_Read
  update: MediaDocAccessFields_mimeType_Update
  delete: MediaDocAccessFields_mimeType_Delete
}

type MediaDocAccessFields_mimeType_Create {
  permission: Boolean!
}

type MediaDocAccessFields_mimeType_Read {
  permission: Boolean!
}

type MediaDocAccessFields_mimeType_Update {
  permission: Boolean!
}

type MediaDocAccessFields_mimeType_Delete {
  permission: Boolean!
}

type MediaDocAccessFields_filesize {
  create: MediaDocAccessFields_filesize_Create
  read: MediaDocAccessFields_filesize_Read
  update: MediaDocAccessFields_filesize_Update
  delete: MediaDocAccessFields_filesize_Delete
}

type MediaDocAccessFields_filesize_Create {
  permission: Boolean!
}

type MediaDocAccessFields_filesize_Read {
  permission: Boolean!
}

type MediaDocAccessFields_filesize_Update {
  permission: Boolean!
}

type MediaDocAccessFields_filesize_Delete {
  permission: Boolean!
}

type MediaDocAccessFields_width {
  create: MediaDocAccessFields_width_Create
  read: MediaDocAccessFields_width_Read
  update: MediaDocAccessFields_width_Update
  delete: MediaDocAccessFields_width_Delete
}

type MediaDocAccessFields_width_Create {
  permission: Boolean!
}

type MediaDocAccessFields_width_Read {
  permission: Boolean!
}

type MediaDocAccessFields_width_Update {
  permission: Boolean!
}

type MediaDocAccessFields_width_Delete {
  permission: Boolean!
}

type MediaDocAccessFields_height {
  create: MediaDocAccessFields_height_Create
  read: MediaDocAccessFields_height_Read
  update: MediaDocAccessFields_height_Update
  delete: MediaDocAccessFields_height_Delete
}

type MediaDocAccessFields_height_Create {
  permission: Boolean!
}

type MediaDocAccessFields_height_Read {
  permission: Boolean!
}

type MediaDocAccessFields_height_Update {
  permission: Boolean!
}

type MediaDocAccessFields_height_Delete {
  permission: Boolean!
}

type MediaCreateDocAccess {
  permission: Boolean!
  where: JSONObject
}

type MediaReadDocAccess {
  permission: Boolean!
  where: JSONObject
}

type MediaUpdateDocAccess {
  permission: Boolean!
  where: JSONObject
}

type MediaDeleteDocAccess {
  permission: Boolean!
  where: JSONObject
}

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

"""
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]
  hasNextPage: Boolean
  hasPrevPage: Boolean
  limit: Int
  nextPage: Int
  offset: Int
  page: Int
  pagingCounter: Int
  prevPage: Int
  totalDocs: Int
  totalPages: Int
}

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

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]
}

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_and {
  updatedAt: User_updatedAt_operator
  createdAt: User_createdAt_operator
  email: User_email_operator
  id: User_id_operator
  AND: [User_where_and]
  OR: [User_where_or]
}

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

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
}

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 {
  collection: String
  exp: Int
  token: String
  user: User
}

type PayloadPreference {
  id: String
  user: PayloadPreference_User_Relationship!
  key: String
  value: JSON
  updatedAt: DateTime
  createdAt: DateTime
}

type PayloadPreference_User_Relationship {
  relationTo: PayloadPreference_User_RelationTo
  value: PayloadPreference_User
}

enum PayloadPreference_User_RelationTo {
  users
}

union PayloadPreference_User = User

"""
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 PayloadPreferences {
  docs: [PayloadPreference]
  hasNextPage: Boolean
  hasPrevPage: Boolean
  limit: Int
  nextPage: Int
  offset: Int
  page: Int
  pagingCounter: Int
  prevPage: Int
  totalDocs: Int
  totalPages: Int
}

input PayloadPreference_where {
  user: PayloadPreference_user_Relation
  key: PayloadPreference_key_operator
  value: PayloadPreference_value_operator
  updatedAt: PayloadPreference_updatedAt_operator
  createdAt: PayloadPreference_createdAt_operator
  id: PayloadPreference_id_operator
  AND: [PayloadPreference_where_and]
  OR: [PayloadPreference_where_or]
}

input PayloadPreference_user_Relation {
  relationTo: PayloadPreference_user_Relation_RelationTo
  value: JSON
}

enum PayloadPreference_user_Relation_RelationTo {
  users
}

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

input PayloadPreference_value_operator {
  equals: JSON
  not_equals: JSON
  like: JSON
  contains: JSON
  within: JSON
  intersects: JSON
  exists: Boolean
}

input PayloadPreference_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 PayloadPreference_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 PayloadPreference_id_operator {
  equals: String
  not_equals: String
  like: String
  contains: String
  in: [String]
  not_in: [String]
  all: [String]
  exists: Boolean
}

input PayloadPreference_where_and {
  user: PayloadPreference_user_Relation
  key: PayloadPreference_key_operator
  value: PayloadPreference_value_operator
  updatedAt: PayloadPreference_updatedAt_operator
  createdAt: PayloadPreference_createdAt_operator
  id: PayloadPreference_id_operator
  AND: [PayloadPreference_where_and]
  OR: [PayloadPreference_where_or]
}

input PayloadPreference_where_or {
  user: PayloadPreference_user_Relation
  key: PayloadPreference_key_operator
  value: PayloadPreference_value_operator
  updatedAt: PayloadPreference_updatedAt_operator
  createdAt: PayloadPreference_createdAt_operator
  id: PayloadPreference_id_operator
  AND: [PayloadPreference_where_and]
  OR: [PayloadPreference_where_or]
}

type payload_preferencesDocAccess {
  fields: PayloadPreferencesDocAccessFields
  create: PayloadPreferencesCreateDocAccess
  read: PayloadPreferencesReadDocAccess
  update: PayloadPreferencesUpdateDocAccess
  delete: PayloadPreferencesDeleteDocAccess
}

type PayloadPreferencesDocAccessFields {
  user: PayloadPreferencesDocAccessFields_user
  key: PayloadPreferencesDocAccessFields_key
  value: PayloadPreferencesDocAccessFields_value
  updatedAt: PayloadPreferencesDocAccessFields_updatedAt
  createdAt: PayloadPreferencesDocAccessFields_createdAt
}

type PayloadPreferencesDocAccessFields_user {
  create: PayloadPreferencesDocAccessFields_user_Create
  read: PayloadPreferencesDocAccessFields_user_Read
  update: PayloadPreferencesDocAccessFields_user_Update
  delete: PayloadPreferencesDocAccessFields_user_Delete
}

type PayloadPreferencesDocAccessFields_user_Create {
  permission: Boolean!
}

type PayloadPreferencesDocAccessFields_user_Read {
  permission: Boolean!
}

type PayloadPreferencesDocAccessFields_user_Update {
  permission: Boolean!
}

type PayloadPreferencesDocAccessFields_user_Delete {
  permission: Boolean!
}

type PayloadPreferencesDocAccessFields_key {
  create: PayloadPreferencesDocAccessFields_key_Create
  read: PayloadPreferencesDocAccessFields_key_Read
  update: PayloadPreferencesDocAccessFields_key_Update
  delete: PayloadPreferencesDocAccessFields_key_Delete
}

type PayloadPreferencesDocAccessFields_key_Create {
  permission: Boolean!
}

type PayloadPreferencesDocAccessFields_key_Read {
  permission: Boolean!
}

type PayloadPreferencesDocAccessFields_key_Update {
  permission: Boolean!
}

type PayloadPreferencesDocAccessFields_key_Delete {
  permission: Boolean!
}

type PayloadPreferencesDocAccessFields_value {
  create: PayloadPreferencesDocAccessFields_value_Create
  read: PayloadPreferencesDocAccessFields_value_Read
  update: PayloadPreferencesDocAccessFields_value_Update
  delete: PayloadPreferencesDocAccessFields_value_Delete
}

type PayloadPreferencesDocAccessFields_value_Create {
  permission: Boolean!
}

type PayloadPreferencesDocAccessFields_value_Read {
  permission: Boolean!
}

type PayloadPreferencesDocAccessFields_value_Update {
  permission: Boolean!
}

type PayloadPreferencesDocAccessFields_value_Delete {
  permission: Boolean!
}

type PayloadPreferencesDocAccessFields_updatedAt {
  create: PayloadPreferencesDocAccessFields_updatedAt_Create
  read: PayloadPreferencesDocAccessFields_updatedAt_Read
  update: PayloadPreferencesDocAccessFields_updatedAt_Update
  delete: PayloadPreferencesDocAccessFields_updatedAt_Delete
}

type PayloadPreferencesDocAccessFields_updatedAt_Create {
  permission: Boolean!
}

type PayloadPreferencesDocAccessFields_updatedAt_Read {
  permission: Boolean!
}

type PayloadPreferencesDocAccessFields_updatedAt_Update {
  permission: Boolean!
}

type PayloadPreferencesDocAccessFields_updatedAt_Delete {
  permission: Boolean!
}

type PayloadPreferencesDocAccessFields_createdAt {
  create: PayloadPreferencesDocAccessFields_createdAt_Create
  read: PayloadPreferencesDocAccessFields_createdAt_Read
  update: PayloadPreferencesDocAccessFields_createdAt_Update
  delete: PayloadPreferencesDocAccessFields_createdAt_Delete
}

type PayloadPreferencesDocAccessFields_createdAt_Create {
  permission: Boolean!
}

type PayloadPreferencesDocAccessFields_createdAt_Read {
  permission: Boolean!
}

type PayloadPreferencesDocAccessFields_createdAt_Update {
  permission: Boolean!
}

type PayloadPreferencesDocAccessFields_createdAt_Delete {
  permission: Boolean!
}

type PayloadPreferencesCreateDocAccess {
  permission: Boolean!
  where: JSONObject
}

type PayloadPreferencesReadDocAccess {
  permission: Boolean!
  where: JSONObject
}

type PayloadPreferencesUpdateDocAccess {
  permission: Boolean!
  where: JSONObject
}

type PayloadPreferencesDeleteDocAccess {
  permission: Boolean!
  where: JSONObject
}

type Menu {
  globalText: String
  updatedAt: DateTime
  createdAt: DateTime
}

type menuDocAccess {
  fields: MenuDocAccessFields
  read: MenuReadDocAccess
  update: MenuUpdateDocAccess
}

type MenuDocAccessFields {
  globalText: MenuDocAccessFields_globalText
  updatedAt: MenuDocAccessFields_updatedAt
  createdAt: MenuDocAccessFields_createdAt
}

type MenuDocAccessFields_globalText {
  create: MenuDocAccessFields_globalText_Create
  read: MenuDocAccessFields_globalText_Read
  update: MenuDocAccessFields_globalText_Update
  delete: MenuDocAccessFields_globalText_Delete
}

type MenuDocAccessFields_globalText_Create {
  permission: Boolean!
}

type MenuDocAccessFields_globalText_Read {
  permission: Boolean!
}

type MenuDocAccessFields_globalText_Update {
  permission: Boolean!
}

type MenuDocAccessFields_globalText_Delete {
  permission: Boolean!
}

type MenuDocAccessFields_updatedAt {
  create: MenuDocAccessFields_updatedAt_Create
  read: MenuDocAccessFields_updatedAt_Read
  update: MenuDocAccessFields_updatedAt_Update
  delete: MenuDocAccessFields_updatedAt_Delete
}

type MenuDocAccessFields_updatedAt_Create {
  permission: Boolean!
}

type MenuDocAccessFields_updatedAt_Read {
  permission: Boolean!
}

type MenuDocAccessFields_updatedAt_Update {
  permission: Boolean!
}

type MenuDocAccessFields_updatedAt_Delete {
  permission: Boolean!
}

type MenuDocAccessFields_createdAt {
  create: MenuDocAccessFields_createdAt_Create
  read: MenuDocAccessFields_createdAt_Read
  update: MenuDocAccessFields_createdAt_Update
  delete: MenuDocAccessFields_createdAt_Delete
}

type MenuDocAccessFields_createdAt_Create {
  permission: Boolean!
}

type MenuDocAccessFields_createdAt_Read {
  permission: Boolean!
}

type MenuDocAccessFields_createdAt_Update {
  permission: Boolean!
}

type MenuDocAccessFields_createdAt_Delete {
  permission: Boolean!
}

type MenuReadDocAccess {
  permission: Boolean!
  where: JSONObject
}

type MenuUpdateDocAccess {
  permission: Boolean!
  where: JSONObject
}

type Access {
  canAccessAdmin: Boolean!
  posts: postsAccess
  media: mediaAccess
  users: usersAccess
  payload_preferences: payload_preferencesAccess
  menu: menuAccess
}

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

type PostsFields {
  text: PostsFields_text
  associatedMedia: PostsFields_associatedMedia
  updatedAt: PostsFields_updatedAt
  createdAt: PostsFields_createdAt
}

type PostsFields_text {
  create: PostsFields_text_Create
  read: PostsFields_text_Read
  update: PostsFields_text_Update
  delete: PostsFields_text_Delete
}

type PostsFields_text_Create {
  permission: Boolean!
}

type PostsFields_text_Read {
  permission: Boolean!
}

type PostsFields_text_Update {
  permission: Boolean!
}

type PostsFields_text_Delete {
  permission: Boolean!
}

type PostsFields_associatedMedia {
  create: PostsFields_associatedMedia_Create
  read: PostsFields_associatedMedia_Read
  update: PostsFields_associatedMedia_Update
  delete: PostsFields_associatedMedia_Delete
}

type PostsFields_associatedMedia_Create {
  permission: Boolean!
}

type PostsFields_associatedMedia_Read {
  permission: Boolean!
}

type PostsFields_associatedMedia_Update {
  permission: Boolean!
}

type PostsFields_associatedMedia_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 mediaAccess {
  fields: MediaFields
  create: MediaCreateAccess
  read: MediaReadAccess
  update: MediaUpdateAccess
  delete: MediaDeleteAccess
}

type MediaFields {
  updatedAt: MediaFields_updatedAt
  createdAt: MediaFields_createdAt
  url: MediaFields_url
  filename: MediaFields_filename
  mimeType: MediaFields_mimeType
  filesize: MediaFields_filesize
  width: MediaFields_width
  height: MediaFields_height
}

type MediaFields_updatedAt {
  create: MediaFields_updatedAt_Create
  read: MediaFields_updatedAt_Read
  update: MediaFields_updatedAt_Update
  delete: MediaFields_updatedAt_Delete
}

type MediaFields_updatedAt_Create {
  permission: Boolean!
}

type MediaFields_updatedAt_Read {
  permission: Boolean!
}

type MediaFields_updatedAt_Update {
  permission: Boolean!
}

type MediaFields_updatedAt_Delete {
  permission: Boolean!
}

type MediaFields_createdAt {
  create: MediaFields_createdAt_Create
  read: MediaFields_createdAt_Read
  update: MediaFields_createdAt_Update
  delete: MediaFields_createdAt_Delete
}

type MediaFields_createdAt_Create {
  permission: Boolean!
}

type MediaFields_createdAt_Read {
  permission: Boolean!
}

type MediaFields_createdAt_Update {
  permission: Boolean!
}

type MediaFields_createdAt_Delete {
  permission: Boolean!
}

type MediaFields_url {
  create: MediaFields_url_Create
  read: MediaFields_url_Read
  update: MediaFields_url_Update
  delete: MediaFields_url_Delete
}

type MediaFields_url_Create {
  permission: Boolean!
}

type MediaFields_url_Read {
  permission: Boolean!
}

type MediaFields_url_Update {
  permission: Boolean!
}

type MediaFields_url_Delete {
  permission: Boolean!
}

type MediaFields_filename {
  create: MediaFields_filename_Create
  read: MediaFields_filename_Read
  update: MediaFields_filename_Update
  delete: MediaFields_filename_Delete
}

type MediaFields_filename_Create {
  permission: Boolean!
}

type MediaFields_filename_Read {
  permission: Boolean!
}

type MediaFields_filename_Update {
  permission: Boolean!
}

type MediaFields_filename_Delete {
  permission: Boolean!
}

type MediaFields_mimeType {
  create: MediaFields_mimeType_Create
  read: MediaFields_mimeType_Read
  update: MediaFields_mimeType_Update
  delete: MediaFields_mimeType_Delete
}

type MediaFields_mimeType_Create {
  permission: Boolean!
}

type MediaFields_mimeType_Read {
  permission: Boolean!
}

type MediaFields_mimeType_Update {
  permission: Boolean!
}

type MediaFields_mimeType_Delete {
  permission: Boolean!
}

type MediaFields_filesize {
  create: MediaFields_filesize_Create
  read: MediaFields_filesize_Read
  update: MediaFields_filesize_Update
  delete: MediaFields_filesize_Delete
}

type MediaFields_filesize_Create {
  permission: Boolean!
}

type MediaFields_filesize_Read {
  permission: Boolean!
}

type MediaFields_filesize_Update {
  permission: Boolean!
}

type MediaFields_filesize_Delete {
  permission: Boolean!
}

type MediaFields_width {
  create: MediaFields_width_Create
  read: MediaFields_width_Read
  update: MediaFields_width_Update
  delete: MediaFields_width_Delete
}

type MediaFields_width_Create {
  permission: Boolean!
}

type MediaFields_width_Read {
  permission: Boolean!
}

type MediaFields_width_Update {
  permission: Boolean!
}

type MediaFields_width_Delete {
  permission: Boolean!
}

type MediaFields_height {
  create: MediaFields_height_Create
  read: MediaFields_height_Read
  update: MediaFields_height_Update
  delete: MediaFields_height_Delete
}

type MediaFields_height_Create {
  permission: Boolean!
}

type MediaFields_height_Read {
  permission: Boolean!
}

type MediaFields_height_Update {
  permission: Boolean!
}

type MediaFields_height_Delete {
  permission: Boolean!
}

type MediaCreateAccess {
  permission: Boolean!
  where: JSONObject
}

type MediaReadAccess {
  permission: Boolean!
  where: JSONObject
}

type MediaUpdateAccess {
  permission: Boolean!
  where: JSONObject
}

type MediaDeleteAccess {
  permission: Boolean!
  where: JSONObject
}

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 payload_preferencesAccess {
  fields: PayloadPreferencesFields
  create: PayloadPreferencesCreateAccess
  read: PayloadPreferencesReadAccess
  update: PayloadPreferencesUpdateAccess
  delete: PayloadPreferencesDeleteAccess
}

type PayloadPreferencesFields {
  user: PayloadPreferencesFields_user
  key: PayloadPreferencesFields_key
  value: PayloadPreferencesFields_value
  updatedAt: PayloadPreferencesFields_updatedAt
  createdAt: PayloadPreferencesFields_createdAt
}

type PayloadPreferencesFields_user {
  create: PayloadPreferencesFields_user_Create
  read: PayloadPreferencesFields_user_Read
  update: PayloadPreferencesFields_user_Update
  delete: PayloadPreferencesFields_user_Delete
}

type PayloadPreferencesFields_user_Create {
  permission: Boolean!
}

type PayloadPreferencesFields_user_Read {
  permission: Boolean!
}

type PayloadPreferencesFields_user_Update {
  permission: Boolean!
}

type PayloadPreferencesFields_user_Delete {
  permission: Boolean!
}

type PayloadPreferencesFields_key {
  create: PayloadPreferencesFields_key_Create
  read: PayloadPreferencesFields_key_Read
  update: PayloadPreferencesFields_key_Update
  delete: PayloadPreferencesFields_key_Delete
}

type PayloadPreferencesFields_key_Create {
  permission: Boolean!
}

type PayloadPreferencesFields_key_Read {
  permission: Boolean!
}

type PayloadPreferencesFields_key_Update {
  permission: Boolean!
}

type PayloadPreferencesFields_key_Delete {
  permission: Boolean!
}

type PayloadPreferencesFields_value {
  create: PayloadPreferencesFields_value_Create
  read: PayloadPreferencesFields_value_Read
  update: PayloadPreferencesFields_value_Update
  delete: PayloadPreferencesFields_value_Delete
}

type PayloadPreferencesFields_value_Create {
  permission: Boolean!
}

type PayloadPreferencesFields_value_Read {
  permission: Boolean!
}

type PayloadPreferencesFields_value_Update {
  permission: Boolean!
}

type PayloadPreferencesFields_value_Delete {
  permission: Boolean!
}

type PayloadPreferencesFields_updatedAt {
  create: PayloadPreferencesFields_updatedAt_Create
  read: PayloadPreferencesFields_updatedAt_Read
  update: PayloadPreferencesFields_updatedAt_Update
  delete: PayloadPreferencesFields_updatedAt_Delete
}

type PayloadPreferencesFields_updatedAt_Create {
  permission: Boolean!
}

type PayloadPreferencesFields_updatedAt_Read {
  permission: Boolean!
}

type PayloadPreferencesFields_updatedAt_Update {
  permission: Boolean!
}

type PayloadPreferencesFields_updatedAt_Delete {
  permission: Boolean!
}

type PayloadPreferencesFields_createdAt {
  create: PayloadPreferencesFields_createdAt_Create
  read: PayloadPreferencesFields_createdAt_Read
  update: PayloadPreferencesFields_createdAt_Update
  delete: PayloadPreferencesFields_createdAt_Delete
}

type PayloadPreferencesFields_createdAt_Create {
  permission: Boolean!
}

type PayloadPreferencesFields_createdAt_Read {
  permission: Boolean!
}

type PayloadPreferencesFields_createdAt_Update {
  permission: Boolean!
}

type PayloadPreferencesFields_createdAt_Delete {
  permission: Boolean!
}

type PayloadPreferencesCreateAccess {
  permission: Boolean!
  where: JSONObject
}

type PayloadPreferencesReadAccess {
  permission: Boolean!
  where: JSONObject
}

type PayloadPreferencesUpdateAccess {
  permission: Boolean!
  where: JSONObject
}

type PayloadPreferencesDeleteAccess {
  permission: Boolean!
  where: JSONObject
}

type menuAccess {
  fields: MenuFields
  read: MenuReadAccess
  update: MenuUpdateAccess
}

type MenuFields {
  globalText: MenuFields_globalText
  updatedAt: MenuFields_updatedAt
  createdAt: MenuFields_createdAt
}

type MenuFields_globalText {
  create: MenuFields_globalText_Create
  read: MenuFields_globalText_Read
  update: MenuFields_globalText_Update
  delete: MenuFields_globalText_Delete
}

type MenuFields_globalText_Create {
  permission: Boolean!
}

type MenuFields_globalText_Read {
  permission: Boolean!
}

type MenuFields_globalText_Update {
  permission: Boolean!
}

type MenuFields_globalText_Delete {
  permission: Boolean!
}

type MenuFields_updatedAt {
  create: MenuFields_updatedAt_Create
  read: MenuFields_updatedAt_Read
  update: MenuFields_updatedAt_Update
  delete: MenuFields_updatedAt_Delete
}

type MenuFields_updatedAt_Create {
  permission: Boolean!
}

type MenuFields_updatedAt_Read {
  permission: Boolean!
}

type MenuFields_updatedAt_Update {
  permission: Boolean!
}

type MenuFields_updatedAt_Delete {
  permission: Boolean!
}

type MenuFields_createdAt {
  create: MenuFields_createdAt_Create
  read: MenuFields_createdAt_Read
  update: MenuFields_createdAt_Update
  delete: MenuFields_createdAt_Delete
}

type MenuFields_createdAt_Create {
  permission: Boolean!
}

type MenuFields_createdAt_Read {
  permission: Boolean!
}

type MenuFields_createdAt_Update {
  permission: Boolean!
}

type MenuFields_createdAt_Delete {
  permission: Boolean!
}

type MenuReadAccess {
  permission: Boolean!
  where: JSONObject
}

type MenuUpdateAccess {
  permission: Boolean!
  where: JSONObject
}

type Mutation {
  createPost(data: mutationPostInput!, draft: Boolean): Post
  updatePost(id: String!, autosave: Boolean, data: mutationPostUpdateInput!, draft: Boolean): Post
  deletePost(id: String!): Post
  createMedia(data: mutationMediaInput!, draft: Boolean): Media
  updateMedia(
    id: String!
    autosave: Boolean
    data: mutationMediaUpdateInput!
    draft: Boolean
  ): Media
  deleteMedia(id: String!): Media
  createUser(data: mutationUserInput!, draft: Boolean): User
  updateUser(id: String!, autosave: Boolean, data: mutationUserUpdateInput!, draft: Boolean): User
  deleteUser(id: String!): User
  refreshTokenUser(token: String): usersRefreshedUser
  logoutUser: String
  unlockUser(email: String!): Boolean!
  loginUser(email: String, password: String): usersLoginResult
  forgotPasswordUser(disableEmail: Boolean, email: String!, expiration: Int): Boolean!
  resetPasswordUser(password: String, token: String): usersResetPassword
  verifyEmailUser(token: String): Boolean
  createPayloadPreference(data: mutationPayloadPreferenceInput!, draft: Boolean): PayloadPreference
  updatePayloadPreference(
    id: String!
    autosave: Boolean
    data: mutationPayloadPreferenceUpdateInput!
    draft: Boolean
  ): PayloadPreference
  deletePayloadPreference(id: String!): PayloadPreference
  updateMenu(data: mutationMenuInput!, draft: Boolean): Menu
}

input mutationPostInput {
  text: String
  associatedMedia: String
  updatedAt: String
  createdAt: String
}

input mutationPostUpdateInput {
  text: String
  associatedMedia: String
  updatedAt: String
  createdAt: String
}

input mutationMediaInput {
  updatedAt: String
  createdAt: String
  url: String
  filename: String
  mimeType: String
  filesize: Float
  width: Float
  height: Float
}

input mutationMediaUpdateInput {
  updatedAt: String
  createdAt: String
  url: String
  filename: String
  mimeType: String
  filesize: Float
  width: Float
  height: Float
}

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

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

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

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

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

type usersResetPassword {
  token: String
  user: User
}

input mutationPayloadPreferenceInput {
  user: PayloadPreference_UserRelationshipInput
  key: String
  value: JSON
  updatedAt: String
  createdAt: String
}

input PayloadPreference_UserRelationshipInput {
  relationTo: PayloadPreference_UserRelationshipInputRelationTo
  value: JSON
}

enum PayloadPreference_UserRelationshipInputRelationTo {
  users
}

input mutationPayloadPreferenceUpdateInput {
  user: PayloadPreferenceUpdate_UserRelationshipInput
  key: String
  value: JSON
  updatedAt: String
  createdAt: String
}

input PayloadPreferenceUpdate_UserRelationshipInput {
  relationTo: PayloadPreferenceUpdate_UserRelationshipInputRelationTo
  value: JSON
}

enum PayloadPreferenceUpdate_UserRelationshipInputRelationTo {
  users
}

input mutationMenuInput {
  globalText: String
  updatedAt: String
  createdAt: String
}
