export const ghostResponses = {
posts: {
list: {
posts: [
{
id: '1',
uuid: 'uuid-1',
title: 'Test Post 1',
slug: 'test-post-1',
mobiledoc: '{"version":"0.3.1","atoms":[],"cards":[],"markups":[],"sections":[[1,"p",[[0,[],0,"Test content"]]]]}',
status: 'published' as 'published',
visibility: 'public',
created_at: '2024-01-01T00:00:00.000Z',
updated_at: '2024-01-01T00:00:00.000Z',
published_at: '2024-01-01T00:00:00.000Z',
tags: [],
authors: [{
id: '1',
name: 'Test Author',
slug: 'test-author',
}],
primary_author: {
id: '1',
name: 'Test Author',
slug: 'test-author',
},
primary_tag: null,
meta_title: null,
meta_description: null,
og_image: null,
og_title: null,
og_description: null,
twitter_image: null,
twitter_title: null,
twitter_description: null,
custom_excerpt: null,
featured: false,
reading_time: 1,
},
{
id: '2',
uuid: 'uuid-2',
title: 'Test Post 2',
slug: 'test-post-2',
mobiledoc: '{"version":"0.3.1","atoms":[],"cards":[],"markups":[],"sections":[[1,"p",[[0,[],0,"Another test"]]]]}',
status: 'draft' as 'draft',
visibility: 'public',
created_at: '2024-01-02T00:00:00.000Z',
updated_at: '2024-01-02T00:00:00.000Z',
published_at: null,
tags: [],
authors: [{
id: '1',
name: 'Test Author',
slug: 'test-author',
}],
primary_author: {
id: '1',
name: 'Test Author',
slug: 'test-author',
},
primary_tag: null,
meta_title: null,
meta_description: null,
og_image: null,
og_title: null,
og_description: null,
twitter_image: null,
twitter_title: null,
twitter_description: null,
custom_excerpt: null,
featured: false,
reading_time: 1,
},
],
meta: {
pagination: {
page: 1,
limit: 15,
pages: 1,
total: 2,
next: null,
prev: null,
},
},
},
single: {
posts: [{
id: '1',
uuid: 'uuid-1',
title: 'Test Post 1',
slug: 'test-post-1',
mobiledoc: '{"version":"0.3.1","atoms":[],"cards":[],"markups":[],"sections":[[1,"p",[[0,[],0,"Test content"]]]]}',
status: 'published',
visibility: 'public',
created_at: '2024-01-01T00:00:00.000Z',
updated_at: '2024-01-01T00:00:00.000Z',
published_at: '2024-01-01T00:00:00.000Z',
tags: [],
authors: [{
id: '1',
name: 'Test Author',
slug: 'test-author',
}],
primary_author: {
id: '1',
name: 'Test Author',
slug: 'test-author',
},
primary_tag: null,
meta_title: null,
meta_description: null,
og_image: null,
og_title: null,
og_description: null,
twitter_image: null,
twitter_title: null,
twitter_description: null,
custom_excerpt: null,
featured: false,
reading_time: 1,
}],
},
created: {
posts: [{
id: '3',
uuid: 'uuid-3',
title: 'New Test Post',
slug: 'new-test-post',
mobiledoc: '{"version":"0.3.1","atoms":[],"cards":[],"markups":[],"sections":[[1,"p",[[0,[],0,"New content"]]]]}',
status: 'draft',
visibility: 'public',
created_at: '2024-01-03T00:00:00.000Z',
updated_at: '2024-01-03T00:00:00.000Z',
published_at: null,
tags: [],
authors: [{
id: '1',
name: 'Test Author',
slug: 'test-author',
}],
primary_author: {
id: '1',
name: 'Test Author',
slug: 'test-author',
},
primary_tag: null,
meta_title: null,
meta_description: null,
og_image: null,
og_title: null,
og_description: null,
twitter_image: null,
twitter_title: null,
twitter_description: null,
custom_excerpt: null,
featured: false,
reading_time: 1,
}],
},
},
members: {
list: {
members: [
{
id: '1',
uuid: 'member-uuid-1',
email: 'test1@example.com',
name: 'Test Member 1',
note: null,
subscribed: true,
created_at: '2024-01-01T00:00:00.000Z',
updated_at: '2024-01-01T00:00:00.000Z',
labels: [],
subscriptions: [],
avatar_image: null,
comped: false,
email_count: 0,
email_opened_count: 0,
email_open_rate: null,
status: 'free',
last_seen_at: null,
email_suppression: {
suppressed: false,
info: null,
},
newsletters: [],
},
{
id: '2',
uuid: 'member-uuid-2',
email: 'test2@example.com',
name: 'Test Member 2',
note: 'VIP member',
subscribed: true,
created_at: '2024-01-02T00:00:00.000Z',
updated_at: '2024-01-02T00:00:00.000Z',
labels: [{
id: '1',
name: 'VIP',
slug: 'vip',
created_at: '2024-01-01T00:00:00.000Z',
updated_at: '2024-01-01T00:00:00.000Z',
}],
subscriptions: [],
avatar_image: null,
comped: false,
email_count: 5,
email_opened_count: 3,
email_open_rate: 60,
status: 'paid',
last_seen_at: '2024-01-15T00:00:00.000Z',
email_suppression: {
suppressed: false,
info: null,
},
newsletters: [],
},
],
meta: {
pagination: {
page: 1,
limit: 15,
pages: 1,
total: 2,
next: null,
prev: null,
},
},
},
},
settings: {
settings: {
title: 'Test Blog',
description: 'A test Ghost blog',
logo: null,
icon: null,
accent_color: '#15171A',
cover_image: null,
facebook: null,
twitter: null,
lang: 'en',
timezone: 'UTC',
codeinjection_head: null,
codeinjection_foot: null,
navigation: [
{ label: 'Home', url: '/' },
{ label: 'About', url: '/about/' },
],
secondary_navigation: [],
meta_title: null,
meta_description: null,
og_image: null,
og_title: null,
og_description: null,
twitter_image: null,
twitter_title: null,
twitter_description: null,
members_support_address: 'noreply',
members_enabled: true,
members_invite_only: false,
stripe_publishable_key: null,
paid_members_enabled: false,
members_track_sources: true,
portal_name: true,
portal_button: true,
portal_plans: ['free'],
portal_products: [],
mailgun_domain: null,
mailgun_api_key: null,
mailgun_base_url: null,
email_track_opens: true,
email_track_clicks: true,
active_timezone: 'UTC',
default_locale: 'en',
},
},
tags: {
list: {
tags: [
{
id: '1',
name: 'Getting Started',
slug: 'getting-started',
description: null,
feature_image: null,
visibility: 'public',
og_image: null,
og_title: null,
og_description: null,
twitter_image: null,
twitter_title: null,
twitter_description: null,
meta_title: null,
meta_description: null,
codeinjection_head: null,
codeinjection_foot: null,
canonical_url: null,
accent_color: null,
created_at: '2024-01-01T00:00:00.000Z',
updated_at: '2024-01-01T00:00:00.000Z',
},
],
meta: {
pagination: {
page: 1,
limit: 15,
pages: 1,
total: 1,
next: null,
prev: null,
},
},
},
},
errors: {
unauthorized: {
errors: [{
message: 'Authorization failed',
context: 'Unable to determine the authenticated user or integration.',
type: 'UnauthorizedError',
details: null,
property: null,
help: null,
code: 'UNAUTHORIZED',
id: 'error-id',
}],
},
notFound: {
errors: [{
message: 'Resource not found error',
context: 'Resource not found',
type: 'NotFoundError',
details: null,
property: null,
help: null,
code: 'RESOURCE_NOT_FOUND',
id: 'error-id',
}],
},
validation: {
errors: [{
message: 'Validation error',
context: 'Validation failed for "title"',
type: 'ValidationError',
details: 'Value in [title] cannot be blank.',
property: 'title',
help: null,
code: 'VALIDATION_ERROR',
id: 'error-id',
}],
},
rateLimited: {
errors: [{
message: 'Too Many Requests',
context: 'Rate limit exceeded',
type: 'TooManyRequestsError',
details: null,
property: null,
help: null,
code: 'TOO_MANY_REQUESTS',
id: 'error-id',
}],
},
},
};