feat: Auto update titles in linked documents (#1233)

* feat: Auto update titles in linked documents

* Add spec
This commit is contained in:
Tom Moor
2020-04-19 21:58:42 -07:00
committed by GitHub
parent ee5ae140c3
commit c526adf292
4 changed files with 159 additions and 8 deletions

View File

@ -1,5 +1,4 @@
// @flow
import slug from 'slug';
import { map, find, compact, uniq } from 'lodash';
import randomstring from 'randomstring';
import MarkdownSerializer from 'slate-md-serializer';
@ -12,6 +11,7 @@ import { Collection, User } from '../models';
import { DataTypes, sequelize } from '../sequelize';
import parseTitle from '../../shared/utils/parseTitle';
import unescape from '../../shared/utils/unescape';
import slugify from '../utils/slugify';
import Revision from './Revision';
const Op = Sequelize.Op;
@ -20,18 +20,17 @@ const URL_REGEX = /^[0-9a-zA-Z-_~]*-([a-zA-Z0-9]{10,15})$/;
export const DOCUMENT_VERSION = 1;
slug.defaults.mode = 'rfc3986';
const slugify = text =>
slug(text, {
remove: /[.]/g,
});
const createRevision = (doc, options = {}) => {
// we don't create revisions for autosaves
if (options.autosave) return;
// we don't create revisions if identical to previous
if (doc.text === doc.previous('text')) return;
if (
doc.text === doc.previous('text') &&
doc.title === doc.previous('title')
) {
return;
}
return Revision.create(
{