CMS Models
Page
type Page{
id: String!
title: String!
handle: String!
description: String
status: String!
seo: SEO!
publishedAt: DateTime
firstPublishedAt: DateTime
firstPublishedAtTimezone: String
createdAt: DateTime
updatedAt: DateTime
action: String
sections: SectionConnection
template: {
id: String!
title: String!
type: String!
status: String!
sections: {
totalCount: Int
pageInfo: {
hasNextPage: Boolean
endCursor: String
}
edges: [
{
cursor: String
node: Section
}
]
}
}
}
Page History
type PageHistory {
nodes: [PageRevision]
pageInfo: PageInfo
}
type PageRevision {
id: String!
pageId: String!
title: String!
handle: String!
publishedAt: DateTime
createdAt: DateTime
}
type PageInfo {
hasNextPage: Boolean!
endCursor: String!
}
Page Revision
type PageRevision {
id: String!
pageId: String!
title: String!
handle: String!
description: String
status: String!
sections: [Section]
user: User!
publishedAt: DateTime
storeId: String!
createdAt: DateTime
}
Page Info
type PageInfo {
hasNextPage: Boolean!
endCursor: String!
}
Blog
type Blog {
id: ID!
blogId: String!
title: String!
handle: String!
description: String
status: String!
sections: [Section]
seo: SEO!
user: User
publishedAt: DateTime
firstPublishedAt: DateTime
firstPublishedAtTimezone: String
storeId: String!
createdAt: DateTime
}
Article
type Article {
id: ID!
articleId: String!
title: String!
handle: String!
description: String
author: String
category: String
tags: [String]
excerpt: String
bodyHtml: String
status: String!
sections: [Section]
seo: SEO!
publishedAt: DateTime
firstPublishedAt: DateTime
firstPublishedAtTimezone: String
blog: Blog
user: User
storeId: String!
createdAt: DateTime
}
Product Page
type ProductPage {
id: ID!
title: String!
handle: String!
description: String
status: String!
seo: SEO
publishedAt: DateTime
firstPublishedAt: DateTime
firstPublishedAtTimezone: String
createdAt: DateTime
updatedAt: DateTime
sections: SectionConnection!
template: Template
}
Product Page History
type ProductPageHistory {
nodes: [ProductPageRevision]
pageInfo: PageInfo
}
Product Page Revision
type ProductPageRevision {
id: ID!
productId: String!
title: String!
handle: String!
description: String
status: String!
seo: SEO
sections: [Section]
user: User
publishedAt: DateTime
storeId: String!
createdAt: DateTime
}
Collection
type Collection {
id: ID!
collectionId: String!
title: String!
handle: String!
description: String
status: String!
sections: [Section]
seo: SEO!
publishedAt: DateTime
firstPublishedAt: DateTime
firstPublishedAtTimezone: String
user: User
storeId: String!
createdAt: DateTime\
}
Section
type SectionConnection {
totalCount: Int!
pageInfo: PageInfo!
edges: [SectionEdge]
}
type Section {
id: String!
parentContentType: String
title: String!
status: String!
data: SectionData
dataSource: String
hasReferences: Boolean
publishedAt: DateTime
createdAt: DateTime
updatedAt: DateTime
}
type SectionData {
tinaId: String!
heading: String
section: {
fullWidth: Boolean
textColor: String
aboveTheFold: Boolean
}
_template: String!
sectionName: String
sectionType: String
resourceType: String
sectionVisibility: String
}
Template
type Template {
id: ID!
templateId: String!
title: String!
type: String!
isDefault: Boolean!
status: String!
sections: SectionConnection
publishedAt: DateTime
createdAt: DateTime
}
Site Settings
type SiteSettings {
id: ID!
siteSettingId: ID!
settings: JSON
seo: SEO!
status: String!
publishedAt: DateTime
user: User
storeId: String!
createdAt: DateTime!
}
Schedule
type Schedule {
id: ID!
title: String!
description: String
executeAt: DateTime
timezone: String
state: ScheduleState!
totalContentCount: Int!
content: [Content!]
createdAt: DateTime
updatedAt: DateTime
}
Content Environment
type ContentEnvironment {
id: ID!
name: String!
handle: String!
storeId: String!
createdAt: DateTime!
}
User
type User {
id: String!
first_name: String!
last_name: String!
email: String!
avatar_url: String
}
SEO
type SEO {
title: String!
description: String
image: String
keywords: [String]
noIndex: Boolean
noFollow: Boolean
}