send tag changes ok

This commit is contained in:
life
2015-02-07 01:29:33 +08:00
parent 8b329de3bb
commit 6b574aa208
3 changed files with 36 additions and 23 deletions

2
node_modules/api.js generated vendored
View File

@@ -517,7 +517,7 @@ var Api = {
// 删除标签 // 删除标签
deleteTag: function(tag, callback) { deleteTag: function(tag, callback) {
var me = this; var me = this;
needle.post(me.getUrl('tag/deleteTag'), data, {tag: tag.Tag, usn: tag.Usn}, function(err, resp) { needle.post(me.getUrl('tag/deleteTag'), {tag: tag.Tag, usn: tag.Usn}, {}, function(err, resp) {
if(err) { if(err) {
return callback && callback(false); return callback && callback(false);
} }

39
node_modules/sync.js generated vendored
View File

@@ -401,10 +401,10 @@ var Sync = {
Tag.addOrUpdateTag(tag.Tag, function(tagAdded) { Tag.addOrUpdateTag(tag.Tag, function(tagAdded) {
me._syncInfo.tag.adds.push(tagAdded); me._syncInfo.tag.adds.push(tagAdded);
return canCall(); return canCall();
}, true); }, true, usn);
} else { } else {
// 本地有, 不用操作 // 本地有, 不用操作
Tag.setNotDirty(tag.Tag); Tag.setNotDirtyAndUsn(tag.Tag, tag.Usn);
return canCall(); return canCall();
} }
}); });
@@ -775,24 +775,25 @@ var Sync = {
// 一个一个同步执行, 因为要有 // 一个一个同步执行, 因为要有
async.eachSeries(tags, function(tag, cb) { async.eachSeries(tags, function(tag, cb) {
if(tag.IsDirty) { if(tag.IsDirty) {
// 添加 if(!tag.LocalIsDelete) {
Api.addTag(tag.Tag, function(newTag) { // 添加
if(!Common.isOk(newTag)) { Api.addTag(tag.Tag, function(newTag) {
if(!Common.isOk(newTag)) {
return cb();
}
me._syncInfo.note.changeAdds.push(newTag);
me.checkNeedIncSyncAgain(newTag.Usn);
cb();
});
} else {
// 删除, 不管它了
Api.deleteTag(tag, function(ret) {
if(Common.isOk(ret)) {
me.checkNeedIncSyncAgain(ret.Usn);
}
return cb(); return cb();
} });
me._syncInfo.note.changeAdds.push(newTag); }
me.checkNeedIncSyncAgain(newTag.Usn);
cb();
});
} else if(note.LocalIsDelete) {
// 删除, 不管它了
Api.deleteTag(tag, function(ret) {
if(Common.isOk(ret)) {
me.checkNeedIncSyncAgain(ret.Usn);
}
return cb();
});
} else {
} }
}, function() { }, function() {
callback && callback(); callback && callback();

18
node_modules/tag.js generated vendored
View File

@@ -1,7 +1,7 @@
var db = require('db'); var db = require('db');
var Common = require('common'); var Common = require('common');
var User = require('user'); var User = require('user');
var Note = require('note'); // var Note = require('note');
var Web = require('web'); var Web = require('web');
var Tags = db.tags; var Tags = db.tags;
/* /*
@@ -19,11 +19,12 @@ Count 笔记数
var Tag = { var Tag = {
// 添加或更新标签 // 添加或更新标签
addOrUpdateTag: function(title, callback, isForce) { addOrUpdateTag: function(title, callback, isForce, usn) {
var userId = User.getCurActiveUserId(); var userId = User.getCurActiveUserId();
Tags.findOne({UserId: userId, Tag: title}, function(err, tag) { Tags.findOne({UserId: userId, Tag: title}, function(err, tag) {
// 存在, 则更新该tag下的笔记数量 // 存在, 则更新该tag下的笔记数量
// 已存的, 不更新IsDirty // 已存的, 不更新IsDirty
var Note = require('note');
if(!err && tag) { if(!err && tag) {
Note.countNoteByTag(title, function(cnt) { Note.countNoteByTag(title, function(cnt) {
tag.Count = cnt; tag.Count = cnt;
@@ -39,6 +40,7 @@ var Tag = {
UserId: userId, UserId: userId,
Tag: title, Tag: title,
IsDirty: !isForce, // 新添加的 IsDirty: !isForce, // 新添加的
Usn: usn, // 在isForce == true时用, 服务器添加过来的
Count: 1, Count: 1,
LocalIsDelete: false, LocalIsDelete: false,
CreatedTime: date, CreatedTime: date,
@@ -69,6 +71,8 @@ var Tag = {
Tags.update({UserId: User.getCurActiveUserId(), Tag: title}, {$set: {LocalIsDelete: true, IsDirty: !isForce, UpdatedTime: new Date()}}, function() { Tags.update({UserId: User.getCurActiveUserId(), Tag: title}, {$set: {LocalIsDelete: true, IsDirty: !isForce, UpdatedTime: new Date()}}, function() {
}); });
// //
var Note = require('./note');
console.log(Note);
Note.updateNoteToDeleteTag(title, function(updates) { Note.updateNoteToDeleteTag(title, function(updates) {
callback && callback(updates); callback && callback(updates);
}); });
@@ -97,7 +101,15 @@ var Tag = {
setNotDirty: function(title) { setNotDirty: function(title) {
var me = this; var me = this;
var userId = User.getCurActiveUserId(); var userId = User.getCurActiveUserId();
Tags.update({UserId: userId, Title: title}, {$set: {IsDirty: false, UpdatedTime: new Date()}}, function() { Tags.update({UserId: userId, Tag: title}, {$set: {IsDirty: false, UpdatedTime: new Date()}}, function() {
});
},
// 更新过来的, 本地有了, 要设置usn, 因为删除的时候要用
setNotDirtyAndUsn: function(title, usn) {
var me = this;
var userId = User.getCurActiveUserId();
Tags.update({UserId: userId, Tag: title}, {$set: {IsDirty: false, Usn: usn, UpdatedTime: new Date()}}, function() {
}); });
}, },