123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339 |
- # ===============================================
- # 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!
- tocDepth: RangeInput
- useDefaultTocDepth: Boolean
- ): 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
- tocDepth: RangeInput
- useDefaultTocDepth: Boolean
- ): 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
- tocDepth: Range
- useDefaultTocDepth: Boolean
- 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
- }
|