9503ca1c7b
refs https://github.com/TryGhost/Team/issues/2168 - wires new source tracking setting for members to UI - splits the new analytics page settings to its own component, cleaned up the files and wired up the settings upstream
90 lines
3.0 KiB
JavaScript
90 lines
3.0 KiB
JavaScript
import Model, {attr} from '@ember-data/model';
|
|
import ValidationEngine from 'ghost-admin/mixins/validation-engine';
|
|
|
|
export default Model.extend(ValidationEngine, {
|
|
validationType: 'setting',
|
|
|
|
title: attr('string'),
|
|
description: attr('string'),
|
|
logo: attr('string'),
|
|
coverImage: attr('string'),
|
|
icon: attr('string'),
|
|
accentColor: attr('string'),
|
|
locale: attr('string'),
|
|
timezone: attr('string', {defaultValue: 'Etc/UTC'}),
|
|
codeinjectionHead: attr('string'),
|
|
codeinjectionFoot: attr('string'),
|
|
facebook: attr('facebook-url-user'),
|
|
twitter: attr('twitter-url-user'),
|
|
labs: attr('string'),
|
|
navigation: attr('navigation-settings'),
|
|
secondaryNavigation: attr('navigation-settings', {isSecondary: true}),
|
|
isPrivate: attr('boolean'),
|
|
publicHash: attr('string'),
|
|
password: attr('string'),
|
|
slackUrl: attr('string'),
|
|
slackUsername: attr('string'),
|
|
amp: attr('boolean'),
|
|
ampGtagId: attr('string'),
|
|
firstpromoter: attr('boolean'),
|
|
firstpromoterId: attr('string'),
|
|
unsplash: attr('boolean'),
|
|
metaTitle: attr('string'),
|
|
metaDescription: attr('string'),
|
|
twitterTitle: attr('string'),
|
|
twitterDescription: attr('string'),
|
|
twitterImage: attr('string'),
|
|
ogTitle: attr('string'),
|
|
ogDescription: attr('string'),
|
|
ogImage: attr('string'),
|
|
mailgunApiKey: attr('string'),
|
|
mailgunDomain: attr('string'),
|
|
mailgunBaseUrl: attr('string'),
|
|
emailTrackOpens: attr('boolean'),
|
|
emailTrackClicks: attr('boolean'),
|
|
portalButton: attr('boolean'),
|
|
portalName: attr('boolean'),
|
|
portalPlans: attr('json-string'),
|
|
portalProducts: attr('json-string'),
|
|
portalButtonStyle: attr('string'),
|
|
portalButtonIcon: attr('string'),
|
|
portalButtonSignupText: attr('string'),
|
|
sharedViews: attr('string'),
|
|
/**
|
|
* Members settings
|
|
*/
|
|
membersSignupAccess: attr('string'),
|
|
defaultContentVisibility: attr('string'),
|
|
defaultContentVisibilityTiers: attr('json-string'),
|
|
membersSupportAddress: attr('string'),
|
|
membersMonthlyPriceId: attr('string'),
|
|
membersYearlyPriceId: attr('string'),
|
|
membersTrackSources: attr('boolean'),
|
|
stripeSecretKey: attr('string'),
|
|
stripePublishableKey: attr('string'),
|
|
stripePlans: attr('json-string'),
|
|
stripeConnectIntegrationToken: attr('string'),
|
|
stripeConnectPublishableKey: attr('string'),
|
|
stripeConnectSecretKey: attr('string'),
|
|
stripeConnectLivemode: attr('boolean'),
|
|
stripeConnectDisplayName: attr('string'),
|
|
stripeConnectAccountId: attr('string'),
|
|
|
|
membersEnabled: attr('boolean'),
|
|
paidMembersEnabled: attr('boolean'),
|
|
membersInviteOnly: attr('boolean'),
|
|
|
|
commentsEnabled: attr(), // "off", "free", "paid"
|
|
|
|
/**
|
|
* Editor settings
|
|
*/
|
|
editorDefaultEmailRecipients: attr('string'),
|
|
editorDefaultEmailRecipientsFilter: attr('members-segment-string'),
|
|
emailVerificationRequired: attr('boolean'),
|
|
|
|
// HACK - not a real model attribute but a workaround for Ember Data not
|
|
// exposing meta from save responses
|
|
_meta: attr()
|
|
});
|