Fix author creation in operationCallback might cause unique constraint validation error
This commit is contained in:
parent
ffa14cfeef
commit
7e191acbde
1 changed files with 19 additions and 11 deletions
|
@ -652,17 +652,25 @@ function operationCallback(socket, operation) {
|
|||
if (!user) return;
|
||||
userId = socket.request.user.id;
|
||||
if (!note.authors[userId]) {
|
||||
models.Author.create({
|
||||
noteId: noteId,
|
||||
userId: userId,
|
||||
color: user.color
|
||||
}).then(function (author) {
|
||||
note.authors[author.userId] = {
|
||||
userid: author.userId,
|
||||
color: author.color,
|
||||
photo: user.photo,
|
||||
name: user.name
|
||||
};
|
||||
models.Author.findOrCreate({
|
||||
where: {
|
||||
noteId: noteId,
|
||||
userId: userId
|
||||
},
|
||||
defaults: {
|
||||
noteId: noteId,
|
||||
userId: userId,
|
||||
color: user.color
|
||||
}
|
||||
}).spread(function (author, created) {
|
||||
if (author) {
|
||||
note.authors[author.userId] = {
|
||||
userid: author.userId,
|
||||
color: author.color,
|
||||
photo: user.photo,
|
||||
name: user.name
|
||||
};
|
||||
}
|
||||
}).catch(function (err) {
|
||||
return logger.error('operation callback failed: ' + err);
|
||||
});
|
||||
|
|
Loading…
Reference in a new issue