site.graphql 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. # ===============================================
  2. # SITES
  3. # ===============================================
  4. extend type Query {
  5. sites: [Site]
  6. siteById (
  7. id: UUID!
  8. ): Site
  9. siteByHostname (
  10. hostname: String!
  11. exact: Boolean!
  12. ): Site
  13. }
  14. extend type Mutation {
  15. createSite (
  16. hostname: String!
  17. title: String!
  18. ): SiteCreateResponse
  19. updateSite (
  20. id: UUID!
  21. patch: SiteUpdateInput!
  22. ): DefaultResponse
  23. uploadSiteLogo (
  24. id: UUID!
  25. image: Upload!
  26. ): DefaultResponse
  27. uploadSiteFavicon (
  28. id: UUID!
  29. image: Upload!
  30. ): DefaultResponse
  31. deleteSite (
  32. id: UUID!
  33. ): DefaultResponse
  34. }
  35. # -----------------------------------------------
  36. # TYPES
  37. # -----------------------------------------------
  38. type Site {
  39. id: UUID
  40. hostname: String
  41. isEnabled: Boolean
  42. title: String
  43. description: String
  44. company: String
  45. contentLicense: String
  46. footerExtra: String
  47. pageExtensions: String
  48. logoText: Boolean
  49. sitemap: Boolean
  50. robots: SiteRobots
  51. features: SiteFeatures
  52. defaults: SiteDefaults
  53. locale: String
  54. localeNamespaces: [String]
  55. localeNamespacing: Boolean
  56. theme: SiteTheme
  57. }
  58. type SiteRobots {
  59. index: Boolean
  60. follow: Boolean
  61. }
  62. type SiteFeatures {
  63. ratings: Boolean
  64. ratingsMode: SitePageRatingModes
  65. comments: Boolean
  66. contributions: Boolean
  67. profile: Boolean
  68. search: Boolean
  69. }
  70. type SiteDefaults {
  71. timezone: String
  72. dateFormat: String
  73. timeFormat: String
  74. }
  75. type SiteLocale {
  76. locale: String
  77. autoUpdate: Boolean
  78. namespacing: Boolean
  79. namespaces: [String]
  80. }
  81. type SiteTheme {
  82. dark: Boolean
  83. colorPrimary: String
  84. colorSecondary: String
  85. colorAccent: String
  86. colorHeader: String
  87. colorSidebar: String
  88. injectCSS: String
  89. injectHead: String
  90. injectBody: String
  91. contentWidth: SiteThemeWidth
  92. sidebarPosition: SiteThemePosition
  93. tocPosition: SiteThemePosition
  94. showSharingMenu: Boolean
  95. showPrintBtn: Boolean
  96. baseFont: String
  97. contentFont: String
  98. }
  99. enum SiteThemeWidth {
  100. full
  101. centered
  102. }
  103. enum SiteThemePosition {
  104. off
  105. left
  106. right
  107. }
  108. enum SitePageRatingModes {
  109. off
  110. thumbs
  111. stars
  112. }
  113. type SiteCreateResponse {
  114. operation: Operation
  115. site: Site
  116. }
  117. input SiteUpdateInput {
  118. hostname: String
  119. isEnabled: Boolean
  120. title: String
  121. description: String
  122. company: String
  123. contentLicense: String
  124. footerExtra: String
  125. pageExtensions: String
  126. logoText: Boolean
  127. sitemap: Boolean
  128. robots: SiteRobotsInput
  129. features: SiteFeaturesInput
  130. defaults: SiteDefaultsInput
  131. theme: SiteThemeInput
  132. }
  133. input SiteRobotsInput {
  134. index: Boolean
  135. follow: Boolean
  136. }
  137. input SiteFeaturesInput {
  138. ratings: Boolean
  139. ratingsMode: SitePageRatingModes
  140. comments: Boolean
  141. contributions: Boolean
  142. profile: Boolean
  143. search: Boolean
  144. }
  145. input SiteDefaultsInput {
  146. timezone: String
  147. dateFormat: String
  148. timeFormat: String
  149. }
  150. input SiteThemeInput {
  151. dark: Boolean
  152. colorPrimary: String
  153. colorSecondary: String
  154. colorAccent: String
  155. colorHeader: String
  156. colorSidebar: String
  157. injectCSS: String
  158. injectHead: String
  159. injectBody: String
  160. contentWidth: SiteThemeWidth
  161. sidebarPosition: SiteThemePosition
  162. tocPosition: SiteThemePosition
  163. showSharingMenu: Boolean
  164. showPrintBtn: Boolean
  165. baseFont: String
  166. contentFont: String
  167. }