Added feature_image to post_revisions (#16695)

This will allow us to store historical data for feature images so we can
diff and restore them
This commit is contained in:
Fabien 'egg' O'Carroll 2023-04-21 12:02:04 +01:00 committed by GitHub
parent a9ee30f8b0
commit 169a56d1bb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 18 additions and 5 deletions

View File

@ -0,0 +1,7 @@
const {createAddColumnMigration} = require('../../utils');
module.exports = createAddColumnMigration('post_revisions', 'feature_image', {
type: 'string',
maxlength: 2000,
nullable: true
});

View File

@ -404,7 +404,8 @@ module.exports = {
created_at_ts: {type: 'bigInteger', nullable: false}, created_at_ts: {type: 'bigInteger', nullable: false},
created_at: {type: 'dateTime', nullable: false}, created_at: {type: 'dateTime', nullable: false},
author_id: {type: 'string', maxlength: 24, nullable: true, references: 'users.id', cascadeDelete: false, constraintName: 'post_revs_author_id_foreign'}, author_id: {type: 'string', maxlength: 24, nullable: true, references: 'users.id', cascadeDelete: false, constraintName: 'post_revs_author_id_foreign'},
title: {type: 'string', maxlength: 2000, nullable: true, validations: {isLength: {max: 255}}} title: {type: 'string', maxlength: 2000, nullable: true, validations: {isLength: {max: 255}}},
feature_image: {type: 'string', maxlength: 2000, nullable: true}
}, },
members: { members: {
id: {type: 'string', maxlength: 24, nullable: false, primary: true}, id: {type: 'string', maxlength: 24, nullable: false, primary: true},

View File

@ -922,6 +922,7 @@ Post = ghostBookshelf.Model.extend({
lexical: model.previous('lexical'), lexical: model.previous('lexical'),
html: model.previous('html'), html: model.previous('html'),
author_id: model.previous('updated_by'), author_id: model.previous('updated_by'),
feature_image: model.previous('feature_image'),
title: model.previous('title') title: model.previous('title')
}; };
const current = { const current = {
@ -929,6 +930,7 @@ Post = ghostBookshelf.Model.extend({
lexical: model.get('lexical'), lexical: model.get('lexical'),
html: model.get('html'), html: model.get('html'),
author_id: authorId, author_id: authorId,
feature_image: model.get('feature_image'),
title: model.get('title') title: model.get('title')
}; };

View File

@ -831,7 +831,7 @@ exports[`Posts API Create Can create a post with lexical 2: [headers] 1`] = `
Object { Object {
"access-control-allow-origin": "http://127.0.0.1:2369", "access-control-allow-origin": "http://127.0.0.1:2369",
"cache-control": "no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0", "cache-control": "no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0",
"content-length": "5241", "content-length": "5262",
"content-type": "application/json; charset=utf-8", "content-type": "application/json; charset=utf-8",
"content-version": StringMatching /v\\\\d\\+\\\\\\.\\\\d\\+/, "content-version": StringMatching /v\\\\d\\+\\\\\\.\\\\d\\+/,
"etag": StringMatching /\\(\\?:W\\\\/\\)\\?"\\(\\?:\\[ !#-\\\\x7E\\\\x80-\\\\xFF\\]\\*\\|\\\\r\\\\n\\[\\\\t \\]\\|\\\\\\\\\\.\\)\\*"/, "etag": StringMatching /\\(\\?:W\\\\/\\)\\?"\\(\\?:\\[ !#-\\\\x7E\\\\x80-\\\\xFF\\]\\*\\|\\\\r\\\\n\\[\\\\t \\]\\|\\\\\\\\\\.\\)\\*"/,
@ -1261,7 +1261,7 @@ exports[`Posts API Update Can update a post with lexical 2: [headers] 1`] = `
Object { Object {
"access-control-allow-origin": "http://127.0.0.1:2369", "access-control-allow-origin": "http://127.0.0.1:2369",
"cache-control": "no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0", "cache-control": "no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0",
"content-length": "5178", "content-length": "5199",
"content-type": "application/json; charset=utf-8", "content-type": "application/json; charset=utf-8",
"content-version": StringMatching /v\\\\d\\+\\\\\\.\\\\d\\+/, "content-version": StringMatching /v\\\\d\\+\\\\\\.\\\\d\\+/,
"etag": StringMatching /\\(\\?:W\\\\/\\)\\?"\\(\\?:\\[ !#-\\\\x7E\\\\x80-\\\\xFF\\]\\*\\|\\\\r\\\\n\\[\\\\t \\]\\|\\\\\\\\\\.\\)\\*"/, "etag": StringMatching /\\(\\?:W\\\\/\\)\\?"\\(\\?:\\[ !#-\\\\x7E\\\\x80-\\\\xFF\\]\\*\\|\\\\r\\\\n\\[\\\\t \\]\\|\\\\\\\\\\.\\)\\*"/,
@ -1371,7 +1371,7 @@ exports[`Posts API Update Can update a post with lexical 4: [headers] 1`] = `
Object { Object {
"access-control-allow-origin": "http://127.0.0.1:2369", "access-control-allow-origin": "http://127.0.0.1:2369",
"cache-control": "no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0", "cache-control": "no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0",
"content-length": "6378", "content-length": "6420",
"content-type": "application/json; charset=utf-8", "content-type": "application/json; charset=utf-8",
"content-version": StringMatching /v\\\\d\\+\\\\\\.\\\\d\\+/, "content-version": StringMatching /v\\\\d\\+\\\\\\.\\\\d\\+/,
"etag": StringMatching /\\(\\?:W\\\\/\\)\\?"\\(\\?:\\[ !#-\\\\x7E\\\\x80-\\\\xFF\\]\\*\\|\\\\r\\\\n\\[\\\\t \\]\\|\\\\\\\\\\.\\)\\*"/, "etag": StringMatching /\\(\\?:W\\\\/\\)\\?"\\(\\?:\\[ !#-\\\\x7E\\\\x80-\\\\xFF\\]\\*\\|\\\\r\\\\n\\[\\\\t \\]\\|\\\\\\\\\\.\\)\\*"/,

View File

@ -35,7 +35,7 @@ const validateRouteSettings = require('../../../../../core/server/services/route
*/ */
describe('DB version integrity', function () { describe('DB version integrity', function () {
// Only these variables should need updating // Only these variables should need updating
const currentSchemaHash = '00c8616470de50a6716369511a39eca9'; const currentSchemaHash = '05bb5d84875ec3b6ed6aca8228dec986';
const currentFixturesHash = '869ceb3302303494c645f4201540ead3'; const currentFixturesHash = '869ceb3302303494c645f4201540ead3';
const currentSettingsHash = 'f9db81a9d2fe2fed5e9cfda1ccd2b3cc'; const currentSettingsHash = 'f9db81a9d2fe2fed5e9cfda1ccd2b3cc';
const currentRoutesHash = '3d180d52c663d173a6be791ef411ed01'; const currentRoutesHash = '3d180d52c663d173a6be791ef411ed01';

View File

@ -4,6 +4,7 @@
* @property {string} lexical * @property {string} lexical
* @property {string} html * @property {string} html
* @property {string} author_id * @property {string} author_id
* @property {string} feature_image
* @property {string} title * @property {string} title
*/ */
@ -13,6 +14,7 @@
* @property {string} lexical * @property {string} lexical
* @property {number} created_at_ts * @property {number} created_at_ts
* @property {string} author_id * @property {string} author_id
* @property {string} feature_image
* @property {string} title * @property {string} title
*/ */
@ -91,6 +93,7 @@ class PostRevisions {
lexical: input.lexical, lexical: input.lexical,
created_at_ts: Date.now() - offset, created_at_ts: Date.now() - offset,
author_id: input.author_id, author_id: input.author_id,
feature_image: input.feature_image,
title: input.title title: input.title
}; };
} }