You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
wiki/server/graph/schemas/site.graphql

249 lines
4.1 KiB

# ===============================================
# SITES
# ===============================================
extend type Query {
sites: [Site]
siteById (
id: UUID!
): Site
siteByHostname (
hostname: String!
exact: Boolean!
): Site
}
extend type Mutation {
createSite (
hostname: String!
title: String!
): SiteCreateResponse
updateSite (
id: UUID!
patch: SiteUpdateInput!
): DefaultResponse
uploadSiteLogo (
id: UUID!
image: Upload!
): DefaultResponse
uploadSiteFavicon (
id: UUID!
image: Upload!
): DefaultResponse
uploadSiteLoginBg (
id: UUID!
image: Upload!
): DefaultResponse
deleteSite (
id: UUID!
): DefaultResponse
}
# -----------------------------------------------
# TYPES
# -----------------------------------------------
type Site {
id: UUID
hostname: String
isEnabled: Boolean
title: String
description: String
company: String
contentLicense: String
footerExtra: String
pageExtensions: String
logoText: Boolean
sitemap: Boolean
robots: SiteRobots
features: SiteFeatures
defaults: SiteDefaults
uploads: SiteUploads
locale: String
localeNamespaces: [String]
localeNamespacing: Boolean
editors: SiteEditors
theme: SiteTheme
}
type SiteRobots {
index: Boolean
follow: Boolean
}
type SiteFeatures {
ratings: Boolean
ratingsMode: SitePageRatingMode
comments: Boolean
contributions: Boolean
profile: Boolean
reasonForChange: SiteReasonForChangeMode
search: Boolean
}
type SiteDefaults {
timezone: String
dateFormat: String
timeFormat: String
tocDepth: PageTocDepth
}
type SiteUploads {
conflictBehavior: SiteUploadConflictBehavior
normalizeFilename: Boolean
}
type SiteLocale {
locale: String
autoUpdate: Boolean
namespacing: Boolean
namespaces: [String]
}
type SiteEditors {
asciidoc: SiteEditor
markdown: SiteEditor
wysiwyg: SiteEditor
}
type SiteEditor {
isActive: Boolean
config: JSON
}
type SiteTheme {
dark: Boolean
colorPrimary: String
colorSecondary: String
colorAccent: String
colorHeader: String
colorSidebar: String
injectCSS: String
injectHead: String
injectBody: String
contentWidth: SiteThemeWidth
sidebarPosition: SiteThemePosition
tocPosition: SiteThemePosition
showSharingMenu: Boolean
showPrintBtn: Boolean
baseFont: String
contentFont: String
}
enum SiteThemeWidth {
full
centered
}
enum SiteThemePosition {
off
left
right
}
enum SitePageRatingMode {
off
thumbs
stars
}
enum SiteReasonForChangeMode {
off
optional
required
}
enum SiteUploadConflictBehavior {
overwrite
reject
new
}
type SiteCreateResponse {
operation: Operation
site: Site
}
input SiteUpdateInput {
hostname: String
isEnabled: Boolean
title: String
description: String
company: String
contentLicense: String
footerExtra: String
pageExtensions: String
logoText: Boolean
sitemap: Boolean
robots: SiteRobotsInput
features: SiteFeaturesInput
defaults: SiteDefaultsInput
uploads: SiteUploadsInput
editors: SiteEditorsInput
theme: SiteThemeInput
}
input SiteRobotsInput {
index: Boolean
follow: Boolean
}
input SiteFeaturesInput {
ratings: Boolean
ratingsMode: SitePageRatingMode
comments: Boolean
contributions: Boolean
profile: Boolean
reasonForChange: SiteReasonForChangeMode
search: Boolean
}
input SiteDefaultsInput {
timezone: String
dateFormat: String
timeFormat: String
tocDepth: PageTocDepthInput
}
input SiteThemeInput {
dark: Boolean
colorPrimary: String
colorSecondary: String
colorAccent: String
colorHeader: String
colorSidebar: String
injectCSS: String
injectHead: String
injectBody: String
contentWidth: SiteThemeWidth
sidebarPosition: SiteThemePosition
tocPosition: SiteThemePosition
showSharingMenu: Boolean
showPrintBtn: Boolean
baseFont: String
contentFont: String
}
input SiteEditorsInput {
asciidoc: SiteEditorInput
markdown: SiteEditorInput
wysiwyg: SiteEditorInput
}
input SiteEditorInput {
isActive: Boolean
config: JSON
}
input SiteUploadsInput {
conflictBehavior: SiteUploadConflictBehavior
normalizeFilename: Boolean
}