type File {
  id: ID!
  name: String!
  alt: String
  caption: String
  url(size: ImageSize!): String!
  storedObjects: [StoredObjects!]!
  uploadStatus: String
  updated: DateTime!
  created: DateTime!
}

type ImageMetadata {
  width: Int!
  height: Int!
  space: String
  density: Int
}

type StoredObjects {
  type: ImageSize!
  key: String!
  size: Int
  mimetype: String!
  extension: String!
  imageMetadata: ImageMetadata
}

enum ImageSize {
  original
  medium
  small
}

input UpdateFileInput {
  id: ID!
  name: String
  alt: String
  description: String
  tags: [String!]!
}

type SignedURLPayload {
  url: String!
}