# ===============================================
# SITE
# ===============================================

extend type Query {
  site: SiteQuery
}

extend type Mutation {
  site: SiteMutation
}

# -----------------------------------------------
# QUERIES
# -----------------------------------------------

type SiteQuery {
  config: SiteConfig @auth(requires: ["manage:system"])
}

# -----------------------------------------------
# MUTATIONS
# -----------------------------------------------

type SiteMutation {
  updateConfig(
    host: String!
    title: String!
    description: String!
    robots: [String]!
    analyticsService: String!
    analyticsId: String!
    company: String!
    hasLogo: Boolean!
    logoIsSquare: Boolean!
    featurePageRatings: Boolean!
    featurePageComments: Boolean!
    featurePersonalWikis: Boolean!
  ): DefaultResponse @auth(requires: ["manage:system"])
}

# -----------------------------------------------
# TYPES
# -----------------------------------------------

type SiteConfig {
  host: String!
  title: String!
  description: String!
  robots: [String]!
  analyticsService: String!
  analyticsId: String!
  company: String!
  hasLogo: Boolean!
  logoIsSquare: Boolean!
  featurePageRatings: Boolean!
  featurePageComments: Boolean!
  featurePersonalWikis: Boolean!
}