| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196 | # ===============================================# 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:pages"])  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  ): [PageListItem!]! @auth(requires: ["manage:system", "read:pages"])  single(    id: Int!  ): Page @auth(requires: ["manage:pages", "delete:pages", "manage:system"])  tags: [PageTag]! @auth(requires: ["manage:system", "read:pages"])}# -----------------------------------------------# MUTATIONS# -----------------------------------------------type PageMutation {  create(    content: String!    description: String!    editor: String!    isPublished: Boolean!    isPrivate: Boolean!    locale: String!    path: String!    publishEndDate: Date    publishStartDate: Date    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    tags: [String]    title: String  ): PageResponse @auth(requires: ["manage:pages", "manage:system"])  delete(    id: Int!  ): DefaultResponse @auth(requires: ["delete:pages", "manage:system"])  flushCache: DefaultResponse @auth(requires: ["manage:system"])  migrateToLocale(    sourceLocale: String!    targetLocale: String!  ): PageMigrationResponse @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!  isPublished: Boolean!  privateNS: String  publishStartDate: Date!  publishEndDate: String!  tags: [PageTag]!  content: String!  render: String  toc: String  contentType: String!  createdAt: Date!  updatedAt: Date!  editor: String!  locale: String!  authorId: Int!  authorName: String!  authorEmail: String!  creatorId: Int!  creatorName: String!  creatorEmail: String!}type PageTag {  id: Int!  tag: String!  title: String  createdAt: Date!  updatedAt: Date!}type PageHistory {  versionId: Int!  authorId: Int!  authorName: String!  actionType: String!  valueBefore: String  valueAfter: String  createdAt: Date!}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]}enum PageOrderBy {  CREATED  ID  PATH  TITLE  UPDATED}enum PageOrderByDirection {  ASC  DESC}
 |