Ghost/core/server/data/schema/default-settings.json
Fabien 'egg' O'Carroll 15978689c0
Added default value to accent_color setting (#12743)
refs TryGhost/Team#535

We want to ensure that a site will always have a default value of
`'#15171A'` for the accent_color setting.

Since the boot process changed we have three cases to account for:

1. Setting does not exist
2. Setting exists with no value
3. Setting exists with a value

It is only in the case of 2. that we want the migration to update the
database with a default value.

In the case of 3. the site owner has already set a value, which we do
not want to override.

In the case of 1. the setting will be created (and populated with
default value) from the default-settings.json file, by the
populateDefaults method called from the settings service

We also update the accent_color setting to include a non-empty
validation, to ensure that the setting will always have a value, as
sites before 4.x may have an empty accent_color, we must update the
importer to set the default value if one is not present. Otherwise we
would run into validation errors and even if we didn't would have an
invalid database state.
2021-03-09 16:15:10 +00:00

472 lines
12 KiB
JSON

{
"core": {
"db_hash": {
"defaultValue": null,
"type": "string"
},
"routes_hash": {
"defaultValue": null,
"type": "string"
},
"next_update_check": {
"defaultValue": null,
"type": "number"
},
"notifications": {
"defaultValue": "[]",
"type": "array"
},
"session_secret": {
"defaultValue": null,
"type": "string"
},
"theme_session_secret": {
"defaultValue": null,
"type": "string"
},
"ghost_public_key": {
"defaultValue": null,
"type": "string"
},
"ghost_private_key": {
"defaultValue": null,
"type": "string"
},
"members_public_key": {
"defaultValue": null,
"type": "string"
},
"members_private_key": {
"defaultValue": null,
"type": "string"
},
"members_email_auth_secret": {
"defaultValue": null,
"type": "string"
},
"members_stripe_webhook_id": {
"defaultValue": null,
"type": "string"
},
"members_stripe_webhook_secret": {
"defaultValue": null,
"type": "string"
}
},
"site": {
"title": {
"defaultValue": "Ghost",
"validations": {
"isLength": {
"max": 150
}
},
"flags": "PUBLIC",
"type": "string"
},
"description": {
"defaultValue": "The professional publishing platform",
"validations": {
"isLength": {
"max": 200
}
},
"flags": "PUBLIC",
"type": "string"
},
"logo": {
"defaultValue": "https://static.ghost.org/v1.0.0/images/ghost-logo.svg",
"type": "string"
},
"cover_image": {
"defaultValue": "https://static.ghost.org/v3.0.0/images/publication-cover.png",
"type": "string"
},
"icon": {
"defaultValue": "",
"type": "string"
},
"accent_color": {
"defaultValue": "#15171A",
"flags": "PUBLIC",
"validations": {
"isEmpty": false
},
"type": "string"
},
"lang": {
"defaultValue": "en",
"validations": {
"isEmpty": false
},
"type": "string"
},
"timezone": {
"defaultValue": "Etc/UTC",
"validations": {
"isTimezone": true,
"isEmpty": false
},
"type": "string"
},
"codeinjection_head": {
"defaultValue": "",
"type": "string"
},
"codeinjection_foot": {
"defaultValue": "",
"type": "string"
},
"facebook": {
"defaultValue": "ghost",
"type": "string"
},
"twitter": {
"defaultValue": "ghost",
"type": "string"
},
"navigation": {
"defaultValue": "[{\"label\":\"Home\", \"url\":\"/\"},{\"label\":\"Tag\", \"url\":\"/tag/getting-started/\"}, {\"label\":\"Author\", \"url\":\"/author/ghost/\"},{\"label\":\"Help\", \"url\":\"https://ghost.org/docs/\"}]",
"type": "array"
},
"secondary_navigation": {
"defaultValue": "[]",
"type": "array"
},
"meta_title": {
"defaultValue": null,
"validations": {
"isLength": {
"max": 300
}
},
"type": "string"
},
"meta_description": {
"defaultValue": null,
"validations": {
"isLength": {
"max": 500
}
},
"type": "string"
},
"og_image": {
"defaultValue": null,
"validations": {
"isLength": {
"max": 2000
}
},
"type": "string"
},
"og_title": {
"defaultValue": null,
"validations": {
"isLength": {
"max": 300
}
},
"type": "string"
},
"og_description": {
"defaultValue": null,
"validations": {
"isLength": {
"max": 300
}
},
"type": "string"
},
"twitter_image": {
"defaultValue": null,
"validations": {
"isLength": {
"max": 2000
}
},
"type": "string"
},
"twitter_title": {
"defaultValue": null,
"validations": {
"isLength": {
"max": 300
}
},
"type": "string"
},
"twitter_description": {
"defaultValue": null,
"validations": {
"isLength": {
"max": 300
}
},
"type": "string"
}
},
"theme": {
"active_theme": {
"defaultValue": "casper",
"flags": "RO",
"type": "string"
}
},
"private": {
"is_private": {
"defaultValue": "false",
"validations": {
"isIn": [["true", "false"]]
},
"type": "boolean"
},
"password": {
"defaultValue": "",
"type": "string"
},
"public_hash": {
"defaultValue": null,
"type": "string"
}
},
"members": {
"default_content_visibility": {
"defaultValue": "public",
"type": "string"
},
"members_allow_free_signup": {
"defaultValue": "true",
"validations": {
"isEmpty": false,
"isIn": [["true", "false"]]
},
"type": "boolean"
},
"members_from_address": {
"defaultValue": "noreply",
"flags": "RO",
"type": "string"
},
"members_support_address": {
"defaultValue": "noreply",
"flags": "PUBLIC,RO",
"type": "string"
},
"members_reply_address": {
"defaultValue": "newsletter",
"validations": {
"isEmpty": false,
"isIn": [["newsletter", "support"]]
},
"type": "string"
},
"members_free_signup_redirect": {
"defaultValue": "/",
"type": "string"
},
"members_paid_signup_redirect": {
"defaultValue": "/",
"type": "string"
},
"stripe_product_name": {
"defaultValue": "Ghost Subscription",
"type": "string"
},
"stripe_secret_key": {
"defaultValue": null,
"type": "string"
},
"stripe_publishable_key": {
"defaultValue": null,
"type": "string"
},
"stripe_plans": {
"defaultValue": "[{\"name\":\"Monthly\",\"currency\":\"usd\",\"interval\":\"month\",\"amount\":500},{\"name\":\"Yearly\",\"currency\":\"usd\",\"interval\":\"year\",\"amount\":5000}]",
"type": "array"
},
"stripe_connect_publishable_key": {
"defaultValue": null,
"type": "string"
},
"stripe_connect_secret_key": {
"defaultValue": null,
"type": "string"
},
"stripe_connect_livemode": {
"defaultValue": null,
"type": "boolean"
},
"stripe_connect_display_name": {
"defaultValue": null,
"type": "string"
},
"stripe_connect_account_id": {
"defaultValue": null,
"type": "string"
}
},
"portal": {
"portal_name": {
"defaultValue": "true",
"validations": {
"isEmpty": false,
"isIn": [["true", "false"]]
},
"type": "boolean"
},
"portal_button": {
"defaultValue": "true",
"validations": {
"isEmpty": false,
"isIn": [["true", "false"]]
},
"type": "boolean"
},
"portal_plans": {
"defaultValue": "[\"free\", \"monthly\", \"yearly\"]",
"type": "array"
},
"portal_button_style": {
"defaultValue": "icon-and-text",
"validations": {
"isEmpty": false,
"isIn": [["text-only", "icon-and-text", "icon-only"]]
},
"type": "string"
},
"portal_button_icon": {
"defaultValue": null,
"type": "string"
},
"portal_button_signup_text": {
"defaultValue": "Subscribe",
"type": "string"
}
},
"email": {
"mailgun_domain": {
"defaultValue": null,
"type": "string"
},
"mailgun_api_key": {
"defaultValue": null,
"type": "string"
},
"mailgun_base_url": {
"defaultValue": null,
"type": "string"
},
"email_track_opens": {
"defaultValue": "true",
"validations": {
"isEmpty": false,
"isIn": [["true", "false"]]
},
"type": "boolean"
}
},
"amp": {
"amp": {
"defaultValue": "true",
"validations": {
"isIn": [["true", "false"]]
},
"type": "boolean"
},
"amp_gtag_id": {
"defaultValue": null,
"type": "string"
}
},
"firstpromoter": {
"firstpromoter": {
"defaultValue": "false",
"validations": {
"isIn": [
[
"true",
"false"
]
]
},
"type": "boolean"
},
"firstpromoter_id": {
"defaultValue": null,
"type": "string"
}
},
"slack": {
"slack_url": {
"defaultValue": "",
"type": "string"
},
"slack_username": {
"defaultValue": "Ghost",
"type": "string"
}
},
"unsplash": {
"unsplash": {
"defaultValue": "true",
"validations": {
"isEmpty": false,
"isIn": [["true", "false"]]
},
"type": "boolean"
}
},
"views": {
"shared_views": {
"defaultValue": "[]",
"type": "array"
}
},
"newsletter": {
"newsletter_show_badge": {
"defaultValue": "true",
"validations": {
"isEmpty": false,
"isIn": [
[
"true",
"false"
]
]
},
"type": "boolean"
},
"newsletter_show_header": {
"defaultValue": "true",
"validations": {
"isEmpty": false,
"isIn": [
[
"true",
"false"
]
]
},
"type": "boolean"
},
"newsletter_body_font_category": {
"defaultValue": "sans_serif",
"validations": {
"isEmpty": false,
"isIn": [
[
"serif",
"sans_serif"
]
]
},
"type": "string"
},
"newsletter_footer_content": {
"defaultValue": "",
"type": "string"
}
}
}