| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333 | 
							- # ===============================================
 
- # PAGES
 
- # ===============================================
 
- extend type Query {
 
-   pages: PageQuery
 
- }
 
- extend type Mutation {
 
-   pages: PageMutation
 
- }
 
- # -----------------------------------------------
 
- # QUERIES
 
- # -----------------------------------------------
 
- type PageQuery {
 
-   history(
 
-     id: Int!
 
-     offsetPage: Int
 
-     offsetSize: Int
 
-   ): PageHistoryResult @auth(requires: ["manage:system", "read:history"])
 
-   version(
 
-     pageId: Int!
 
-     versionId: Int!
 
-   ): PageVersion @auth(requires: ["manage:system", "read:history"])
 
-   search(
 
-     query: String!
 
-     path: String
 
-     locale: String
 
-   ): PageSearchResponse! @auth(requires: ["manage:system", "read:pages"])
 
-   list(
 
-     limit: Int
 
-     orderBy: PageOrderBy
 
-     orderByDirection: PageOrderByDirection
 
-     tags: [String!]
 
-     locale: String
 
-     creatorId: Int
 
-     authorId: Int
 
-   ): [PageListItem!]! @auth(requires: ["manage:system", "read:pages"])
 
-   single(
 
-     id: Int!
 
-   ): Page @auth(requires: ["read:pages", "manage:system"])
 
-   tags: [PageTag]! @auth(requires: ["manage:system", "read:pages"])
 
-   searchTags(
 
-     query: String!
 
-   ): [String]! @auth(requires: ["manage:system", "read:pages"])
 
-   tree(
 
-     path: String
 
-     parent: Int
 
-     mode: PageTreeMode!
 
-     locale: String!
 
-     includeAncestors: Boolean
 
-   ): [PageTreeItem] @auth(requires: ["manage:system", "read:pages"])
 
-   links(
 
-     locale: String!
 
-   ): [PageLinkItem] @auth(requires: ["manage:system", "read:pages"])
 
-   checkConflicts(
 
-     id: Int!
 
-     checkoutDate: Date!
 
-   ): Boolean! @auth(requires: ["write:pages", "manage:pages", "manage:system"])
 
-   conflictLatest(
 
-     id: Int!
 
-   ): PageConflictLatest! @auth(requires: ["write:pages", "manage:pages", "manage:system"])
 
- }
 
- # -----------------------------------------------
 
- # MUTATIONS
 
- # -----------------------------------------------
 
- type PageMutation {
 
-   create(
 
-     content: String!
 
-     description: String!
 
-     editor: String!
 
-     isPublished: Boolean!
 
-     isPrivate: Boolean!
 
-     locale: String!
 
-     path: String!
 
-     publishEndDate: Date
 
-     publishStartDate: Date
 
-     scriptCss: String
 
-     scriptJs: String
 
-     tags: [String]!
 
-     title: String!
 
-   ): PageResponse @auth(requires: ["write:pages", "manage:pages", "manage:system"])
 
-   update(
 
-     id: Int!
 
-     content: String
 
-     description: String
 
-     editor: String
 
-     isPrivate: Boolean
 
-     isPublished: Boolean
 
-     locale: String
 
-     path: String
 
-     publishEndDate: Date
 
-     publishStartDate: Date
 
-     scriptCss: String
 
-     scriptJs: String
 
-     tags: [String]
 
-     title: String
 
-   ): PageResponse @auth(requires: ["write:pages", "manage:pages", "manage:system"])
 
-   convert(
 
-     id: Int!
 
-     editor: String!
 
-   ): DefaultResponse @auth(requires: ["write:pages", "manage:pages", "manage:system"])
 
-   move(
 
-     id: Int!
 
-     destinationPath: String!
 
-     destinationLocale: String!
 
-   ): DefaultResponse @auth(requires: ["manage:pages", "manage:system"])
 
-   delete(
 
-     id: Int!
 
-   ): DefaultResponse @auth(requires: ["delete:pages", "manage:system"])
 
-   deleteTag(
 
-     id: Int!
 
-   ): DefaultResponse @auth(requires: ["manage:system"])
 
-   updateTag(
 
-     id: Int!
 
-     tag: String!
 
-     title: String!
 
-   ): DefaultResponse @auth(requires: ["manage:system"])
 
-   flushCache: DefaultResponse @auth(requires: ["manage:system"])
 
-   migrateToLocale(
 
-     sourceLocale: String!
 
-     targetLocale: String!
 
-   ): PageMigrationResponse @auth(requires: ["manage:system"])
 
-   rebuildTree: DefaultResponse @auth(requires: ["manage:system"])
 
-   render(
 
-     id: Int!
 
-   ): DefaultResponse @auth(requires: ["manage:system"])
 
-   restore(
 
-     pageId: Int!
 
-     versionId: Int!
 
-   ): DefaultResponse @auth(requires: ["write:pages", "manage:pages", "manage:system"])
 
-   purgeHistory (
 
-     olderThan: String!
 
-   ): DefaultResponse @auth(requires: ["manage:system"])
 
- }
 
