@lix-js/sdk 0.0.1 → 0.1.0
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/LICENSE +21 -0
- package/dist/change/apply-changes.js +9 -9
- package/dist/change/apply-changes.js.map +1 -1
- package/dist/change/apply-changes.test.js +5 -5
- package/dist/change/apply-changes.test.js.map +1 -1
- package/dist/database/apply-schema.d.ts.map +1 -1
- package/dist/database/apply-schema.js +20 -72
- package/dist/database/apply-schema.js.map +1 -1
- package/dist/database/execute-sync.test.js +3 -3
- package/dist/database/execute-sync.test.js.map +1 -1
- package/dist/database/init-db.d.ts.map +1 -1
- package/dist/database/init-db.js +18 -3
- package/dist/database/init-db.js.map +1 -1
- package/dist/database/init-db.test.js +128 -17
- package/dist/database/init-db.test.js.map +1 -1
- package/dist/database/kysely-plugin/parse-jsonb-plugin-v1.d.ts.map +1 -1
- package/dist/database/kysely-plugin/parse-jsonb-plugin-v1.js +5 -2
- package/dist/database/kysely-plugin/parse-jsonb-plugin-v1.js.map +1 -1
- package/dist/database/mutation-log/database-schema.d.ts.map +1 -1
- package/dist/database/mutation-log/database-schema.js +1 -3
- package/dist/database/mutation-log/database-schema.js.map +1 -1
- package/dist/database/nano-id.d.ts +21 -0
- package/dist/database/nano-id.d.ts.map +1 -0
- package/dist/database/nano-id.js +58 -0
- package/dist/database/nano-id.js.map +1 -0
- package/dist/database/nano-id.test.d.ts +2 -0
- package/dist/database/nano-id.test.d.ts.map +1 -0
- package/dist/database/nano-id.test.js +13 -0
- package/dist/database/nano-id.test.js.map +1 -0
- package/dist/database/schema.d.ts +15 -23
- package/dist/database/schema.d.ts.map +1 -1
- package/dist/discussion/create-comment.d.ts +0 -2
- package/dist/discussion/create-comment.d.ts.map +1 -1
- package/dist/discussion/create-comment.js +0 -1
- package/dist/discussion/create-comment.js.map +1 -1
- package/dist/discussion/create-discussion.d.ts +3 -5
- package/dist/discussion/create-discussion.d.ts.map +1 -1
- package/dist/discussion/create-discussion.js +4 -5
- package/dist/discussion/create-discussion.js.map +1 -1
- package/dist/discussion/create-discussion.test.js +8 -34
- package/dist/discussion/create-discussion.test.js.map +1 -1
- package/dist/file-queue/file-handlers.d.ts +24 -0
- package/dist/file-queue/file-handlers.d.ts.map +1 -0
- package/dist/file-queue/file-handlers.js +209 -0
- package/dist/file-queue/file-handlers.js.map +1 -0
- package/dist/file-queue/file-queue-process.d.ts +5 -0
- package/dist/file-queue/file-queue-process.d.ts.map +1 -0
- package/dist/file-queue/file-queue-process.js +85 -0
- package/dist/file-queue/file-queue-process.js.map +1 -0
- package/dist/file-queue/file-queue-process.test.d.ts +2 -0
- package/dist/file-queue/file-queue-process.test.d.ts.map +1 -0
- package/dist/file-queue/file-queue-process.test.js +373 -0
- package/dist/file-queue/file-queue-process.test.js.map +1 -0
- package/dist/file-queue/file-queue-settled.d.ts +13 -0
- package/dist/file-queue/file-queue-settled.d.ts.map +1 -0
- package/dist/file-queue/file-queue-settled.js +25 -0
- package/dist/file-queue/file-queue-settled.js.map +1 -0
- package/dist/file-queue/file-queue-settled.test.d.ts +2 -0
- package/dist/file-queue/file-queue-settled.test.d.ts.map +1 -0
- package/dist/file-queue/file-queue-settled.test.js +47 -0
- package/dist/file-queue/file-queue-settled.test.js.map +1 -0
- package/dist/file-queue/index.d.ts +2 -0
- package/dist/file-queue/index.d.ts.map +1 -0
- package/dist/file-queue/index.js +2 -0
- package/dist/file-queue/index.js.map +1 -0
- package/dist/file-queue/with-skip-file-queue.d.ts +3 -0
- package/dist/file-queue/with-skip-file-queue.d.ts.map +1 -0
- package/dist/file-queue/with-skip-file-queue.js +26 -0
- package/dist/file-queue/with-skip-file-queue.js.map +1 -0
- package/dist/file-queue/with-skip-file-queue.test.d.ts +2 -0
- package/dist/file-queue/with-skip-file-queue.test.d.ts.map +1 -0
- package/dist/file-queue/with-skip-file-queue.test.js +138 -0
- package/dist/file-queue/with-skip-file-queue.test.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/key-value/database-schema.d.ts +11 -2
- package/dist/key-value/database-schema.d.ts.map +1 -1
- package/dist/key-value/database-schema.js +7 -4
- package/dist/key-value/database-schema.js.map +1 -1
- package/dist/key-value/database-schema.test.js +21 -5
- package/dist/key-value/database-schema.test.js.map +1 -1
- package/dist/lix/close-lix.d.ts +8 -0
- package/dist/lix/close-lix.d.ts.map +1 -0
- package/dist/lix/close-lix.js +7 -0
- package/dist/lix/close-lix.js.map +1 -0
- package/dist/lix/index.d.ts +1 -0
- package/dist/lix/index.d.ts.map +1 -1
- package/dist/lix/index.js +1 -0
- package/dist/lix/index.js.map +1 -1
- package/dist/lix/merge.js +3 -3
- package/dist/lix/merge.js.map +1 -1
- package/dist/lix/merge.test.js +7 -18
- package/dist/lix/merge.test.js.map +1 -1
- package/dist/lix/new-lix.d.ts.map +1 -1
- package/dist/lix/new-lix.js +2 -3
- package/dist/lix/new-lix.js.map +1 -1
- package/dist/lix/open-lix-in-memory.test.js +2 -1
- package/dist/lix/open-lix-in-memory.test.js.map +1 -1
- package/dist/lix/open-lix.d.ts +3 -5
- package/dist/lix/open-lix.d.ts.map +1 -1
- package/dist/lix/open-lix.js +4 -18
- package/dist/lix/open-lix.js.map +1 -1
- package/dist/lix/open-lix.test.js +16 -7
- package/dist/lix/open-lix.test.js.map +1 -1
- package/dist/lix/to-blob.d.ts +11 -0
- package/dist/lix/to-blob.d.ts.map +1 -0
- package/dist/lix/to-blob.js +11 -0
- package/dist/lix/to-blob.js.map +1 -0
- package/dist/own-change-control/apply-own-change.d.ts +10 -0
- package/dist/own-change-control/apply-own-change.d.ts.map +1 -0
- package/dist/own-change-control/apply-own-change.js +69 -0
- package/dist/own-change-control/apply-own-change.js.map +1 -0
- package/dist/own-change-control/apply-own-change.test.d.ts +2 -0
- package/dist/own-change-control/apply-own-change.test.d.ts.map +1 -0
- package/dist/own-change-control/apply-own-change.test.js +297 -0
- package/dist/own-change-control/apply-own-change.test.js.map +1 -0
- package/dist/own-change-control/change-controlled-tables.d.ts +60 -0
- package/dist/own-change-control/change-controlled-tables.d.ts.map +1 -0
- package/dist/own-change-control/change-controlled-tables.js +70 -0
- package/dist/own-change-control/change-controlled-tables.js.map +1 -0
- package/dist/own-change-control/change-controlled-tables.test.d.ts +2 -0
- package/dist/own-change-control/change-controlled-tables.test.d.ts.map +1 -0
- package/dist/own-change-control/change-controlled-tables.test.js +48 -0
- package/dist/own-change-control/change-controlled-tables.test.js.map +1 -0
- package/dist/own-change-control/database-triggers.d.ts +5 -0
- package/dist/own-change-control/database-triggers.d.ts.map +1 -0
- package/dist/own-change-control/database-triggers.js +135 -0
- package/dist/own-change-control/database-triggers.js.map +1 -0
- package/dist/own-change-control/database-triggers.test.d.ts +2 -0
- package/dist/own-change-control/database-triggers.test.d.ts.map +1 -0
- package/dist/own-change-control/database-triggers.test.js +214 -0
- package/dist/own-change-control/database-triggers.test.js.map +1 -0
- package/dist/own-change-control/index.d.ts +2 -0
- package/dist/own-change-control/index.d.ts.map +1 -0
- package/dist/own-change-control/index.js +2 -0
- package/dist/own-change-control/index.js.map +1 -0
- package/dist/own-change-control/with-skip-own-change-control.d.ts +3 -0
- package/dist/own-change-control/with-skip-own-change-control.d.ts.map +1 -0
- package/dist/own-change-control/with-skip-own-change-control.js +28 -0
- package/dist/own-change-control/with-skip-own-change-control.js.map +1 -0
- package/dist/own-change-control/with-skip-own-change-control.test.d.ts +2 -0
- package/dist/own-change-control/with-skip-own-change-control.test.d.ts.map +1 -0
- package/dist/own-change-control/with-skip-own-change-control.test.js +49 -0
- package/dist/own-change-control/with-skip-own-change-control.test.js.map +1 -0
- package/dist/own-entity-change-control/apply-own-entity-change.js +2 -2
- package/dist/own-entity-change-control/apply-own-entity-change.js.map +1 -1
- package/dist/own-entity-change-control/apply-own-entity-change.test.js +9 -9
- package/dist/own-entity-change-control/apply-own-entity-change.test.js.map +1 -1
- package/dist/own-entity-change-control/database-triggers.js +6 -6
- package/dist/own-entity-change-control/database-triggers.js.map +1 -1
- package/dist/own-entity-change-control/database-triggers.test.js +1 -1
- package/dist/own-entity-change-control/database-triggers.test.js.map +1 -1
- package/dist/query-filter/version-change-in-difference.test.js +37 -29
- package/dist/query-filter/version-change-in-difference.test.js.map +1 -1
- package/dist/query-filter/version-change-in-symmetric-difference.test.js +37 -39
- package/dist/query-filter/version-change-in-symmetric-difference.test.js.map +1 -1
- package/dist/server-api-handler/environment/create-in-memory-environment.d.ts.map +1 -1
- package/dist/server-api-handler/environment/create-in-memory-environment.js +7 -3
- package/dist/server-api-handler/environment/create-in-memory-environment.js.map +1 -1
- package/dist/server-api-handler/environment/create-in-memory-environment.test.js +8 -7
- package/dist/server-api-handler/environment/create-in-memory-environment.test.js.map +1 -1
- package/dist/server-api-handler/routes/get-v1.d.ts.map +1 -1
- package/dist/server-api-handler/routes/get-v1.js +1 -2
- package/dist/server-api-handler/routes/get-v1.js.map +1 -1
- package/dist/server-api-handler/routes/get-v1.test.js +6 -5
- package/dist/server-api-handler/routes/get-v1.test.js.map +1 -1
- package/dist/server-api-handler/routes/new-v1.d.ts.map +1 -1
- package/dist/server-api-handler/routes/new-v1.js +3 -1
- package/dist/server-api-handler/routes/new-v1.js.map +1 -1
- package/dist/server-api-handler/routes/new-v1.test.js +2 -1
- package/dist/server-api-handler/routes/new-v1.test.js.map +1 -1
- package/dist/server-api-handler/routes/pull-v1.test.js +4 -3
- package/dist/server-api-handler/routes/pull-v1.test.js.map +1 -1
- package/dist/server-api-handler/routes/push-v1.test.js +5 -4
- package/dist/server-api-handler/routes/push-v1.test.js.map +1 -1
- package/dist/sync/pull-from-server.d.ts.map +1 -1
- package/dist/sync/pull-from-server.js +0 -2
- package/dist/sync/pull-from-server.js.map +1 -1
- package/dist/sync/pull-from-server.test.js +29 -14
- package/dist/sync/pull-from-server.test.js.map +1 -1
- package/dist/sync/push-to-server.test.js +17 -13
- package/dist/sync/push-to-server.test.js.map +1 -1
- package/dist/sync/sync-process.d.ts +2 -4
- package/dist/sync/sync-process.d.ts.map +1 -1
- package/dist/sync/sync-process.js +4 -9
- package/dist/sync/sync-process.js.map +1 -1
- package/dist/sync/sync-process.test.js +26 -38
- package/dist/sync/sync-process.test.js.map +1 -1
- package/dist/version/create-version.d.ts +5 -5
- package/dist/version/create-version.d.ts.map +1 -1
- package/dist/version/create-version.js +23 -11
- package/dist/version/create-version.js.map +1 -1
- package/dist/version/create-version.test.js +2 -2
- package/dist/version/create-version.test.js.map +1 -1
- package/dist/version/merge-version.d.ts.map +1 -1
- package/dist/version/merge-version.js +16 -26
- package/dist/version/merge-version.js.map +1 -1
- package/dist/version/switch-version.js +3 -3
- package/dist/version/switch-version.js.map +1 -1
- package/dist/version/switch-version.test.js +12 -15
- package/dist/version/switch-version.test.js.map +1 -1
- package/dist/version/update-changes-in-version.d.ts.map +1 -1
- package/dist/version/update-changes-in-version.js +11 -31
- package/dist/version/update-changes-in-version.js.map +1 -1
- package/node_modules/@lix-js/server-api-schema/CHANGELOG.md +9 -0
- package/node_modules/@lix-js/server-api-schema/LICENSE +21 -0
- package/node_modules/@lix-js/server-api-schema/dist/schema.js +0 -0
- package/node_modules/@lix-js/server-api-schema/package.json +2 -2
- package/node_modules/sqlite-wasm-kysely/LICENSE +21 -0
- package/package.json +4 -4
- package/src/change/apply-changes.test.ts +7 -7
- package/src/change/apply-changes.ts +9 -9
- package/src/database/apply-schema.ts +20 -73
- package/src/database/execute-sync.test.ts +3 -3
- package/src/database/init-db.test.ts +163 -19
- package/src/database/init-db.ts +20 -3
- package/src/database/kysely-plugin/parse-jsonb-plugin-v1.ts +9 -2
- package/src/database/mutation-log/database-schema.ts +1 -3
- package/src/database/nano-id.test.ts +15 -0
- package/src/database/nano-id.ts +72 -0
- package/src/database/schema.ts +15 -24
- package/src/discussion/create-comment.ts +0 -3
- package/src/discussion/create-discussion.test.ts +8 -39
- package/src/discussion/create-discussion.ts +6 -9
- package/src/{change-queue → file-queue}/file-handlers.ts +27 -27
- package/src/{change-queue/init-change-queue.test.ts → file-queue/file-queue-process.test.ts} +24 -24
- package/src/{change-queue/init-change-queue.ts → file-queue/file-queue-process.ts} +18 -16
- package/src/{change-queue/change-queue-settled.test.ts → file-queue/file-queue-settled.test.ts} +12 -12
- package/src/{change-queue/change-queue-settled.ts → file-queue/file-queue-settled.ts} +4 -4
- package/src/file-queue/index.ts +1 -0
- package/src/{change-queue/with-skip-change-queue.test.ts → file-queue/with-skip-file-queue.test.ts} +9 -9
- package/src/{change-queue/with-skip-change-queue.ts → file-queue/with-skip-file-queue.ts} +3 -3
- package/src/index.ts +2 -2
- package/src/key-value/database-schema.test.ts +26 -5
- package/src/key-value/database-schema.ts +18 -6
- package/src/lix/close-lix.ts +8 -0
- package/src/lix/index.ts +1 -0
- package/src/lix/merge.test.ts +7 -19
- package/src/lix/merge.ts +4 -4
- package/src/lix/new-lix.ts +2 -3
- package/src/lix/open-lix-in-memory.test.ts +5 -1
- package/src/lix/open-lix.test.ts +19 -7
- package/src/lix/open-lix.ts +7 -24
- package/src/lix/to-blob.ts +14 -0
- package/src/{own-entity-change-control/apply-own-entity-change.test.ts → own-change-control/apply-own-change.test.ts} +27 -31
- package/src/{own-entity-change-control/apply-own-entity-change.ts → own-change-control/apply-own-change.ts} +3 -3
- package/src/{own-entity-change-control → own-change-control}/change-controlled-tables.ts +0 -1
- package/src/{own-entity-change-control → own-change-control}/database-triggers.test.ts +7 -7
- package/src/{own-entity-change-control → own-change-control}/database-triggers.ts +11 -11
- package/src/{own-entity-change-control → own-change-control}/with-skip-own-change-control.ts +6 -2
- package/src/query-filter/version-change-in-difference.test.ts +41 -32
- package/src/query-filter/version-change-in-symmetric-difference.test.ts +41 -42
- package/src/server-api-handler/environment/create-in-memory-environment.test.ts +8 -7
- package/src/server-api-handler/environment/create-in-memory-environment.ts +7 -3
- package/src/server-api-handler/routes/get-v1.test.ts +6 -5
- package/src/server-api-handler/routes/get-v1.ts +1 -3
- package/src/server-api-handler/routes/new-v1.test.ts +2 -1
- package/src/server-api-handler/routes/new-v1.ts +3 -1
- package/src/server-api-handler/routes/pull-v1.test.ts +4 -3
- package/src/server-api-handler/routes/push-v1.test.ts +5 -4
- package/src/sync/pull-from-server.test.ts +29 -14
- package/src/sync/pull-from-server.ts +0 -2
- package/src/sync/push-to-server.test.ts +19 -15
- package/src/sync/sync-process.test.ts +37 -43
- package/src/sync/sync-process.ts +6 -18
- package/src/version/create-version.test.ts +2 -2
- package/src/version/create-version.ts +24 -12
- package/src/version/merge-version.ts +18 -26
- package/src/version/switch-version.test.ts +12 -15
- package/src/version/switch-version.ts +3 -3
- package/src/version/update-changes-in-version.ts +11 -30
- package/node_modules/@lix-js/server-api-schema/dist/schema.d.ts +0 -384
- package/src/change-queue/index.ts +0 -1
- /package/src/{own-entity-change-control → own-change-control}/change-controlled-tables.test.ts +0 -0
- /package/src/{own-entity-change-control → own-change-control}/index.ts +0 -0
- /package/src/{own-entity-change-control → own-change-control}/with-skip-own-change-control.test.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-version.test.js","sourceRoot":"","sources":["../../src/version/create-version.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AAEpF,IAAI,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;IACrE,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,EAAE,CAAC,CAAC;IAEtC,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,EAAE;SAC3B,UAAU,CAAC,SAAS,CAAC;SACrB,MAAM,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;SAC5B,YAAY,EAAE;SACd,uBAAuB,EAAE,CAAC;IAE5B,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,EAAE;SAC1B,UAAU,CAAC,QAAQ,CAAC;SACpB,MAAM,CAAC;QACP;YACC,UAAU,EAAE,MAAM;YAClB,SAAS,EAAE,QAAQ;YACnB,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,aAAa;YACzB,WAAW,EAAE,YAAY;SACzB;QACD;YACC,UAAU,EAAE,MAAM;YAClB,SAAS,EAAE,QAAQ;YACnB,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,aAAa;YACzB,WAAW,EAAE,YAAY;SACzB;KACD,CAAC;SACD,YAAY,EAAE;SACd,OAAO,EAAE,CAAC;IAEZ,MAAM,sBAAsB,CAAC;QAC5B,GAAG;QACH,OAAO,EAAE,QAAQ;QACjB,OAAO;KACP,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC;QACpC,GAAG;QACH,
|
|
1
|
+
{"version":3,"file":"create-version.test.js","sourceRoot":"","sources":["../../src/version/create-version.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge-version.d.ts","sourceRoot":"","sources":["../../src/version/merge-version.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"merge-version.d.ts","sourceRoot":"","sources":["../../src/version/merge-version.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAiB,MAAM,uBAAuB,CAAC;AACpE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAG9C,wBAAsB,YAAY,CAAC,IAAI,EAAE;IACxC,GAAG,EAAE,GAAG,CAAC;IACT,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;CACvB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4EhB"}
|
|
@@ -16,41 +16,31 @@ export async function mergeVersion(args) {
|
|
|
16
16
|
});
|
|
17
17
|
for (const change of symmetricDifference) {
|
|
18
18
|
const hasConflict = detectedConflicts.find((conflict) => conflict.conflictingChangeIds.has(change.id));
|
|
19
|
-
const
|
|
20
|
-
.
|
|
21
|
-
|
|
19
|
+
const versionChange = {
|
|
20
|
+
version_id: args.targetVersion.id,
|
|
21
|
+
change_id: change.id,
|
|
22
|
+
entity_id: change.entity_id,
|
|
23
|
+
schema_key: change.schema_key,
|
|
24
|
+
file_id: change.file_id,
|
|
25
|
+
};
|
|
26
|
+
const existingTargetVersionChange = await trx
|
|
27
|
+
.selectFrom("version_change")
|
|
22
28
|
.where("version_change.version_id", "=", args.targetVersion.id)
|
|
23
29
|
.where("file_id", "=", change.file_id)
|
|
24
30
|
.where("entity_id", "=", change.entity_id)
|
|
25
31
|
.where("schema_key", "=", change.schema_key)
|
|
26
|
-
.select("
|
|
32
|
+
.select("change_id")
|
|
27
33
|
.executeTakeFirst();
|
|
28
34
|
// shouldn't update the pointer if there is a conflict
|
|
29
35
|
// and the change pointer already exists
|
|
30
|
-
if (hasConflict &&
|
|
36
|
+
if (hasConflict && existingTargetVersionChange) {
|
|
31
37
|
continue;
|
|
32
38
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
change_id: change.id,
|
|
39
|
-
})
|
|
40
|
-
.where("change_id", "=", existingTargetChange.id)
|
|
41
|
-
.where("version_id", "=", args.targetVersion.id)
|
|
42
|
-
.execute();
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
// insert the new change pointer
|
|
46
|
-
await trx
|
|
47
|
-
.insertInto("version_change")
|
|
48
|
-
.values({
|
|
49
|
-
version_id: args.targetVersion.id,
|
|
50
|
-
change_id: change.id,
|
|
51
|
-
})
|
|
52
|
-
.execute();
|
|
53
|
-
}
|
|
39
|
+
await trx
|
|
40
|
+
.insertInto("version_change")
|
|
41
|
+
.values(versionChange)
|
|
42
|
+
.onConflict((oc) => oc.doUpdateSet(versionChange))
|
|
43
|
+
.execute();
|
|
54
44
|
}
|
|
55
45
|
// insert the detected conflicts
|
|
56
46
|
// (ignore if the conflict already exists)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge-version.js","sourceRoot":"","sources":["../../src/version/merge-version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG1D,OAAO,EAAE,kCAAkC,EAAE,MAAM,2DAA2D,CAAC;AAE/G,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAIlC;IACA,MAAM,oBAAoB,GAAG,KAAK,EAAE,GAAc,EAAE,EAAE;QACrD,MAAM,mBAAmB,GAAG,MAAM,GAAG;aACnC,UAAU,CAAC,QAAQ,CAAC;aACpB,SAAS,CAAC,gBAAgB,EAAE,WAAW,EAAE,0BAA0B,CAAC;aACpE,KAAK,CACL,kCAAkC,CACjC,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,aAAa,CAClB,CACD;aACA,SAAS,CAAC,QAAQ,CAAC;aACnB,OAAO,EAAE,CAAC;QAEZ,MAAM,iBAAiB,GAAG,MAAM,qBAAqB,CAAC;YACrD,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE;YAC7B,OAAO,EAAE,mBAAmB;SAC5B,CAAC,CAAC;QAEH,KAAK,MAAM,MAAM,IAAI,mBAAmB,EAAE,CAAC;YAC1C,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CACvD,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAC5C,CAAC;YAEF,MAAM,
|
|
1
|
+
{"version":3,"file":"merge-version.js","sourceRoot":"","sources":["../../src/version/merge-version.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { withSkipFileQueue } from "../file-queue/with-skip-file-queue.js";
|
|
2
2
|
import { applyChanges } from "../change/apply-changes.js";
|
|
3
3
|
import { versionChangeInSymmetricDifference } from "../query-filter/version-change-in-symmetric-difference.js";
|
|
4
4
|
/**
|
|
@@ -23,7 +23,7 @@ import { versionChangeInSymmetricDifference } from "../query-filter/version-chan
|
|
|
23
23
|
*/
|
|
24
24
|
export async function switchVersion(args) {
|
|
25
25
|
const executeInTransaction = async (trx) => {
|
|
26
|
-
await
|
|
26
|
+
await withSkipFileQueue(trx, async (trx) => {
|
|
27
27
|
const sourceVersion = await trx
|
|
28
28
|
.selectFrom("current_version")
|
|
29
29
|
.selectAll()
|
|
@@ -60,7 +60,7 @@ export async function switchVersion(args) {
|
|
|
60
60
|
}
|
|
61
61
|
// need to remove the entity when switching the version
|
|
62
62
|
else {
|
|
63
|
-
if (change.plugin_key === "
|
|
63
|
+
if (change.plugin_key === "lix_own_change_control" &&
|
|
64
64
|
(change.schema_key === "lix_account_table" ||
|
|
65
65
|
change.schema_key === "lix_version_table")) {
|
|
66
66
|
// deleting accounts and versions when switching is
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switch-version.js","sourceRoot":"","sources":["../../src/version/switch-version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"switch-version.js","sourceRoot":"","sources":["../../src/version/switch-version.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { openLixInMemory } from "../lix/open-lix-in-memory.js";
|
|
|
3
3
|
import { switchVersion } from "./switch-version.js";
|
|
4
4
|
import { createVersion } from "./create-version.js";
|
|
5
5
|
import { createChange } from "../change/create-change.js";
|
|
6
|
-
import {
|
|
6
|
+
import { fileQueueSettled } from "../file-queue/file-queue-settled.js";
|
|
7
7
|
test("switching versiones should update the current_version", async () => {
|
|
8
8
|
const lix = await openLixInMemory({});
|
|
9
9
|
const currentVersion = await lix.db
|
|
@@ -14,7 +14,7 @@ test("switching versiones should update the current_version", async () => {
|
|
|
14
14
|
const newVersion = await lix.db.transaction().execute(async (trx) => {
|
|
15
15
|
const newVersion = await createVersion({
|
|
16
16
|
lix: { db: trx },
|
|
17
|
-
|
|
17
|
+
from: currentVersion,
|
|
18
18
|
});
|
|
19
19
|
await switchVersion({ lix: { ...lix, db: trx }, to: newVersion });
|
|
20
20
|
return newVersion;
|
|
@@ -49,7 +49,7 @@ test("switching a version does not lead to duplicate changes", async () => {
|
|
|
49
49
|
});
|
|
50
50
|
const newVersion = await createVersion({
|
|
51
51
|
lix: lix,
|
|
52
|
-
|
|
52
|
+
from: currentVersion,
|
|
53
53
|
});
|
|
54
54
|
const changesBefore = await lix.db.selectFrom("change").selectAll().execute();
|
|
55
55
|
expect(changesBefore).toEqual(expect.arrayContaining([change0]));
|
|
@@ -72,7 +72,7 @@ test("switch version applies the changes of the switched to version", async () =
|
|
|
72
72
|
.where("key", "=", "foo")
|
|
73
73
|
.selectAll()
|
|
74
74
|
.execute();
|
|
75
|
-
expect(keyValues).
|
|
75
|
+
expect(keyValues).toMatchObject([{ key: "foo", value: "bar" }]);
|
|
76
76
|
await switchVersion({ lix, to: versionB });
|
|
77
77
|
// version B should have no value foo
|
|
78
78
|
keyValues = await lix.db
|
|
@@ -93,7 +93,7 @@ test("switch version applies the changes of the switched to version", async () =
|
|
|
93
93
|
.selectAll()
|
|
94
94
|
.execute();
|
|
95
95
|
// expecting to see the value from version A again
|
|
96
|
-
expect(keyValues).
|
|
96
|
+
expect(keyValues).toMatchObject([{ key: "foo", value: "bar" }]);
|
|
97
97
|
});
|
|
98
98
|
// https://github.com/opral/lix-sdk/issues/209
|
|
99
99
|
test("a deleted file in one version does not impact a version which did not delete the file", async () => {
|
|
@@ -139,15 +139,15 @@ test("a deleted file in one version does not impact a version which did not dele
|
|
|
139
139
|
path: "/file.txt",
|
|
140
140
|
})
|
|
141
141
|
.execute();
|
|
142
|
-
await
|
|
142
|
+
await fileQueueSettled({ lix });
|
|
143
143
|
expect(mockTxtPlugin.detectChanges).toHaveBeenCalledTimes(1);
|
|
144
|
-
const versionB = await createVersion({ lix,
|
|
144
|
+
const versionB = await createVersion({ lix, from: versionA });
|
|
145
145
|
await switchVersion({ lix, to: versionB });
|
|
146
146
|
// there is no difference in both versions
|
|
147
147
|
expect(mockTxtPlugin.applyChanges).toHaveBeenCalledTimes(0);
|
|
148
148
|
// deleting the file in version B
|
|
149
149
|
await lix.db.deleteFrom("file").where("id", "=", "file0").execute();
|
|
150
|
-
await
|
|
150
|
+
await fileQueueSettled({ lix });
|
|
151
151
|
// lix own change control handles file deletions
|
|
152
152
|
// expecting the plugin.detectChanges to not be invoked
|
|
153
153
|
expect(mockTxtPlugin.detectChanges).toHaveBeenCalledTimes(1);
|
|
@@ -175,7 +175,7 @@ test("a deleted file in one version does not impact a version which did not dele
|
|
|
175
175
|
.executeTakeFirst();
|
|
176
176
|
expect(fileAfterSwitch).toBeUndefined();
|
|
177
177
|
});
|
|
178
|
-
test("doesn't trigger the
|
|
178
|
+
test("doesn't trigger the file queue when switching versions which would lead to duplicate changes", async () => {
|
|
179
179
|
const mockTxtPlugin = {
|
|
180
180
|
key: "mock_txt_plugin",
|
|
181
181
|
detectChangesGlob: "*.txt",
|
|
@@ -219,12 +219,9 @@ test("doesn't trigger the change queue when switching versions which would lead
|
|
|
219
219
|
data: new TextEncoder().encode("hello world"),
|
|
220
220
|
})
|
|
221
221
|
.execute();
|
|
222
|
-
await
|
|
222
|
+
await fileQueueSettled({ lix });
|
|
223
223
|
await switchVersion({ lix, to: versionB });
|
|
224
|
-
const
|
|
225
|
-
|
|
226
|
-
.selectAll()
|
|
227
|
-
.execute();
|
|
228
|
-
expect(changeQueue).toHaveLength(0);
|
|
224
|
+
const fileQueue = await lix.db.selectFrom("file_queue").selectAll().execute();
|
|
225
|
+
expect(fileQueue).toHaveLength(0);
|
|
229
226
|
});
|
|
230
227
|
//# sourceMappingURL=switch-version.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switch-version.test.js","sourceRoot":"","sources":["../../src/version/switch-version.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"switch-version.test.js","sourceRoot":"","sources":["../../src/version/switch-version.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-changes-in-version.d.ts","sourceRoot":"","sources":["../../src/version/update-changes-in-version.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAE9C;;;;GAIG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IAClD,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,GAAG,QAAQ,CAAC,CAAC;IAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;CAClB,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"update-changes-in-version.d.ts","sourceRoot":"","sources":["../../src/version/update-changes-in-version.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAE9C;;;;GAIG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IAClD,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,GAAG,QAAQ,CAAC,CAAC;IAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;CAClB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiChB"}
|
|
@@ -7,39 +7,19 @@ import { executeSync } from "../database/execute-sync.js";
|
|
|
7
7
|
export async function updateChangesInVersion(args) {
|
|
8
8
|
// const executeInTransaction = async (trx: Lix["db"]) => {
|
|
9
9
|
for (const change of args.changes ?? []) {
|
|
10
|
-
|
|
11
|
-
const existingEntityChange = executeSync({
|
|
10
|
+
executeSync({
|
|
12
11
|
lix: args.lix,
|
|
13
12
|
query: args.lix.db
|
|
14
|
-
.
|
|
15
|
-
.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
.
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
executeSync({
|
|
25
|
-
lix: args.lix,
|
|
26
|
-
query: args.lix.db
|
|
27
|
-
.updateTable("version_change")
|
|
28
|
-
.set("change_id", change.id)
|
|
29
|
-
.where("change_id", "=", existingEntityChange.id)
|
|
30
|
-
.where("version_id", "=", args.version.id),
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
// create a new pointer
|
|
35
|
-
executeSync({
|
|
36
|
-
lix: args.lix,
|
|
37
|
-
query: args.lix.db.insertInto("version_change").values({
|
|
38
|
-
version_id: args.version.id,
|
|
39
|
-
change_id: change.id,
|
|
40
|
-
}),
|
|
41
|
-
});
|
|
42
|
-
}
|
|
13
|
+
.insertInto("version_change")
|
|
14
|
+
.values({
|
|
15
|
+
version_id: args.version.id,
|
|
16
|
+
change_id: change.id,
|
|
17
|
+
entity_id: change.entity_id,
|
|
18
|
+
schema_key: change.schema_key,
|
|
19
|
+
file_id: change.file_id,
|
|
20
|
+
})
|
|
21
|
+
.onConflict((oc) => oc.doUpdateSet((eb) => ({ change_id: eb.ref("excluded.change_id") }))),
|
|
22
|
+
});
|
|
43
23
|
}
|
|
44
24
|
// await updateChangeConflicts({
|
|
45
25
|
// lix: { ...args.lix, db: trx },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-changes-in-version.js","sourceRoot":"","sources":["../../src/version/update-changes-in-version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAI1D;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,IAI5C;IACA,2DAA2D;
|
|
1
|
+
{"version":3,"file":"update-changes-in-version.js","sourceRoot":"","sources":["../../src/version/update-changes-in-version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAI1D;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,IAI5C;IACA,2DAA2D;IAC3D,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QACzC,WAAW,CAAC;YACX,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE;iBAChB,UAAU,CAAC,gBAAgB,CAAC;iBAC5B,MAAM,CAAC;gBACP,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;gBAC3B,SAAS,EAAE,MAAM,CAAC,EAAE;gBACpB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;aACvB,CAAC;iBACD,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CAClB,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,CACrE;SACF,CAAC,CAAC;IACJ,CAAC;IAED,gCAAgC;IAChC,kCAAkC;IAClC,YAAY;IACZ,MAAM;IACN,KAAK;IAEL,mCAAmC;IACnC,4CAA4C;IAC5C,WAAW;IACX,kEAAkE;IAClE,IAAI;IAEJ,0DAA0D;AAC3D,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 Opral US Inc.
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
File without changes
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
"private": true,
|
|
3
3
|
"name": "@lix-js/server-api-schema",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"version": "0.1.
|
|
5
|
+
"version": "0.1.1",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"exports": {
|
|
8
|
-
".": "./dist/schema.
|
|
8
|
+
".": "./dist/schema.js"
|
|
9
9
|
},
|
|
10
10
|
"scripts": {
|
|
11
11
|
"build": "npx openapi-typescript ./src/schema.yaml -o ./dist/schema.d.ts",
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 Opral US Inc.
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lix-js/sdk",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.0
|
|
4
|
+
"version": "0.1.0",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"exports": {
|
|
7
7
|
".": "./dist/index.js"
|
|
@@ -31,14 +31,14 @@
|
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@eslint/js": "^9.12.0",
|
|
33
33
|
"@types/uuid": "^10.0.0",
|
|
34
|
-
"@vitest/coverage-v8": "
|
|
34
|
+
"@vitest/coverage-v8": "2.0.5",
|
|
35
35
|
"eslint": "^9.12.0",
|
|
36
36
|
"json-schema-to-ts": "^3.1.1",
|
|
37
37
|
"prettier": "^3.3.3",
|
|
38
38
|
"typescript": "^5.5.4",
|
|
39
39
|
"typescript-eslint": "^8.9.0",
|
|
40
|
-
"vitest": "
|
|
41
|
-
"@lix-js/server-api-schema": "0.1.
|
|
40
|
+
"vitest": "2.0.5",
|
|
41
|
+
"@lix-js/server-api-schema": "0.1.1"
|
|
42
42
|
},
|
|
43
43
|
"scripts": {
|
|
44
44
|
"build": "tsc --build",
|
|
@@ -3,8 +3,8 @@ import { openLixInMemory } from "../lix/open-lix-in-memory.js";
|
|
|
3
3
|
import { applyChanges } from "./apply-changes.js";
|
|
4
4
|
import type { LixPlugin } from "../plugin/lix-plugin.js";
|
|
5
5
|
import { mockJsonSnapshot } from "../snapshot/mock-json-snapshot.js";
|
|
6
|
-
import type {
|
|
7
|
-
import {
|
|
6
|
+
import type { NewKeyValue } from "../key-value/database-schema.js";
|
|
7
|
+
import { fileQueueSettled } from "../file-queue/file-queue-settled.js";
|
|
8
8
|
|
|
9
9
|
test("it applies the given changes", async () => {
|
|
10
10
|
const lix = await openLixInMemory({});
|
|
@@ -140,7 +140,7 @@ test("it applies own entity changes", async () => {
|
|
|
140
140
|
const snapshot = mockJsonSnapshot({
|
|
141
141
|
key: "mock-key",
|
|
142
142
|
value: "1+1=2",
|
|
143
|
-
} satisfies
|
|
143
|
+
} satisfies NewKeyValue);
|
|
144
144
|
|
|
145
145
|
await lix.db
|
|
146
146
|
.insertInto("snapshot")
|
|
@@ -155,8 +155,8 @@ test("it applies own entity changes", async () => {
|
|
|
155
155
|
{
|
|
156
156
|
id: "change0",
|
|
157
157
|
entity_id: "mock-key",
|
|
158
|
-
file_id: "
|
|
159
|
-
plugin_key: "
|
|
158
|
+
file_id: "lix_own_change_control",
|
|
159
|
+
plugin_key: "lix_own_change_control",
|
|
160
160
|
schema_key: "lix_key_value_table",
|
|
161
161
|
snapshot_id: snapshot.id,
|
|
162
162
|
created_at: "2021-01-01T00:00:00Z",
|
|
@@ -170,7 +170,7 @@ test("it applies own entity changes", async () => {
|
|
|
170
170
|
.selectAll()
|
|
171
171
|
.executeTakeFirst();
|
|
172
172
|
|
|
173
|
-
expect(keyValue).
|
|
173
|
+
expect(keyValue).toMatchObject({
|
|
174
174
|
key: "mock-key",
|
|
175
175
|
value: "1+1=2",
|
|
176
176
|
});
|
|
@@ -224,7 +224,7 @@ test("applies an insert change for a file if the file does not exist", async ()
|
|
|
224
224
|
.returningAll()
|
|
225
225
|
.executeTakeFirstOrThrow();
|
|
226
226
|
|
|
227
|
-
await
|
|
227
|
+
await fileQueueSettled({ lix });
|
|
228
228
|
|
|
229
229
|
const changes1 = await lix.db
|
|
230
230
|
.selectFrom("change")
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { withSkipFileQueue } from "../file-queue/with-skip-file-queue.js";
|
|
2
2
|
import type { Change } from "../database/schema.js";
|
|
3
3
|
import type { Lix } from "../lix/open-lix.js";
|
|
4
|
-
import {
|
|
4
|
+
import { applyOwnChanges } from "../own-change-control/apply-own-change.js";
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Applies the given changes to the lix.
|
|
@@ -36,8 +36,8 @@ export async function applyChanges(args: {
|
|
|
36
36
|
// Plugin changes depend on lix changes like the file
|
|
37
37
|
// data for example. Therefore, the lix changes need
|
|
38
38
|
// to be applied first.
|
|
39
|
-
const lixOwnChanges = groupByFile["
|
|
40
|
-
delete groupByFile["
|
|
39
|
+
const lixOwnChanges = groupByFile["lix_own_change_control"] ?? [];
|
|
40
|
+
delete groupByFile["lix_own_change_control"];
|
|
41
41
|
|
|
42
42
|
const plugins = await args.lix.plugin.getAll();
|
|
43
43
|
|
|
@@ -45,16 +45,16 @@ export async function applyChanges(args: {
|
|
|
45
45
|
// https://linear.app/opral/issue/LIXDK-104/add-detectedchangeschema
|
|
46
46
|
for (const [fileId, changes] of [
|
|
47
47
|
// applying lix own changes first
|
|
48
|
-
["
|
|
48
|
+
["lix_own_change_control", lixOwnChanges] as [string, Change[]],
|
|
49
49
|
...Object.entries(groupByFile),
|
|
50
50
|
]) {
|
|
51
51
|
if (changes === undefined || changes.length === 0) {
|
|
52
52
|
continue;
|
|
53
53
|
}
|
|
54
54
|
// Skip own entity changes which have a file id 'null' and
|
|
55
|
-
// plugin key '
|
|
56
|
-
if (fileId === "
|
|
57
|
-
await
|
|
55
|
+
// plugin key 'lix_own_change_control' as they are not associated with a file
|
|
56
|
+
if (fileId === "lix_own_change_control") {
|
|
57
|
+
await applyOwnChanges({ lix: { ...args.lix, db: trx }, changes });
|
|
58
58
|
continue;
|
|
59
59
|
}
|
|
60
60
|
|
|
@@ -95,7 +95,7 @@ export async function applyChanges(args: {
|
|
|
95
95
|
changes,
|
|
96
96
|
});
|
|
97
97
|
|
|
98
|
-
await
|
|
98
|
+
await withSkipFileQueue(trx, async (trx) => {
|
|
99
99
|
await trx
|
|
100
100
|
.updateTable("file")
|
|
101
101
|
.set({ data: fileData })
|