send changes, notebook.delete [ok]

This commit is contained in:
life
2015-01-25 23:18:48 +08:00
parent 0551bc2bb5
commit 7914aed51b
4 changed files with 48 additions and 12 deletions

22
node_modules/api.js generated vendored
View File

@@ -284,18 +284,36 @@ var Api = {
},
// 删除
deleteNotebook: function(serverNotebookId, callback) {
deleteNotebook: function(notebook, callback) {
var me = this;
var data = {notebookId: serverNotebookId};
var data = {notebookId: notebook.ServerNotebookId, usn: notebook.Usn};
log('delete notebook');
needle.post(me.getUrl('notebook/deleteNotebook'), data, {}, function(err, resp) {
if(err) {
return callback(false);
}
var ret = resp.body;
log('delete notebook ret');
log(ret);
if(Common.isOk(ret)) {
// 以后不要再发了
Notebook.setNotDirty(notebook.NotebookId);
callback(ret);
} else {
callback(false);
try {
log('delete notebook conflict');
// 代表冲突了, 那么本地的删除无效, 设为IsDirty为false, 不删除
// 待以后同步
if(ret.Msg == 'conflict') {
log('delete notebook conflict: setNotDirtyNotDelete');
Notebook.setNotDirtyNotDelete(notebook.NotebookId);
} else {
log('delete notebook conflict: setNotDirty');
Notebook.setNotDirty(notebook.NotebookId);
}
} catch(e) {}
}
});
}

20
node_modules/notebook.js generated vendored
View File

@@ -68,7 +68,7 @@ var Notebook = {
// 排序好之后返回
getNotebooks: function(callback) {
var userId = User.getCurActiveUserId();
NB.find({UserId: userId}, function(err, notebooks) {
NB.find({UserId: userId, $or: [{LocalIsDelete : { $exists : false }}, {LocalIsDelete: false}] }, function(err, notebooks) {
if(err) {
log(err);
return callback && callback(false);
@@ -138,7 +138,14 @@ var Notebook = {
// 删除笔记本
deleteNotebook: function(notebookId, callback) {
NB.update({NotebookId: notebookId}, {$set: {LocalIsDelete: true, IsDirty: true, UpdatedTime: new Date()}}, function(err, n) {
callback(true);
});
/*
NB.remove({NotebookId: notebookId}, function(err, n) {
callback();
});
*/
},
// 重新统计笔记本的笔记数据
@@ -354,6 +361,15 @@ var Notebook = {
// 处理删除的
notebookWeb.deleteSync(notebookSyncInfo.deletes);
},
// 在send delete笔记时成功
setNotDirty: function(notebookId) {
NB.update({NotebookId: notebookId}, {$set:{IsDirty: false}})
},
// 在send delete笔记时有冲突
setNotDirtyNotDelete: function(notebookId) {
NB.update({NotebookId: notebookId}, {$set:{IsDirty: false, LocalIsDelete: false}})
}
};
module.exports = Notebook;

6
node_modules/sync.js generated vendored
View File

@@ -456,6 +456,12 @@ var Sync = {
if(!newNotebook) {
return cb();
}
// 删除操作
if(notebook.LocalIsDelete) {
return cb();
}
// 更新成功, 是否有冲突?
// newNotebook是服务器上的笔记本
// 没有更新成功