mirror of
https://github.com/leanote/desktop-app.git
synced 2025-12-22 01:07:19 +08:00
send changes note.update [ok]
This commit is contained in:
47
node_modules/note.js
generated
vendored
47
node_modules/note.js
generated
vendored
@@ -329,6 +329,23 @@ var Note = {
|
||||
|
||||
});
|
||||
},
|
||||
|
||||
// 添加修改ServerNoteId; 更新修改usn
|
||||
updateNoteForceForSendChange: function(note, callback) {
|
||||
var me = this;
|
||||
note.IsDirty = false;
|
||||
note.InitSync = false;
|
||||
note.LocalIsNew = false;
|
||||
Notes.update({NoteId: note.NoteId}, {$set: note}, function(err, n) {
|
||||
if(err || !n) {
|
||||
log('updateNoteForceForSendChange err');
|
||||
log(err);
|
||||
return callback && callback(false);
|
||||
}
|
||||
return callback && callback(true);
|
||||
});
|
||||
},
|
||||
|
||||
// 服务器上的数据
|
||||
// 为冲突更新, note已有有NoteId, ServerNoteId, 但NotebookId是服务器端的
|
||||
updateNoteForceForConflict: function(note, callback) {
|
||||
@@ -338,7 +355,7 @@ var Note = {
|
||||
note.LocalIsNew = false;
|
||||
Notebook.getNotebookIdByServerNotebookId(note.NotebookId, function(localNotebookId) {
|
||||
note['NotebookId'] = localNotebookId;
|
||||
Notes.update({NoteId: localNoteId}, {$set: note}, {}, function (err, cnt) { // Callback is optional
|
||||
Notes.update({NoteId: note.NoteId}, {$set: note}, {}, function (err, cnt) { // Callback is optional
|
||||
if(err) {
|
||||
console.log(err);
|
||||
callback && callback(false);
|
||||
@@ -392,20 +409,21 @@ var Note = {
|
||||
|
||||
var conflictNotes = noteSyncInfo.conflicts;
|
||||
log('fix note conflicts');
|
||||
log(conflictNotes);
|
||||
// 这里为什么要同步? 因为fixConflicts后要进行send changes, 这些有冲突的不能发送changes
|
||||
if(conflictNotes) {
|
||||
async.eachSeries(conflictNotes, function(note, cb) {
|
||||
var noteId = note.NoteId;
|
||||
async.eachSeries(conflictNotes, function(note, cb) { // note是服务器上最新的
|
||||
var noteId = note.NoteId; // 本地noteId
|
||||
// 复制一份
|
||||
me.copyNoteForConfict(noteId, function(newNote) {
|
||||
if(newNote) {
|
||||
// 更新之前的
|
||||
me.updateNoteForceForConflict(note, function(err, note2) {
|
||||
cb();
|
||||
if(!err) {
|
||||
me.updateNoteForceForConflict(note, function(note2) {
|
||||
if(note2) {
|
||||
// 前端来处理, 全量sync时不用前端一个个处理
|
||||
noteWeb && noteWeb.fixSyncConflict(note2, newNote);
|
||||
}
|
||||
cb();
|
||||
});
|
||||
} else {
|
||||
cb();
|
||||
@@ -473,13 +491,26 @@ var Note = {
|
||||
// 处理删除的
|
||||
noteWeb.deleteSync(noteSyncInfo.deletes);
|
||||
},
|
||||
|
||||
// 获得用户修改的笔记
|
||||
getDirtyNotes: function(callback) {
|
||||
Notes.find({UserId: User.getCurActiveUserId(), IsDirty: true}, function(err, notes) {
|
||||
if(err) {
|
||||
log(err);
|
||||
return callback && callback(false);
|
||||
} else {
|
||||
callback(notes);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
// 在send delete笔记时成功
|
||||
setNotDirty: function(noteId) {
|
||||
NB.update({NoteId: noteId}, {$set:{IsDirty: false}})
|
||||
Notes.update({NoteId: noteId}, {$set:{IsDirty: false}})
|
||||
},
|
||||
// 在send delete笔记时有冲突, 设为不删除
|
||||
setNotDirtyNotDelete: function(noteId) {
|
||||
NB.update({NoteId: noteId}, {$set:{IsDirty: false, LocalIsDelete: false}})
|
||||
Notes.update({NoteId: noteId}, {$set:{IsDirty: false, LocalIsDelete: false}})
|
||||
},
|
||||
setIsNew: function(noteId) {
|
||||
Notes.update({NoteId: noteId}, {$set:{LocalIsNew: true, IsDirty: true}})
|
||||
|
||||
Reference in New Issue
Block a user