|
|
@@ -950,38 +950,17 @@ module.exports = function(crowi) {
|
|
|
});
|
|
|
};
|
|
|
|
|
|
- pageSchema.statics.pushRevision = function(pageData, newRevision, user) {
|
|
|
- var isCreate = false;
|
|
|
- if (pageData.revision === undefined) {
|
|
|
- debug('pushRevision on Create');
|
|
|
- isCreate = true;
|
|
|
- }
|
|
|
+ pageSchema.statics.pushRevision = async function(pageData, newRevision, user) {
|
|
|
+ await newRevision.save();
|
|
|
+ debug('Successfully saved new revision', newRevision);
|
|
|
|
|
|
- return new Promise(function(resolve, reject) {
|
|
|
- newRevision.save(function(err, newRevision) {
|
|
|
- if (err) {
|
|
|
- debug('Error on saving revision', err);
|
|
|
- return reject(err);
|
|
|
- }
|
|
|
+ pageData.revision = newRevision;
|
|
|
+ pageData.lastUpdateUser = user;
|
|
|
+ pageData.updatedAt = Date.now();
|
|
|
|
|
|
- debug('Successfully saved new revision', newRevision);
|
|
|
- pageData.revision = newRevision;
|
|
|
- pageData.lastUpdateUser = user;
|
|
|
- pageData.updatedAt = Date.now();
|
|
|
- pageData.save(function(err, data) {
|
|
|
- if (err) {
|
|
|
- // todo: remove new revision?
|
|
|
- debug('Error on save page data (after push revision)', err);
|
|
|
- return reject(err);
|
|
|
- }
|
|
|
+ pageData = this.syncRevisionToHackmd(pageData, false);
|
|
|
|
|
|
- resolve(data);
|
|
|
- if (!isCreate) {
|
|
|
- debug('pushRevision on Update');
|
|
|
- }
|
|
|
- });
|
|
|
- });
|
|
|
- });
|
|
|
+ return pageData.save();
|
|
|
};
|
|
|
|
|
|
pageSchema.statics.create = function(path, body, user, options) {
|
|
|
@@ -1337,11 +1316,17 @@ module.exports = function(crowi) {
|
|
|
/**
|
|
|
* update revisionHackmdSynced
|
|
|
* @param {Page} pageData
|
|
|
+ * @param {bool} isSave whether save or not
|
|
|
*/
|
|
|
- pageSchema.statics.syncRevisionToHackmd = function(pageData) {
|
|
|
+ pageSchema.statics.syncRevisionToHackmd = function(pageData, isSave = true) {
|
|
|
pageData.revisionHackmdSynced = pageData.revision;
|
|
|
pageData.hasDraftOnHackmd = false;
|
|
|
- return pageData.save();
|
|
|
+
|
|
|
+ let returnData = pageData;
|
|
|
+ if (isSave) {
|
|
|
+ returnData = pageData.save();
|
|
|
+ }
|
|
|
+ return returnData;
|
|
|
};
|
|
|
|
|
|
/**
|