mirror of https://github.com/requarks/wiki
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.
249 lines
4.1 KiB
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
|
|
}
|