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 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) { needle.post(me.getUrl('notebook/deleteNotebook'), data, {}, function(err, resp) {
if(err) { if(err) {
return callback(false); return callback(false);
} }
var ret = resp.body; var ret = resp.body;
log('delete notebook ret');
log(ret);
if(Common.isOk(ret)) { if(Common.isOk(ret)) {
// 以后不要再发了
Notebook.setNotDirty(notebook.NotebookId);
callback(ret); callback(ret);
} else { } else {
callback(false); 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) { getNotebooks: function(callback) {
var userId = User.getCurActiveUserId(); 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) { if(err) {
log(err); log(err);
return callback && callback(false); return callback && callback(false);
@@ -138,7 +138,14 @@ var Notebook = {
// 删除笔记本 // 删除笔记本
deleteNotebook: function(notebookId, callback) { 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); 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; module.exports = Notebook;

6
node_modules/sync.js generated vendored
View File

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

View File

@@ -863,13 +863,9 @@ Notebook.deleteNotebook = function(target) {
return; return;
} }
ajaxGet("/notebook/deleteNotebook", {notebookId: notebookId}, function(ret) { NotebookService.deleteNotebook(notebookId, function() {
if(ret.Ok) { self.deleteNotebookFromTree(notebookId);
self.deleteNotebookFromTree(notebookId); })
} else {
alert(ret.Msg);
}
});
}; };
Notebook.deleteNotebookFromTree = function(notebookId) { Notebook.deleteNotebookFromTree = function(notebookId) {
var self = this; var self = this;