- # -----------------------------------------------
 
- # TYPES
 
- # -----------------------------------------------
 
- type PageResponse {
 
-   responseResult: ResponseStatus!
 
-   page: Page
 
- }
 
- type PageMigrationResponse {
 
-   responseResult: ResponseStatus!
 
-   count: Int
 
- }
 
- type Page {
 
-   id: Int!
 
-   path: String!
 
-   hash: String!
 
-   title: String!
 
-   description: String!
 
-   isPrivate: Boolean! @auth(requires: ["write:pages", "manage:system"])
 
-   isPublished: Boolean! @auth(requires: ["write:pages", "manage:system"])
 
-   privateNS: String @auth(requires: ["write:pages", "manage:system"])
 
-   publishStartDate: Date! @auth(requires: ["write:pages", "manage:system"])
 
-   publishEndDate: Date! @auth(requires: ["write:pages", "manage:system"])
 
-   tags: [PageTag]!
 
-   content: String! @auth(requires: ["read:source", "write:pages", "manage:system"])
 
-   render: String
 
-   toc: String
 
-   contentType: String!
 
-   createdAt: Date!
 
-   updatedAt: Date!
 
-   editor: String! @auth(requires: ["write:pages", "manage:system"])
 
-   locale: String!
 
-   scriptCss: String
 
-   scriptJs: String
 
-   authorId: Int! @auth(requires: ["write:pages", "manage:system"])
 
-   authorName: String! @auth(requires: ["write:pages", "manage:system"])
 
-   authorEmail: String! @auth(requires: ["write:pages", "manage:system"])
 
-   creatorId: Int! @auth(requires: ["write:pages", "manage:system"])
 
-   creatorName: String! @auth(requires: ["write:pages", "manage:system"])
 
-   creatorEmail: String! @auth(requires: ["write:pages", "manage:system"])
 
- }
 
- type PageTag {
 
-   id: Int!
 
-   tag: String!
 
-   title: String
 
-   createdAt: Date!
 
-   updatedAt: Date!
 
- }
 
- type PageHistory {
 
-   versionId: Int!
 
-   versionDate: Date!
 
-   authorId: Int!
 
-   authorName: String!
 
-   actionType: String!
 
-   valueBefore: String
 
-   valueAfter: String
 
- }
 
- type PageVersion {
 
-   action: String!
 
-   authorId: String!
 
-   authorName: String!
 
-   content: String!
 
-   contentType: String!
 
-   createdAt: Date!
 
-   versionDate: Date!
 
-   description: String!
 
-   editor: String!
 
-   isPrivate: Boolean!
 
-   isPublished: Boolean!
 
-   locale: String!
 
-   pageId: Int!
 
-   path: String!
 
-   publishEndDate: Date!
 
-   publishStartDate: Date!
 
-   tags: [String]!
 
-   title: String!
 
-   versionId: Int!
 
- }
 
- type PageHistoryResult {
 
-   trail: [PageHistory]
 
-   total: Int!
 
- }
 
- type PageSearchResponse {
 
-   results: [PageSearchResult]!
 
-   suggestions: [String]!
 
-   totalHits: Int!
 
- }
 
- type PageSearchResult {
 
-   id: String!
 
-   title: String!
 
-   description: String!
 
-   path: String!
 
-   locale: String!
 
- }
 
- type PageListItem {
 
-   id: Int!
 
-   path: String!
 
-   locale: String!
 
-   title: String
 
-   description: String
 
-   contentType: String!
 
-   isPublished: Boolean!
 
-   isPrivate: Boolean!
 
-   privateNS: String
 
-   createdAt: Date!
 
-   updatedAt: Date!
 
-   tags: [String]
 
- }
 
- type PageTreeItem {
 
-   id: Int!
 
-   path: String!
 
-   depth: Int!
 
-   title: String!
 
-   isPrivate: Boolean!
 
-   isFolder: Boolean!
 
-   privateNS: String
 
-   parent: Int
 
-   pageId: Int
 
-   locale: String!
 
- }
 
- type PageLinkItem {
 
-   id: Int!
 
-   path: String!
 
-   title: String!
 
-   links: [String]!
 
- }
 
- type PageConflictLatest {
 
-   id: Int!
 
-   authorId: String!
 
-   authorName: String!
 
-   content: String!
 
-   createdAt: Date!
 
-   description: String!
 
-   isPublished: Boolean!
 
-   locale: String!
 
-   path: String!
 
-   tags: [String]
 
-   title: String!
 
-   updatedAt: Date!
 
- }
 
- enum PageOrderBy {
 
-   CREATED
 
-   ID
 
-   PATH
 
-   TITLE
 
-   UPDATED
 
- }
 
- enum PageOrderByDirection {
 
-   ASC
 
-   DESC
 
- }
 
- enum PageTreeMode {
 
-   FOLDERS
 
-   PAGES
 
-   ALL
 
- }
 
 
  |