Skip to content

Commit 181b4e0

Browse files
committed
add shareRequest
1 parent 8fc4c2d commit 181b4e0

File tree

1 file changed

+10
-13
lines changed

1 file changed

+10
-13
lines changed

index.js

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -20,24 +20,21 @@ function onQuery(collectionName, cb) {
2020
cb(shareRequest.query, session, next);
2121

2222
});
23-
}
24-
25-
26-
function hook(method, pattern, fn) {
27-
var backend = this;
28-
2923
backend.use('apply', function(shareRequest, done) {
30-
const stream = shareRequest.agent.stream || {}
31-
3224
const opData = shareRequest.op
3325
const snapshot = shareRequest.snapshot
3426

35-
if (!opData.create && !opData.del && !shareRequest.originalSnapshot){
27+
if (!opData.create && !shareRequest.originalSnapshot){
3628
shareRequest.originalSnapshot = _.cloneDeep(snapshot)
3729
}
3830

3931
done()
4032
})
33+
}
34+
35+
36+
function hook(method, pattern, fn) {
37+
var backend = this;
4138

4239
backend.use('after submit', function (shareRequest, next) {
4340
var collectionName, firstDot, fullPath, matches, regExp, relPath, segments, op;
@@ -48,7 +45,7 @@ function hook(method, pattern, fn) {
4845
var backend = shareRequest.backend;
4946
var session = shareRequest.agent.connectSession;
5047

51-
if (method === 'update') {
48+
if (method === 'update' && !opData.del && !opData.create) {
5249
if (shareRequest.collection !== pattern) return next()
5350
fn(docName, snapshot.data, shareRequest.originalSnapshot && shareRequest.originalSnapshot.data, session, backend, shareRequest);
5451
return next()
@@ -69,11 +66,11 @@ function hook(method, pattern, fn) {
6966
switch (method) {
7067
case 'del':
7168
if (!opData.del) return next();
72-
fn(docName, shareRequest, session, backend);
69+
fn(docName, shareRequest.originalSnapshot && shareRequest.originalSnapshot.data, session, backend, shareRequest);
7370
break;
7471
case 'create':
7572
if (!opData.create) return next();
76-
fn(docName, shareRequest.snapshot.data, session, backend);
73+
fn(docName, shareRequest.snapshot.data, session, backend, shareRequest);
7774
break;
7875
case 'change':
7976
var ops = opData.op;
@@ -88,7 +85,7 @@ function hook(method, pattern, fn) {
8885
regExp = patternToRegExp(pattern);
8986
matches = regExp.exec(fullPath);
9087
if (matches) {
91-
fn.apply(null, Array.prototype.slice.call(matches.slice(1)).concat([lookup(segments, snapshot.data)], [op], [session], [backend]));
88+
fn.apply(null, Array.prototype.slice.call(matches.slice(1)).concat([lookup(segments, snapshot.data)], [op], [session], [backend], [shareRequest]));
9289
}
9390
}
9491
}

0 commit comments

Comments
 (0)