@syncular/server 0.0.6-185 → 0.0.6-201
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/blobs/adapters/database.d.ts.map +1 -1
- package/dist/blobs/adapters/database.js +3 -2
- package/dist/blobs/adapters/database.js.map +1 -1
- package/dist/blobs/manager.d.ts.map +1 -1
- package/dist/blobs/manager.js +12 -7
- package/dist/blobs/manager.js.map +1 -1
- package/dist/handlers/create-handler.d.ts +6 -0
- package/dist/handlers/create-handler.d.ts.map +1 -1
- package/dist/handlers/create-handler.js +7 -2
- package/dist/handlers/create-handler.js.map +1 -1
- package/dist/handlers/types.d.ts +10 -0
- package/dist/handlers/types.d.ts.map +1 -1
- package/dist/notify.d.ts +30 -0
- package/dist/notify.d.ts.map +1 -1
- package/dist/notify.js +100 -0
- package/dist/notify.js.map +1 -1
- package/dist/pull.d.ts +11 -0
- package/dist/pull.d.ts.map +1 -1
- package/dist/pull.js +123 -25
- package/dist/pull.js.map +1 -1
- package/dist/push.d.ts +10 -0
- package/dist/push.d.ts.map +1 -1
- package/dist/push.js +529 -443
- package/dist/push.js.map +1 -1
- package/package.json +2 -2
- package/src/blobs/adapters/database.ts +6 -4
- package/src/blobs/manager.ts +17 -11
- package/src/handlers/create-handler.ts +15 -1
- package/src/handlers/types.ts +12 -0
- package/src/notify.test.ts +125 -1
- package/src/notify.ts +155 -1
- package/src/pull.ts +200 -34
- package/src/push.ts +743 -572
package/dist/push.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push.js","sourceRoot":"","sources":["../src/push.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,sBAAsB,EAItB,aAAa,GACd,MAAM,gBAAgB,CAAC;AAQxB,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EACL,YAAY,EACZ,cAAc,EACd,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,EAEL,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AAoCzB,MAAM,iBAAkB,SAAQ,KAAK;IACP,QAAQ;IAApC,YAA4B,QAA0B,EAAE;QACtD,KAAK,CAAC,eAAe,CAAC,CAAC;wBADG,QAAQ;QAElC,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAAA,CACjC;CACF;AAED,SAAS,QAAQ,CAAC,KAAc,EAAoC;IAClE,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AAAA,CACpD;AAED,SAAS,kBAAkB,CAAC,KAAc,EAA6B;IACrE,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,KAAK,IAAI,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CACzE,CAAC;AAAA,CACH;AAED,SAAS,gCAAgC,CACvC,UAAkB,EAClB,MAA6C,EAC7C,KAA4C,EACtC;IACN,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,uBAAuB,UAAU,6BAA6B,MAAM,CAAC,KAAK,OAAO,KAAK,CAAC,KAAK,GAAG,CAChG,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CACb,uBAAuB,UAAU,8BAA8B,MAAM,CAAC,MAAM,OAAO,KAAK,CAAC,MAAM,GAAG,CACnG,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,uBAAuB,UAAU,0BAA0B,MAAM,CAAC,EAAE,OAAO,KAAK,CAAC,EAAE,GAAG,CACvF,CAAC;IACJ,CAAC;AAAA,CACF;AAED,KAAK,UAAU,wBAAwB,CACrC,EAAc,EACd,OAA0B,EAC1B,SAAiB,EACjB,WAAmB,EACA;IACnB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,EAAE,CAAC,UAAU,CAAC,cAAc,CAI5C,CAAC;QAEF,MAAM,GAAG,GAAG,MAAM,QAAQ;aACvB,SAAS,EAAE;aACX,KAAK,CAAC,GAAG,CAAS,gBAAgB,SAAS,EAAE,CAAC;aAC9C,KAAK,CAAC,GAAG,CAAS,kBAAkB,WAAW,EAAE,CAAC;aAClD,gBAAgB,EAAE,CAAC;QAEtB,MAAM,GAAG,GAAG,GAAG,EAAE,eAAe,CAAC;QACjC,OAAO,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,yDAAyD;IAC3D,CAAC;IAED,oEAAoE;IACpE,OAAO,OAAO,CAAC,6BAA6B,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;AAAA,CAC9E;AAED,SAAS,oBAAoB,CAC3B,OAAkD,EACxC;IACV,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAAA,CACzB;AAED,SAAS,iBAAiB,CAAC,IAM1B,EAAQ;IACP,MAAM,EACJ,MAAM,EACN,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,kBAAkB,GACnB,GAAG,IAAI,CAAC;IAET,eAAe,CAAC,2BAA2B,EAAE,CAAC,EAAE;QAC9C,UAAU,EAAE,EAAE,MAAM,EAAE;KACvB,CAAC,CAAC;IACH,eAAe,CAAC,6BAA6B,EAAE,cAAc,EAAE;QAC7D,UAAU,EAAE,EAAE,MAAM,EAAE;KACvB,CAAC,CAAC;IACH,sBAAsB,CAAC,8BAA8B,EAAE,UAAU,EAAE;QACjE,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,EAAE,MAAM,EAAE;KACvB,CAAC,CAAC;IACH,sBAAsB,CACpB,kCAAkC,EAClC,kBAAkB,EAClB;QACE,UAAU,EAAE,EAAE,MAAM,EAAE;KACvB,CACF,CAAC;IACF,sBAAsB,CACpB,kCAAkC,EAClC,kBAAkB,EAClB;QACE,UAAU,EAAE,EAAE,MAAM,EAAE;KACvB,CACF,CAAC;AAAA,CACH;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAG9B,IAOD,EAA6B;IAC5B,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChD,MAAM,WAAW,GAAG,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;IAClC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,SAAS,CAAC;IACvD,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;QACpD,CAAC,CAAC,OAAO,CAAC,UAAU;QACpB,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC;IAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE/B,OAAO,aAAa,CAClB;QACE,IAAI,EAAE,kBAAkB;QACxB,EAAE,EAAE,WAAW;QACf,UAAU,EAAE;YACV,eAAe,EAAE,cAAc;SAChC;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC;QACd,MAAM,cAAc,GAAG,CAAC,MAAwB,EAAoB,EAAE,CAAC;YACrE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YAEtC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACpC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;YAC7C,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YACxE,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YACxE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAErB,iBAAiB,CAAC;gBAChB,MAAM;gBACN,UAAU;gBACV,cAAc;gBACd,kBAAkB,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM;gBAChD,kBAAkB,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM;aACjD,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC;QAAA,CACf,CAAC;QAEF,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;gBACjD,OAAO,cAAc,CAAC;oBACpB,QAAQ,EAAE;wBACR,EAAE,EAAE,IAAI;wBACR,MAAM,EAAE,UAAU;wBAClB,OAAO,EAAE;4BACP;gCACE,OAAO,EAAE,CAAC;gCACV,MAAM,EAAE,OAAO;gCACf,KAAK,EAAE,iBAAiB;gCACxB,IAAI,EAAE,iBAAiB;gCACvB,SAAS,EAAE,KAAK;6BACjB;yBACF;qBACF;oBACD,cAAc,EAAE,EAAE;oBAClB,SAAS,EAAE,EAAE;oBACb,cAAc,EAAE,EAAE;oBAClB,aAAa,EAAE,IAAI;oBACnB,eAAe,EAAE,IAAI;iBACtB,CAAC,CAAC;YACL,CAAC;YAED,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;YACrC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5C,OAAO,cAAc,CAAC;oBACpB,QAAQ,EAAE;wBACR,EAAE,EAAE,IAAI;wBACR,MAAM,EAAE,UAAU;wBAClB,OAAO,EAAE;4BACP;gCACE,OAAO,EAAE,CAAC;gCACV,MAAM,EAAE,OAAO;gCACf,KAAK,EAAE,cAAc;gCACrB,IAAI,EAAE,cAAc;gCACpB,SAAS,EAAE,KAAK;6BACjB;yBACF;qBACF;oBACD,cAAc,EAAE,EAAE;oBAClB,SAAS,EAAE,EAAE;oBACb,cAAc,EAAE,EAAE;oBAClB,aAAa,EAAE,IAAI;oBACnB,eAAe,EAAE,IAAI;iBACtB,CAAC,CAAC;YACL,CAAC;YAED,OAAO,cAAc,CACnB,MAAM,OAAO,CAAC,oBAAoB,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC;gBAMpD,MAAM,OAAO,GAAG,GAAc,CAAC;gBAE/B,uDAAuD;gBACvD,2EAA2E;gBAC3E,uEAAuE;gBACvE,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;oBAChC,MAAM,OAAO;yBACV,UAAU,CAAC,cAAc,CAAC;yBAC1B,KAAK,CAAC,cAAc,EAAE,GAAG,EAAE,WAAW,CAAC;yBACvC,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC;yBACzC,KAAK,CAAC,kBAAkB,EAAE,GAAG,EAAE,OAAO,CAAC,cAAc,CAAC;yBACtD,KAAK,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC;yBAChC,OAAO,EAAE,CAAC;gBACf,CAAC;gBAED,sCAAsC;gBACtC,MAAM,SAAS,GAA2C;oBACxD,YAAY,EAAE,WAAW;oBACzB,QAAQ,EAAE,OAAO;oBACjB,SAAS,EAAE,OAAO,CAAC,QAAQ;oBAC3B,gBAAgB,EAAE,OAAO,CAAC,cAAc;oBACxC,IAAI,EAAE,IAAI;oBACV,WAAW,EAAE,IAAI;iBAClB,CAAC;gBAEF,MAAM,kBAAkB,GAAG,KAAK,IAA+B,EAAE,CAAC;oBAChE,gEAAgE;oBAChE,+DAA+D;oBAC/D,IAAI,KAAK,GACP,OAAO,CAAC,UAAU,CAAC,cAAc,CAKlC;yBACE,SAAS,EAAE;yBACX,KAAK,CAAC,cAAc,EAAE,GAAG,EAAE,WAAW,CAAC;yBACvC,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC;yBACzC,KAAK,CAAC,kBAAkB,EAAE,GAAG,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;oBAE1D,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;wBAC9B,KAAK,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;oBAC5B,CAAC;oBAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,uBAAuB,EAAE,CAAC;oBAEvD,MAAM,YAAY,GAAG,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;oBAC1D,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAC;wBACtC,OAAO;4BACL,QAAQ,EAAE;gCACR,EAAE,EAAE,IAAI;gCACR,MAAM,EAAE,UAAU;gCAClB,OAAO,EAAE;oCACP;wCACE,OAAO,EAAE,CAAC;wCACV,MAAM,EAAE,OAAO;wCACf,KAAK,EAAE,wBAAwB;wCAC/B,IAAI,EAAE,UAAU;wCAChB,SAAS,EAAE,IAAI;qCAChB;iCACF;6BACF;4BACD,cAAc,EAAE,EAAE;4BAClB,SAAS,EAAE,EAAE;4BACb,cAAc,EAAE,EAAE;4BAClB,aAAa,EACX,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ;gCACnC,CAAC,CAAC,QAAQ,CAAC,QAAQ;gCACnB,CAAC,CAAC,IAAI;4BACV,eAAe,EACb,OAAO,QAAQ,CAAC,UAAU,KAAK,QAAQ;gCACrC,CAAC,CAAC,QAAQ,CAAC,UAAU;gCACrB,CAAC,CAAC,IAAI;yBACX,CAAC;oBACJ,CAAC;oBAED,MAAM,IAAI,GAAqB;wBAC7B,GAAG,YAAY;wBACf,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;qBACvC,CAAC;oBAEF,IAAI,YAAY,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;wBACtC,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CACpC,QAAQ,CAAC,eAAe,CACzB,CAAC;wBACF,OAAO;4BACL,QAAQ,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE;4BACvC,cAAc,EACZ,YAAY,CAAC,MAAM,GAAG,CAAC;gCACrB,CAAC,CAAC,YAAY;gCACd,CAAC,CAAC,MAAM,wBAAwB,CAC5B,GAAG,EACH,OAAO,EACP,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAC3B,WAAW,CACZ;4BACP,SAAS,EAAE,EAAE;4BACb,cAAc,EAAE,EAAE;4BAClB,aAAa,EACX,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ;gCACnC,CAAC,CAAC,QAAQ,CAAC,QAAQ;gCACnB,CAAC,CAAC,IAAI;4BACV,eAAe,EACb,OAAO,QAAQ,CAAC,UAAU,KAAK,QAAQ;gCACrC,CAAC,CAAC,QAAQ,CAAC,UAAU;gCACrB,CAAC,CAAC,IAAI;yBACX,CAAC;oBACJ,CAAC;oBAED,OAAO;wBACL,QAAQ,EAAE,IAAI;wBACd,cAAc,EAAE,EAAE;wBAClB,SAAS,EAAE,EAAE;wBACb,cAAc,EAAE,EAAE;wBAClB,aAAa,EACX,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ;4BACnC,CAAC,CAAC,QAAQ,CAAC,QAAQ;4BACnB,CAAC,CAAC,IAAI;wBACV,eAAe,EACb,OAAO,QAAQ,CAAC,UAAU,KAAK,QAAQ;4BACrC,CAAC,CAAC,QAAQ,CAAC,UAAU;4BACrB,CAAC,CAAC,IAAI;qBACX,CAAC;gBAAA,CACH,CAAC;gBAEF,MAAM,2BAA2B,GAAG,KAAK,EACvC,GAAW,EAIV,EAAE,CAAC;oBACJ,MAAM,SAAS,GAAG,MAChB,OAAO,CAAC,UAAU,CAAC,cAAc,CAKlC;yBACE,SAAS,EAAE;yBACX,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC;yBAC7B,KAAK,CAAC,cAAc,EAAE,GAAG,EAAE,WAAW,CAAC;yBACvC,gBAAgB,EAAE,CAAC;oBAEtB,OAAO;wBACL,aAAa,EACX,OAAO,SAAS,EAAE,QAAQ,KAAK,QAAQ;4BACrC,CAAC,CAAC,SAAS,CAAC,QAAQ;4BACpB,CAAC,CAAC,IAAI;wBACV,eAAe,EACb,OAAO,SAAS,EAAE,UAAU,KAAK,QAAQ;4BACvC,CAAC,CAAC,SAAS,CAAC,UAAU;4BACtB,CAAC,CAAC,IAAI;qBACX,CAAC;gBAAA,CACH,CAAC;gBAEF,IAAI,SAAS,GAAG,CAAC,CAAC;gBAClB,IAAI,OAAO,CAAC,uBAAuB,EAAE,CAAC;oBACpC,MAAM,cAAc,GAAG,MAAM,OAAO;yBACjC,UAAU,CAAC,cAAc,CAAC;yBAC1B,MAAM,CAAC,SAAS,CAAC;yBACjB,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CACjB,EAAE;yBACC,OAAO,CAAC,CAAC,cAAc,EAAE,WAAW,EAAE,kBAAkB,CAAC,CAAC;yBAC1D,SAAS,EAAE,CACf;yBACA,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;yBACzB,gBAAgB,EAAE,CAAC;oBAEtB,IAAI,CAAC,cAAc,EAAE,CAAC;wBACpB,OAAO,kBAAkB,EAAE,CAAC;oBAC9B,CAAC;oBAED,SAAS,GAAG,YAAY,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC3D,CAAC;qBAAM,CAAC;oBACN,MAAM,YAAY,GAAG,MAAM,OAAO;yBAC/B,UAAU,CAAC,cAAc,CAAC;yBAC1B,MAAM,CAAC,SAAS,CAAC;yBACjB,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CACjB,EAAE;yBACC,OAAO,CAAC,CAAC,cAAc,EAAE,WAAW,EAAE,kBAAkB,CAAC,CAAC;yBAC1D,SAAS,EAAE,CACf;yBACA,uBAAuB,EAAE,CAAC;oBAE7B,MAAM,YAAY,GAAG,MAAM,CACzB,YAAY,CAAC,wBAAwB,IAAI,CAAC,CAC3C,CAAC;oBACF,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;wBACvB,OAAO,kBAAkB,EAAE,CAAC;oBAC9B,CAAC;oBAED,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACvD,CAAC;gBAED,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;oBACnB,MAAM,iBAAiB,GAAG,MACxB,OAAO,CAAC,UAAU,CAAC,cAAc,CAKlC;yBACE,SAAS,EAAE;yBACX,KAAK,CAAC,cAAc,EAAE,GAAG,EAAE,WAAW,CAAC;yBACvC,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC;yBACzC,KAAK,CAAC,kBAAkB,EAAE,GAAG,EAAE,OAAO,CAAC,cAAc,CAAC;yBACtD,uBAAuB,EAAE,CAAC;oBAC7B,SAAS,GAAG,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;gBACnD,CAAC;gBACD,MAAM,QAAQ,GAAG,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;gBAEjE,MAAM,aAAa,GAAG,YAAY,CAAC;gBACnC,IAAI,aAAa,GAAG,OAAO,CAAC,kBAAkB,CAAC;gBAC/C,IAAI,aAAa,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACtC,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC;oBAC5D,IAAI,CAAC,eAAe,EAAE,CAAC;wBACrB,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAE,CAAC,KAAK,EAAE,CAAC,CAAC;oBACrD,CAAC;oBACD,IAAI,eAAe,CAAC,wCAAwC,EAAE,CAAC;wBAC7D,aAAa,GAAG,KAAK,CAAC;oBACxB,CAAC;gBACH,CAAC;gBACD,IAAI,gBAAgB,GAAG,KAAK,CAAC;gBAE7B,IAAI,CAAC;oBACH,gFAAgF;oBAChF,2DAA2D;oBAC3D,IAAI,aAAa,EAAE,CAAC;wBAClB,MAAM,GAAG,CAAC,GAAG,CAAC,aAAa,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;wBACzD,gBAAgB,GAAG,IAAI,CAAC;oBAC1B,CAAC;oBAED,MAAM,UAAU,GAAG,EAAE,CAAC;oBACtB,MAAM,OAAO,GAAG,EAAE,CAAC;oBACnB,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;oBAE5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,GAAI,CAAC;wBACjC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC;wBACnB,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;wBAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;4BACb,MAAM,IAAI,KAAK,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;wBAChD,CAAC;wBAED,MAAM,YAAY,GAAG;4BACnB,EAAE,EAAE,GAAG;4BACP,GAAG;4BACH,OAAO;4BACP,IAAI,EAAE,IAAI,CAAC,IAAI;4BACf,QAAQ,EAAE,OAAO,CAAC,QAAQ;4BAC1B,QAAQ;4BACR,aAAa,EAAE,OAAO,CAAC,aAAa;yBACrC,CAAC;wBAEF,IAAI,aAAa,GAAG,EAAE,CAAC;wBACvB,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;4BACjC,IAAI,CAAC,MAAM,CAAC,oBAAoB;gCAAE,SAAS;4BAC3C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC;gCAC/C,GAAG,EAAE,YAAY;gCACjB,YAAY,EAAE,OAAO;gCACrB,EAAE,EAAE,aAAa;gCACjB,OAAO,EAAE,CAAC;6BACX,CAAC,CAAC;4BACH,gCAAgC,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;4BAC1D,aAAa,GAAG,MAAM,CAAC;wBACzB,CAAC;wBAED,IAAI,YAAY,GAEL,IAAI,CAAC;wBAChB,IAAI,QAAQ,GAAG,CAAC,CAAC;wBAEjB,IACE,WAAW,CAAC,MAAM,KAAK,CAAC;4BACxB,OAAO,CAAC,mBAAmB;4BAC3B,OAAO,CAAC,uBAAuB,EAC/B,CAAC;4BACD,MAAM,UAAU,GAAG,EAAE,CAAC;4BACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gCACpC,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC;gCACvB,IAAI,MAAM,CAAC,KAAK,KAAK,EAAE,CAAC,KAAK;oCAAE,MAAM;gCACrC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;4BAC9C,CAAC;4BAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCAC1B,YAAY,GAAG,MAAM,OAAO,CAAC,mBAAmB,CAC9C,YAAY,EACZ,UAAU,CACX,CAAC;gCACF,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;4BAC9C,CAAC;wBACH,CAAC;wBAED,IAAI,CAAC,YAAY,EAAE,CAAC;4BAClB,IAAI,aAAa,GAAG,MAAM,OAAO,CAAC,cAAc,CAC9C,YAAY,EACZ,aAAa,EACb,CAAC,CACF,CAAC;4BAEF,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;gCACjC,IAAI,CAAC,MAAM,CAAC,mBAAmB;oCAAE,SAAS;gCAC1C,aAAa,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC;oCAC/C,GAAG,EAAE,YAAY;oCACjB,YAAY,EAAE,OAAO;oCACrB,EAAE,EAAE,aAAa;oCACjB,OAAO,EAAE,CAAC;oCACV,OAAO,EAAE,aAAa;iCACvB,CAAC,CAAC;4BACL,CAAC;4BAED,YAAY,GAAG,CAAC,aAAa,CAAC,CAAC;wBACjC,CAAC;wBACD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BAC9B,MAAM,IAAI,KAAK,CACb,YAAY,EAAE,CAAC,KAAK,gDAAgD,CACrE,CAAC;wBACJ,CAAC;wBAED,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;4BACnC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gCACxC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gCAC7B,MAAM,IAAI,iBAAiB,CAAC;oCAC1B,EAAE,EAAE,IAAI;oCACR,MAAM,EAAE,UAAU;oCAClB,SAAS;oCACT,OAAO;iCACR,CAAC,CAAC;4BACL,CAAC;4BAED,gEAAgE;4BAChE,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,cAAc,IAAI,EAAE,EAAE,CAAC;gCAC7C,MAAM,MAAM,GAAG,CAAC,EAAE,MAAM,CAAC;gCACzB,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;oCAC1C,OAAO,CAAC,IAAI,CAAC;wCACX,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO;wCAC/B,MAAM,EAAE,OAAgB;wCACxB,KAAK,EAAE,gBAAgB;wCACvB,IAAI,EAAE,eAAe;wCACrB,SAAS,EAAE,KAAK;qCACjB,CAAC,CAAC;oCACH,MAAM,IAAI,iBAAiB,CAAC;wCAC1B,EAAE,EAAE,IAAI;wCACR,MAAM,EAAE,UAAU;wCAClB,SAAS;wCACT,OAAO;qCACR,CAAC,CAAC;gCACL,CAAC;4BACH,CAAC;4BAED,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;4BAC7B,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;4BAC3C,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;gCACvC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;4BACjC,CAAC;wBACH,CAAC;wBAED,CAAC,IAAI,QAAQ,CAAC;oBAChB,CAAC;oBAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC1B,MAAM,UAAU,GAEZ,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;4BACzB,YAAY,EAAE,WAAW;4BACzB,UAAU,EAAE,SAAS;4BACrB,KAAK,EAAE,CAAC,CAAC,KAAK;4BACd,MAAM,EAAE,CAAC,CAAC,MAAM;4BAChB,EAAE,EAAE,CAAC,CAAC,EAAE;4BACR,QAAQ,EAAE,kBAAkB,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC;4BACjD,WAAW,EAAE,CAAC,CAAC,WAAW;4BAC1B,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;yBACrC,CAAC,CAAC,CAAC;wBAEJ,MAAM,OAAO;6BACV,UAAU,CAAC,cAAc,CAAC;6BAC1B,MAAM,CAAC,UAAU,CAAC;6BAClB,OAAO,EAAE,CAAC;oBACf,CAAC;oBAED,MAAM,eAAe,GAAqB;wBACxC,EAAE,EAAE,IAAI;wBACR,MAAM,EAAE,SAAS;wBACjB,SAAS;wBACT,OAAO;qBACR,CAAC;oBAEF,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC;oBAE5D,MAAM,mBAAmB,GAErB;wBACF,WAAW,EAAE,kBAAkB,CAAC,OAAO,EAAE,eAAe,CAAC;wBACzD,YAAY,EAAE,UAAU,CAAC,MAAM;wBAC/B,eAAe,EAAE,OAAO,CAAC,SAAS,CAAC,cAAc,CAAa;qBAC/D,CAAC;oBAEF,MAAM,OAAO;yBACV,WAAW,CAAC,cAAc,CAAC;yBAC3B,GAAG,CAAC,mBAAmB,CAAC;yBACxB,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,SAAS,CAAC;yBACnC,OAAO,EAAE,CAAC;oBAEb,kDAAkD;oBAClD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC9B,MAAM,YAAY,GAEd,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;4BACjC,YAAY,EAAE,WAAW;4BACzB,KAAK;4BACL,UAAU,EAAE,SAAS;yBACtB,CAAC,CAAC,CAAC;wBAEJ,MAAM,OAAO;6BACV,UAAU,CAAC,oBAAoB,CAAC;6BAChC,MAAM,CAAC,YAAY,CAAC;6BACpB,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CACjB,EAAE;6BACC,OAAO,CAAC,CAAC,cAAc,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;6BAChD,SAAS,EAAE,CACf;6BACA,OAAO,EAAE,CAAC;oBACf,CAAC;oBAED,IAAI,aAAa,EAAE,CAAC;wBAClB,MAAM,GAAG;6BACN,GAAG,CAAC,qBAAqB,aAAa,EAAE,CAAC;6BACzC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAClB,CAAC;oBAED,MAAM,cAAc,GAClB,MAAM,2BAA2B,CAAC,SAAS,CAAC,CAAC;oBAE/C,OAAO;wBACL,QAAQ,EAAE,eAAe;wBACzB,cAAc;wBACd,SAAS,EAAE,oBAAoB,CAAC,UAAU,CAAC;wBAC3C,cAAc,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;4BACrC,KAAK,EAAE,CAAC,CAAC,KAAK;4BACd,MAAM,EAAE,CAAC,CAAC,MAAM;4BAChB,EAAE,EAAE,CAAC,CAAC,EAAE;4BACR,QAAQ,EAAE,CAAC,CAAC,QAAQ;4BACpB,WAAW,EAAE,CAAC,CAAC,WAAW;4BAC1B,MAAM,EAAE,CAAC,CAAC,MAAM;yBACjB,CAAC,CAAC;wBACH,GAAG,cAAc;qBAClB,CAAC;gBACJ,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,gDAAgD;oBAChD,IAAI,gBAAgB,EAAE,CAAC;wBACrB,IAAI,CAAC;4BACH,MAAM,GAAG;iCACN,GAAG,CAAC,yBAAyB,aAAa,EAAE,CAAC;iCAC7C,OAAO,CAAC,GAAG,CAAC,CAAC;4BAChB,MAAM,GAAG;iCACN,GAAG,CAAC,qBAAqB,aAAa,EAAE,CAAC;iCACzC,OAAO,CAAC,GAAG,CAAC,CAAC;wBAClB,CAAC;wBAAC,OAAO,YAAY,EAAE,CAAC;4BACtB,4DAA4D;4BAC5D,gEAAgE;4BAChE,oCAAoC;4BACpC,OAAO,CAAC,KAAK,CACX,yCAAyC,EACzC,YAAY,CACb,CAAC;4BACF,MAAM,YAAY,CAAC;wBACrB,CAAC;oBACH,CAAC;oBAED,IAAI,CAAC,CAAC,GAAG,YAAY,iBAAiB,CAAC;wBAAE,MAAM,GAAG,CAAC;oBAEnD,MAAM,oBAAoB,GAEtB;wBACF,WAAW,EAAE,kBAAkB,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC;wBACtD,YAAY,EAAE,CAAC;wBACf,eAAe,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,CAAa;qBACnD,CAAC;oBAEF,8DAA8D;oBAC9D,MAAM,OAAO;yBACV,WAAW,CAAC,cAAc,CAAC;yBAC3B,GAAG,CAAC,oBAAoB,CAAC;yBACzB,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,SAAS,CAAC;yBACnC,OAAO,EAAE,CAAC;oBAEb,MAAM,cAAc,GAClB,MAAM,2BAA2B,CAAC,SAAS,CAAC,CAAC;oBAE/C,OAAO;wBACL,QAAQ,EAAE,GAAG,CAAC,QAAQ;wBACtB,cAAc,EAAE,EAAE;wBAClB,SAAS,EAAE,EAAE;wBACb,cAAc,EAAE,EAAE;wBAClB,GAAG,cAAc;qBAClB,CAAC;gBACJ,CAAC;YAAA,CACF,CAAC,CACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,CAAC;YACzD,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACrC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;YAC7C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAExB,iBAAiB,CAAC;gBAChB,MAAM,EAAE,OAAO;gBACf,UAAU;gBACV,cAAc;gBACd,kBAAkB,EAAE,CAAC;gBACrB,kBAAkB,EAAE,CAAC;aACtB,CAAC,CAAC;YACH,oBAAoB,CAAC,KAAK,EAAE;gBAC1B,KAAK,EAAE,kBAAkB;gBACzB,cAAc;aACf,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;IAAA,CACF,CACF,CAAC;AAAA,CACH"}
|
|
1
|
+
{"version":3,"file":"push.js","sourceRoot":"","sources":["../src/push.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@syncular/server",
|
|
3
|
-
"version": "0.0.6-
|
|
3
|
+
"version": "0.0.6-201",
|
|
4
4
|
"description": "Server-side sync engine with push/pull, pruning, and snapshot support",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Benjamin Kniffler",
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"release": "bunx syncular-publish"
|
|
63
63
|
},
|
|
64
64
|
"dependencies": {
|
|
65
|
-
"@syncular/core": "0.0.6-
|
|
65
|
+
"@syncular/core": "0.0.6-201"
|
|
66
66
|
},
|
|
67
67
|
"peerDependencies": {
|
|
68
68
|
"kysely": "^0.28.0",
|
|
@@ -205,6 +205,8 @@ export function createDatabaseBlobStorageAdapter<DB extends SyncBlobsDb>(
|
|
|
205
205
|
const { db, baseUrl, tokenSigner } = options;
|
|
206
206
|
const resolvePartitionId = (partitionId?: string): string =>
|
|
207
207
|
partitionId ?? 'default';
|
|
208
|
+
const normalizeBlobSizeValue = (value: number | string): number =>
|
|
209
|
+
typeof value === 'number' ? value : Number(value);
|
|
208
210
|
|
|
209
211
|
return {
|
|
210
212
|
name: 'database',
|
|
@@ -281,7 +283,7 @@ export function createDatabaseBlobStorageAdapter<DB extends SyncBlobsDb>(
|
|
|
281
283
|
options?: { partitionId?: string }
|
|
282
284
|
): Promise<{ size: number; mimeType?: string } | null> {
|
|
283
285
|
const partitionId = resolvePartitionId(options?.partitionId);
|
|
284
|
-
const rowResult = await sql<{ size: number; mime_type: string }>`
|
|
286
|
+
const rowResult = await sql<{ size: number | string; mime_type: string }>`
|
|
285
287
|
select size, mime_type
|
|
286
288
|
from ${sql.table('sync_blobs')}
|
|
287
289
|
where partition_id = ${partitionId} and hash = ${hash}
|
|
@@ -292,7 +294,7 @@ export function createDatabaseBlobStorageAdapter<DB extends SyncBlobsDb>(
|
|
|
292
294
|
if (!row) return null;
|
|
293
295
|
|
|
294
296
|
return {
|
|
295
|
-
size: row.size,
|
|
297
|
+
size: normalizeBlobSizeValue(row.size),
|
|
296
298
|
mimeType: row.mime_type,
|
|
297
299
|
};
|
|
298
300
|
},
|
|
@@ -376,7 +378,7 @@ export async function readBlobFromDatabase<DB extends SyncBlobsDb>(
|
|
|
376
378
|
const rowResult = await sql<{
|
|
377
379
|
body: Uint8Array;
|
|
378
380
|
mime_type: string;
|
|
379
|
-
size: number;
|
|
381
|
+
size: number | string;
|
|
380
382
|
}>`
|
|
381
383
|
select body, mime_type, size
|
|
382
384
|
from ${sql.table('sync_blobs')}
|
|
@@ -390,6 +392,6 @@ export async function readBlobFromDatabase<DB extends SyncBlobsDb>(
|
|
|
390
392
|
return {
|
|
391
393
|
body: row.body,
|
|
392
394
|
mimeType: row.mime_type,
|
|
393
|
-
size: row.size,
|
|
395
|
+
size: typeof row.size === 'number' ? row.size : Number(row.size),
|
|
394
396
|
};
|
|
395
397
|
}
|
package/src/blobs/manager.ts
CHANGED
|
@@ -117,6 +117,10 @@ export function createBlobManager<DB extends SyncBlobUploadsDb>(
|
|
|
117
117
|
return partitionId ?? 'default';
|
|
118
118
|
}
|
|
119
119
|
|
|
120
|
+
function normalizeBlobSizeValue(value: number | string): number {
|
|
121
|
+
return typeof value === 'number' ? value : Number(value);
|
|
122
|
+
}
|
|
123
|
+
|
|
120
124
|
function toStoragePartitionOptions(partitionId: string): {
|
|
121
125
|
partitionId?: string;
|
|
122
126
|
} {
|
|
@@ -318,7 +322,7 @@ export function createBlobManager<DB extends SyncBlobUploadsDb>(
|
|
|
318
322
|
// Check upload record exists
|
|
319
323
|
const uploadResult = await sql<{
|
|
320
324
|
hash: string;
|
|
321
|
-
size: number;
|
|
325
|
+
size: number | string;
|
|
322
326
|
mime_type: string;
|
|
323
327
|
status: 'pending' | 'complete';
|
|
324
328
|
actor_id: string;
|
|
@@ -343,12 +347,13 @@ export function createBlobManager<DB extends SyncBlobUploadsDb>(
|
|
|
343
347
|
}
|
|
344
348
|
|
|
345
349
|
if (upload.status === 'complete') {
|
|
350
|
+
const uploadSize = normalizeBlobSizeValue(upload.size);
|
|
346
351
|
// Already complete - return metadata
|
|
347
352
|
return {
|
|
348
353
|
ok: true,
|
|
349
354
|
metadata: {
|
|
350
355
|
hash: upload.hash,
|
|
351
|
-
size:
|
|
356
|
+
size: uploadSize,
|
|
352
357
|
mimeType: upload.mime_type,
|
|
353
358
|
createdAt: upload.created_at,
|
|
354
359
|
uploadComplete: true,
|
|
@@ -363,12 +368,13 @@ export function createBlobManager<DB extends SyncBlobUploadsDb>(
|
|
|
363
368
|
}
|
|
364
369
|
|
|
365
370
|
// Optionally verify size matches
|
|
371
|
+
const uploadSize = normalizeBlobSizeValue(upload.size);
|
|
366
372
|
if (adapter.getMetadata) {
|
|
367
373
|
const meta = await adapter.getMetadata(hash, storagePartitionOptions);
|
|
368
|
-
if (meta && meta.size !==
|
|
374
|
+
if (meta && meta.size !== uploadSize) {
|
|
369
375
|
return {
|
|
370
376
|
ok: false,
|
|
371
|
-
error: `Size mismatch: expected ${
|
|
377
|
+
error: `Size mismatch: expected ${uploadSize}, got ${meta.size}`,
|
|
372
378
|
};
|
|
373
379
|
}
|
|
374
380
|
}
|
|
@@ -385,7 +391,7 @@ export function createBlobManager<DB extends SyncBlobUploadsDb>(
|
|
|
385
391
|
ok: true,
|
|
386
392
|
metadata: {
|
|
387
393
|
hash: upload.hash,
|
|
388
|
-
size:
|
|
394
|
+
size: uploadSize,
|
|
389
395
|
mimeType: upload.mime_type,
|
|
390
396
|
createdAt: upload.created_at,
|
|
391
397
|
uploadComplete: true,
|
|
@@ -411,7 +417,7 @@ export function createBlobManager<DB extends SyncBlobUploadsDb>(
|
|
|
411
417
|
// Get upload record (must be complete)
|
|
412
418
|
const uploadResult = await sql<{
|
|
413
419
|
hash: string;
|
|
414
|
-
size: number;
|
|
420
|
+
size: number | string;
|
|
415
421
|
mime_type: string;
|
|
416
422
|
status: 'pending' | 'complete';
|
|
417
423
|
created_at: string;
|
|
@@ -445,7 +451,7 @@ export function createBlobManager<DB extends SyncBlobUploadsDb>(
|
|
|
445
451
|
expiresAt,
|
|
446
452
|
metadata: {
|
|
447
453
|
hash: upload.hash,
|
|
448
|
-
size: upload.size,
|
|
454
|
+
size: normalizeBlobSizeValue(upload.size),
|
|
449
455
|
mimeType: upload.mime_type,
|
|
450
456
|
createdAt: upload.created_at,
|
|
451
457
|
uploadComplete: true,
|
|
@@ -468,7 +474,7 @@ export function createBlobManager<DB extends SyncBlobUploadsDb>(
|
|
|
468
474
|
const uploadResult = await sql<{
|
|
469
475
|
partition_id: string;
|
|
470
476
|
hash: string;
|
|
471
|
-
size: number;
|
|
477
|
+
size: number | string;
|
|
472
478
|
mime_type: string;
|
|
473
479
|
status: 'pending' | 'complete';
|
|
474
480
|
actor_id: string;
|
|
@@ -499,7 +505,7 @@ export function createBlobManager<DB extends SyncBlobUploadsDb>(
|
|
|
499
505
|
return {
|
|
500
506
|
partitionId: upload.partition_id,
|
|
501
507
|
hash: upload.hash,
|
|
502
|
-
size: upload.size,
|
|
508
|
+
size: normalizeBlobSizeValue(upload.size),
|
|
503
509
|
mimeType: upload.mime_type,
|
|
504
510
|
status: upload.status,
|
|
505
511
|
actorId: upload.actor_id,
|
|
@@ -524,7 +530,7 @@ export function createBlobManager<DB extends SyncBlobUploadsDb>(
|
|
|
524
530
|
|
|
525
531
|
const uploadResult = await sql<{
|
|
526
532
|
hash: string;
|
|
527
|
-
size: number;
|
|
533
|
+
size: number | string;
|
|
528
534
|
mime_type: string;
|
|
529
535
|
status: 'pending' | 'complete';
|
|
530
536
|
created_at: string;
|
|
@@ -544,7 +550,7 @@ export function createBlobManager<DB extends SyncBlobUploadsDb>(
|
|
|
544
550
|
|
|
545
551
|
return {
|
|
546
552
|
hash: upload.hash,
|
|
547
|
-
size: upload.size,
|
|
553
|
+
size: normalizeBlobSizeValue(upload.size),
|
|
548
554
|
mimeType: upload.mime_type,
|
|
549
555
|
createdAt: upload.created_at,
|
|
550
556
|
uploadComplete: true,
|
|
@@ -118,6 +118,13 @@ export interface CreateServerHandlerOptions<
|
|
|
118
118
|
/** TTL for cached snapshot chunks in ms */
|
|
119
119
|
snapshotChunkTtlMs?: number;
|
|
120
120
|
|
|
121
|
+
/**
|
|
122
|
+
* Maximum uncompressed row-frame bytes to group into a cached snapshot bundle.
|
|
123
|
+
* Larger values reduce chunk/request overhead for large bootstraps at the
|
|
124
|
+
* cost of higher transient memory and chunk sizes.
|
|
125
|
+
*/
|
|
126
|
+
snapshotBundleMaxBytes?: number;
|
|
127
|
+
|
|
121
128
|
/**
|
|
122
129
|
* Resolve allowed scope values for the current actor.
|
|
123
130
|
* Called per request to determine what the actor can access.
|
|
@@ -259,6 +266,7 @@ export function createServerHandler<
|
|
|
259
266
|
versionColumn = 'server_version',
|
|
260
267
|
dependsOn,
|
|
261
268
|
snapshotChunkTtlMs,
|
|
269
|
+
snapshotBundleMaxBytes,
|
|
262
270
|
resolveScopes,
|
|
263
271
|
transformInbound,
|
|
264
272
|
transformOutbound,
|
|
@@ -274,6 +282,7 @@ export function createServerHandler<
|
|
|
274
282
|
const qualifiedVersionRef = `${table}.${versionColumn}`;
|
|
275
283
|
const resolveTableCodecs = (row: Record<string, unknown>) =>
|
|
276
284
|
resolveRowCodecs(table, row);
|
|
285
|
+
const usePassthroughInbound = !transformInbound && codecs == null;
|
|
277
286
|
|
|
278
287
|
const { scopePatterns, scopeColumnsByVariable: scopeColumns } =
|
|
279
288
|
createSingleVariableScopeMetadata(scopeDefs);
|
|
@@ -327,6 +336,10 @@ export function createServerHandler<
|
|
|
327
336
|
row: Record<string, unknown>,
|
|
328
337
|
schemaVersion: number | undefined
|
|
329
338
|
): Updateable<ServerDB[TableName]> => {
|
|
339
|
+
if (usePassthroughInbound) {
|
|
340
|
+
return row as Updateable<ServerDB[TableName]>;
|
|
341
|
+
}
|
|
342
|
+
|
|
330
343
|
if (transformInbound) {
|
|
331
344
|
return transformInbound(row as Selectable<ClientDB[TableName]>, {
|
|
332
345
|
schemaVersion,
|
|
@@ -350,7 +363,7 @@ export function createServerHandler<
|
|
|
350
363
|
const { ref } = trx.dynamic;
|
|
351
364
|
const scopeValues = ctx.scopeValues;
|
|
352
365
|
|
|
353
|
-
const pageSize = Math.max(1,
|
|
366
|
+
const pageSize = Math.max(1, ctx.limit);
|
|
354
367
|
|
|
355
368
|
// Build dynamic WHERE conditions
|
|
356
369
|
const whereConditions: Array<{ column: string; values: string[] }> = [];
|
|
@@ -863,6 +876,7 @@ export function createServerHandler<
|
|
|
863
876
|
scopePatterns,
|
|
864
877
|
dependsOn,
|
|
865
878
|
snapshotChunkTtlMs,
|
|
879
|
+
snapshotBundleMaxBytes,
|
|
866
880
|
canRejectSingleOperationWithoutSavepoint:
|
|
867
881
|
options.canRejectSingleOperationWithoutSavepoint ??
|
|
868
882
|
options.applyOperation === undefined,
|
package/src/handlers/types.ts
CHANGED
|
@@ -205,6 +205,13 @@ export interface ServerHandlerOptions<
|
|
|
205
205
|
*/
|
|
206
206
|
snapshotChunkTtlMs?: number;
|
|
207
207
|
|
|
208
|
+
/**
|
|
209
|
+
* Maximum uncompressed row-frame bytes to group into a cached snapshot bundle.
|
|
210
|
+
* Larger values reduce chunk/request overhead for large bootstraps at the
|
|
211
|
+
* cost of higher transient memory and chunk sizes.
|
|
212
|
+
*/
|
|
213
|
+
snapshotBundleMaxBytes?: number;
|
|
214
|
+
|
|
208
215
|
/**
|
|
209
216
|
* Transform client payload → server row on writes.
|
|
210
217
|
*/
|
|
@@ -263,6 +270,11 @@ export interface ServerTableHandler<
|
|
|
263
270
|
*/
|
|
264
271
|
snapshotChunkTtlMs?: number;
|
|
265
272
|
|
|
273
|
+
/**
|
|
274
|
+
* Maximum uncompressed row-frame bytes to group into a cached snapshot bundle.
|
|
275
|
+
*/
|
|
276
|
+
snapshotBundleMaxBytes?: number;
|
|
277
|
+
|
|
266
278
|
/**
|
|
267
279
|
* Hint for push engine savepoint optimization on single-op commits.
|
|
268
280
|
*
|
package/src/notify.test.ts
CHANGED
|
@@ -4,7 +4,11 @@ import { createBunSqliteDialect } from '../../dialect-bun-sqlite/src';
|
|
|
4
4
|
import { createSqliteServerDialect } from '../../server-dialect-sqlite/src';
|
|
5
5
|
import { createServerHandler, createServerHandlerCollection } from './handlers';
|
|
6
6
|
import { ensureSyncSchema } from './migrate';
|
|
7
|
-
import {
|
|
7
|
+
import {
|
|
8
|
+
EXTERNAL_CLIENT_ID,
|
|
9
|
+
notifyExternalDataChange,
|
|
10
|
+
notifyExternalRowChanges,
|
|
11
|
+
} from './notify';
|
|
8
12
|
import { pull } from './pull';
|
|
9
13
|
import type { SyncCoreDb } from './schema';
|
|
10
14
|
|
|
@@ -318,6 +322,8 @@ describe('pull re-bootstrap after external data change', () => {
|
|
|
318
322
|
const rebootSub = rebootstrapPull.response.subscriptions[0]!;
|
|
319
323
|
expect(rebootSub.bootstrap).toBe(true);
|
|
320
324
|
expect(rebootSub.snapshots?.length).toBeGreaterThan(0);
|
|
325
|
+
expect(rebootSub.snapshots?.[0]?.rows).toHaveLength(1);
|
|
326
|
+
expect(rebootSub.snapshots?.[0]?.chunks).toBeUndefined();
|
|
321
327
|
});
|
|
322
328
|
|
|
323
329
|
it('does not force re-bootstrap for unaffected tables', async () => {
|
|
@@ -518,3 +524,121 @@ describe('pull re-bootstrap after external data change', () => {
|
|
|
518
524
|
expect(codesSub.bootstrap).toBe(true);
|
|
519
525
|
});
|
|
520
526
|
});
|
|
527
|
+
|
|
528
|
+
describe('notifyExternalRowChanges', () => {
|
|
529
|
+
let db: ReturnType<typeof createBunSqliteDialect<TestDb>>;
|
|
530
|
+
|
|
531
|
+
beforeEach(async () => {
|
|
532
|
+
db = await setupDb();
|
|
533
|
+
});
|
|
534
|
+
|
|
535
|
+
afterEach(async () => {
|
|
536
|
+
await db.destroy();
|
|
537
|
+
});
|
|
538
|
+
|
|
539
|
+
it('writes incremental sync_changes for external row updates', async () => {
|
|
540
|
+
await db
|
|
541
|
+
.insertInto('tasks')
|
|
542
|
+
.values({
|
|
543
|
+
id: 't1',
|
|
544
|
+
user_id: 'u1',
|
|
545
|
+
title: 'Original',
|
|
546
|
+
server_version: 1,
|
|
547
|
+
})
|
|
548
|
+
.execute();
|
|
549
|
+
|
|
550
|
+
const tasksHandler = createServerHandler<TestDb, ClientDb, 'tasks'>({
|
|
551
|
+
table: 'tasks',
|
|
552
|
+
scopes: ['user:{user_id}'],
|
|
553
|
+
resolveScopes: async (ctx) => ({ user_id: [ctx.actorId] }),
|
|
554
|
+
});
|
|
555
|
+
|
|
556
|
+
const handlers = createServerHandlerCollection<TestDb>([tasksHandler]);
|
|
557
|
+
|
|
558
|
+
const firstPull = await pull({
|
|
559
|
+
db,
|
|
560
|
+
dialect,
|
|
561
|
+
handlers,
|
|
562
|
+
auth: { actorId: 'u1' },
|
|
563
|
+
request: {
|
|
564
|
+
clientId: 'client-1',
|
|
565
|
+
limitCommits: 10,
|
|
566
|
+
limitSnapshotRows: 100,
|
|
567
|
+
maxSnapshotPages: 10,
|
|
568
|
+
subscriptions: [
|
|
569
|
+
{
|
|
570
|
+
id: 'sub-tasks',
|
|
571
|
+
table: 'tasks',
|
|
572
|
+
scopes: { user_id: 'u1' },
|
|
573
|
+
cursor: -1,
|
|
574
|
+
},
|
|
575
|
+
],
|
|
576
|
+
},
|
|
577
|
+
});
|
|
578
|
+
|
|
579
|
+
const cursorAfterBootstrap =
|
|
580
|
+
firstPull.response.subscriptions[0]?.nextCursor ?? -1;
|
|
581
|
+
|
|
582
|
+
await db
|
|
583
|
+
.updateTable('tasks')
|
|
584
|
+
.set({
|
|
585
|
+
title: 'Updated externally',
|
|
586
|
+
server_version: 2,
|
|
587
|
+
})
|
|
588
|
+
.where('id', '=', 't1')
|
|
589
|
+
.execute();
|
|
590
|
+
|
|
591
|
+
const result = await notifyExternalRowChanges({
|
|
592
|
+
db,
|
|
593
|
+
dialect,
|
|
594
|
+
changes: [
|
|
595
|
+
{
|
|
596
|
+
table: 'tasks',
|
|
597
|
+
rowId: 't1',
|
|
598
|
+
op: 'upsert',
|
|
599
|
+
rowJson: {
|
|
600
|
+
id: 't1',
|
|
601
|
+
user_id: 'u1',
|
|
602
|
+
title: 'Updated externally',
|
|
603
|
+
server_version: 2,
|
|
604
|
+
},
|
|
605
|
+
rowVersion: 2,
|
|
606
|
+
scopes: { user_id: 'u1' },
|
|
607
|
+
},
|
|
608
|
+
],
|
|
609
|
+
});
|
|
610
|
+
|
|
611
|
+
expect(result.changeCount).toBe(1);
|
|
612
|
+
expect(result.tables).toEqual(['tasks']);
|
|
613
|
+
|
|
614
|
+
const incrementalPull = await pull({
|
|
615
|
+
db,
|
|
616
|
+
dialect,
|
|
617
|
+
handlers,
|
|
618
|
+
auth: { actorId: 'u1' },
|
|
619
|
+
request: {
|
|
620
|
+
clientId: 'client-1',
|
|
621
|
+
limitCommits: 10,
|
|
622
|
+
limitSnapshotRows: 100,
|
|
623
|
+
maxSnapshotPages: 10,
|
|
624
|
+
subscriptions: [
|
|
625
|
+
{
|
|
626
|
+
id: 'sub-tasks',
|
|
627
|
+
table: 'tasks',
|
|
628
|
+
scopes: { user_id: 'u1' },
|
|
629
|
+
cursor: cursorAfterBootstrap,
|
|
630
|
+
},
|
|
631
|
+
],
|
|
632
|
+
},
|
|
633
|
+
});
|
|
634
|
+
|
|
635
|
+
const sub = incrementalPull.response.subscriptions[0]!;
|
|
636
|
+
expect(sub.bootstrap).toBe(false);
|
|
637
|
+
expect(sub.commits?.length).toBe(1);
|
|
638
|
+
expect(sub.commits?.[0]?.changes?.[0]?.row_id).toBe('t1');
|
|
639
|
+
expect(sub.commits?.[0]?.changes?.[0]?.row_version).toBe(2);
|
|
640
|
+
expect(
|
|
641
|
+
(sub.commits?.[0]?.changes?.[0]?.row_json as { title: string }).title
|
|
642
|
+
).toBe('Updated externally');
|
|
643
|
+
});
|
|
644
|
+
});
|
package/src/notify.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* ensuring clients receive the updated data.
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import { randomId } from '@syncular/core';
|
|
11
|
+
import { randomId, type StoredScopes } from '@syncular/core';
|
|
12
12
|
import type { Insertable, Kysely } from 'kysely';
|
|
13
13
|
import { coerceNumber, toDialectJsonValue } from './dialect/helpers';
|
|
14
14
|
import type { ServerSyncDialect } from './dialect/types';
|
|
@@ -40,6 +40,29 @@ export interface NotifyExternalDataChangeResult {
|
|
|
40
40
|
deletedChunks: number;
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
+
export interface ExternalRowChange {
|
|
44
|
+
table: string;
|
|
45
|
+
rowId: string;
|
|
46
|
+
op: 'upsert' | 'delete';
|
|
47
|
+
rowJson: unknown | null;
|
|
48
|
+
rowVersion: number | null;
|
|
49
|
+
scopes: StoredScopes;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export interface NotifyExternalRowChangesArgs<DB extends SyncCoreDb> {
|
|
53
|
+
db: Kysely<DB>;
|
|
54
|
+
dialect: ServerSyncDialect;
|
|
55
|
+
changes: ExternalRowChange[];
|
|
56
|
+
partitionId?: string;
|
|
57
|
+
actorId?: string;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export interface NotifyExternalRowChangesResult {
|
|
61
|
+
commitSeq: number;
|
|
62
|
+
tables: string[];
|
|
63
|
+
changeCount: number;
|
|
64
|
+
}
|
|
65
|
+
|
|
43
66
|
/**
|
|
44
67
|
* Notify the sync framework about external data changes.
|
|
45
68
|
*
|
|
@@ -144,3 +167,134 @@ export async function notifyExternalDataChange<DB extends SyncCoreDb>(
|
|
|
144
167
|
};
|
|
145
168
|
});
|
|
146
169
|
}
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* Notify the sync framework about external row-level changes without forcing
|
|
173
|
+
* affected subscriptions to re-bootstrap.
|
|
174
|
+
*
|
|
175
|
+
* Use this when the external writer knows the exact changed rows, versions, and
|
|
176
|
+
* scopes. It writes a synthetic incremental commit into the Syncular commit log
|
|
177
|
+
* so subsequent pulls can continue incrementally.
|
|
178
|
+
*/
|
|
179
|
+
export async function notifyExternalRowChanges<DB extends SyncCoreDb>(
|
|
180
|
+
args: NotifyExternalRowChangesArgs<DB>
|
|
181
|
+
): Promise<NotifyExternalRowChangesResult> {
|
|
182
|
+
const { db, dialect, changes } = args;
|
|
183
|
+
const partitionId = args.partitionId ?? 'default';
|
|
184
|
+
const actorId = args.actorId ?? EXTERNAL_CLIENT_ID;
|
|
185
|
+
const normalizedChanges = changes.filter(
|
|
186
|
+
(change) =>
|
|
187
|
+
typeof change.table === 'string' &&
|
|
188
|
+
change.table.length > 0 &&
|
|
189
|
+
typeof change.rowId === 'string' &&
|
|
190
|
+
change.rowId.length > 0
|
|
191
|
+
);
|
|
192
|
+
|
|
193
|
+
if (normalizedChanges.length === 0) {
|
|
194
|
+
throw new Error('notifyExternalRowChanges: changes must not be empty');
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
return dialect.executeInTransaction(db, async (trx) => {
|
|
198
|
+
type SyncTrx = Pick<
|
|
199
|
+
Kysely<SyncCoreDb>,
|
|
200
|
+
'selectFrom' | 'insertInto' | 'updateTable' | 'deleteFrom'
|
|
201
|
+
>;
|
|
202
|
+
const syncTrx = trx as SyncTrx;
|
|
203
|
+
const clientCommitId = `ext_rows_${Date.now()}_${randomId()}`;
|
|
204
|
+
|
|
205
|
+
const commitRow: Insertable<SyncCoreDb['sync_commits']> = {
|
|
206
|
+
partition_id: partitionId,
|
|
207
|
+
actor_id: actorId,
|
|
208
|
+
client_id: EXTERNAL_CLIENT_ID,
|
|
209
|
+
client_commit_id: clientCommitId,
|
|
210
|
+
meta: null,
|
|
211
|
+
result_json: null,
|
|
212
|
+
change_count: normalizedChanges.length,
|
|
213
|
+
affected_tables: dialect.arrayToDb(
|
|
214
|
+
Array.from(
|
|
215
|
+
new Set(normalizedChanges.map((change) => change.table))
|
|
216
|
+
).sort()
|
|
217
|
+
) as string[],
|
|
218
|
+
};
|
|
219
|
+
|
|
220
|
+
let commitSeq = 0;
|
|
221
|
+
if (dialect.supportsInsertReturning) {
|
|
222
|
+
const insertedCommit = await syncTrx
|
|
223
|
+
.insertInto('sync_commits')
|
|
224
|
+
.values(commitRow)
|
|
225
|
+
.returning(['commit_seq'])
|
|
226
|
+
.executeTakeFirstOrThrow();
|
|
227
|
+
commitSeq = coerceNumber(insertedCommit.commit_seq) ?? 0;
|
|
228
|
+
} else {
|
|
229
|
+
const insertResult = await syncTrx
|
|
230
|
+
.insertInto('sync_commits')
|
|
231
|
+
.values(commitRow)
|
|
232
|
+
.executeTakeFirstOrThrow();
|
|
233
|
+
commitSeq = coerceNumber(insertResult.insertId) ?? 0;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
if (commitSeq <= 0) {
|
|
237
|
+
const inserted = await syncTrx
|
|
238
|
+
.selectFrom('sync_commits')
|
|
239
|
+
.select(['commit_seq'])
|
|
240
|
+
.where('partition_id', '=', partitionId)
|
|
241
|
+
.where('client_id', '=', EXTERNAL_CLIENT_ID)
|
|
242
|
+
.where('client_commit_id', '=', clientCommitId)
|
|
243
|
+
.executeTakeFirstOrThrow();
|
|
244
|
+
commitSeq = Number(inserted.commit_seq);
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
const changeRows: Array<Insertable<SyncCoreDb['sync_changes']>> =
|
|
248
|
+
normalizedChanges.map((change) => ({
|
|
249
|
+
partition_id: partitionId,
|
|
250
|
+
commit_seq: commitSeq,
|
|
251
|
+
table: change.table,
|
|
252
|
+
row_id: change.rowId,
|
|
253
|
+
op: change.op,
|
|
254
|
+
row_json: toDialectJsonValue(dialect, change.rowJson),
|
|
255
|
+
row_version: change.rowVersion,
|
|
256
|
+
scopes: dialect.scopesToDb(change.scopes),
|
|
257
|
+
}));
|
|
258
|
+
|
|
259
|
+
await syncTrx.insertInto('sync_changes').values(changeRows).execute();
|
|
260
|
+
|
|
261
|
+
const affectedTables = Array.from(
|
|
262
|
+
new Set(normalizedChanges.map((change) => change.table))
|
|
263
|
+
).sort();
|
|
264
|
+
|
|
265
|
+
await syncTrx
|
|
266
|
+
.insertInto('sync_table_commits')
|
|
267
|
+
.values(
|
|
268
|
+
affectedTables.map((table) => ({
|
|
269
|
+
partition_id: partitionId,
|
|
270
|
+
table,
|
|
271
|
+
commit_seq: commitSeq,
|
|
272
|
+
}))
|
|
273
|
+
)
|
|
274
|
+
.onConflict((oc) =>
|
|
275
|
+
oc.columns(['partition_id', 'table', 'commit_seq']).doNothing()
|
|
276
|
+
)
|
|
277
|
+
.execute();
|
|
278
|
+
|
|
279
|
+
await syncTrx
|
|
280
|
+
.updateTable('sync_commits')
|
|
281
|
+
.set({
|
|
282
|
+
result_json: toDialectJsonValue(dialect, {
|
|
283
|
+
ok: true,
|
|
284
|
+
status: 'applied',
|
|
285
|
+
commitSeq,
|
|
286
|
+
results: [],
|
|
287
|
+
}),
|
|
288
|
+
change_count: normalizedChanges.length,
|
|
289
|
+
affected_tables: dialect.arrayToDb(affectedTables) as string[],
|
|
290
|
+
})
|
|
291
|
+
.where('commit_seq', '=', commitSeq)
|
|
292
|
+
.execute();
|
|
293
|
+
|
|
294
|
+
return {
|
|
295
|
+
commitSeq,
|
|
296
|
+
tables: affectedTables,
|
|
297
|
+
changeCount: normalizedChanges.length,
|
|
298
|
+
};
|
|
299
|
+
});
|
|
300
|
+
}
|