@syncular/server 0.0.1-120 → 0.0.1-123
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/compaction.d.ts +1 -1
- package/dist/compaction.js +1 -1
- package/dist/handlers/create-handler.d.ts.map +1 -0
- package/dist/handlers/create-handler.js.map +1 -0
- package/dist/handlers/index.d.ts.map +1 -0
- package/dist/handlers/index.js.map +1 -0
- package/dist/handlers/registry.d.ts.map +1 -0
- package/dist/handlers/registry.js.map +1 -0
- package/dist/{shapes → handlers}/types.d.ts +4 -4
- package/dist/handlers/types.d.ts.map +1 -0
- package/dist/{shapes → handlers}/types.js.map +1 -1
- package/dist/helpers/conflict.d.ts +1 -1
- package/dist/helpers/conflict.d.ts.map +1 -1
- package/dist/helpers/emitted-change.d.ts +1 -1
- package/dist/helpers/emitted-change.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/proxy/handler.d.ts +1 -1
- package/dist/proxy/handler.d.ts.map +1 -1
- package/dist/proxy/handler.js +7 -7
- package/dist/proxy/handler.js.map +1 -1
- package/dist/proxy/oplog.d.ts +1 -1
- package/dist/proxy/oplog.d.ts.map +1 -1
- package/dist/proxy/oplog.js +6 -6
- package/dist/proxy/oplog.js.map +1 -1
- package/dist/pull.d.ts +2 -2
- package/dist/pull.d.ts.map +1 -1
- package/dist/pull.js +9 -9
- package/dist/pull.js.map +1 -1
- package/dist/push.d.ts +2 -2
- package/dist/push.d.ts.map +1 -1
- package/dist/push.js +1 -1
- package/dist/push.js.map +1 -1
- package/dist/subscriptions/resolve.d.ts +5 -5
- package/dist/subscriptions/resolve.d.ts.map +1 -1
- package/dist/subscriptions/resolve.js +13 -13
- package/dist/subscriptions/resolve.js.map +1 -1
- package/package.json +2 -2
- package/src/compaction.ts +1 -1
- package/src/{shapes → handlers}/types.ts +4 -4
- package/src/helpers/conflict.ts +1 -1
- package/src/helpers/emitted-change.ts +1 -1
- package/src/index.ts +1 -1
- package/src/notify.test.ts +26 -26
- package/src/proxy/handler.test.ts +3 -3
- package/src/proxy/handler.ts +8 -8
- package/src/proxy/oplog.ts +7 -7
- package/src/pull.ts +11 -11
- package/src/push.ts +3 -3
- package/src/subscriptions/resolve.ts +16 -16
- package/dist/shapes/create-handler.d.ts.map +0 -1
- package/dist/shapes/create-handler.js.map +0 -1
- package/dist/shapes/index.d.ts.map +0 -1
- package/dist/shapes/index.js.map +0 -1
- package/dist/shapes/registry.d.ts.map +0 -1
- package/dist/shapes/registry.js.map +0 -1
- package/dist/shapes/types.d.ts.map +0 -1
- /package/dist/{shapes → handlers}/create-handler.d.ts +0 -0
- /package/dist/{shapes → handlers}/create-handler.js +0 -0
- /package/dist/{shapes → handlers}/index.d.ts +0 -0
- /package/dist/{shapes → handlers}/index.js +0 -0
- /package/dist/{shapes → handlers}/registry.d.ts +0 -0
- /package/dist/{shapes → handlers}/registry.js +0 -0
- /package/dist/{shapes → handlers}/types.js +0 -0
- /package/src/{shapes → handlers}/create-handler.ts +0 -0
- /package/src/{shapes → handlers}/index.ts +0 -0
- /package/src/{shapes → handlers}/registry.ts +0 -0
package/dist/push.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push.js","sourceRoot":"","sources":["../src/push.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"push.js","sourceRoot":"","sources":["../src/push.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ScopeValues, SyncSubscriptionRequest } from '@syncular/core';
|
|
2
2
|
import type { Kysely } from 'kysely';
|
|
3
|
+
import type { TableRegistry } from '../handlers/registry';
|
|
3
4
|
import type { SyncCoreDb } from '../schema';
|
|
4
|
-
import type { TableRegistry } from '../shapes/registry';
|
|
5
5
|
export declare class InvalidSubscriptionScopeError extends Error {
|
|
6
6
|
constructor(message: string);
|
|
7
7
|
}
|
|
@@ -10,7 +10,7 @@ export declare class InvalidSubscriptionScopeError extends Error {
|
|
|
10
10
|
*/
|
|
11
11
|
export interface ResolvedSubscription {
|
|
12
12
|
id: string;
|
|
13
|
-
|
|
13
|
+
table: string;
|
|
14
14
|
scopes: ScopeValues;
|
|
15
15
|
params: Record<string, unknown> | undefined;
|
|
16
16
|
cursor: number;
|
|
@@ -21,8 +21,8 @@ export interface ResolvedSubscription {
|
|
|
21
21
|
* Resolve effective scopes for subscriptions.
|
|
22
22
|
*
|
|
23
23
|
* For each subscription:
|
|
24
|
-
* 1. Look up the
|
|
25
|
-
* 2. Call
|
|
24
|
+
* 1. Look up the table handler by subscription.table
|
|
25
|
+
* 2. Call handler.resolveScopes() to get allowed scopes for this actor
|
|
26
26
|
* 3. Intersect requested scopes with allowed scopes
|
|
27
27
|
* 4. Mark as revoked if no effective scopes
|
|
28
28
|
*/
|
|
@@ -30,6 +30,6 @@ export declare function resolveEffectiveScopesForSubscriptions<DB extends SyncCo
|
|
|
30
30
|
db: Kysely<DB>;
|
|
31
31
|
actorId: string;
|
|
32
32
|
subscriptions: SyncSubscriptionRequest[];
|
|
33
|
-
|
|
33
|
+
handlers: TableRegistry<DB>;
|
|
34
34
|
}): Promise<ResolvedSubscription[]>;
|
|
35
35
|
//# sourceMappingURL=resolve.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/subscriptions/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/subscriptions/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,qBAAa,6BAA8B,SAAQ,KAAK;IACtD,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;IAC3D,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC9B;AA8DD;;;;;;;;GAQG;AACH,wBAAsB,sCAAsC,CAC1D,EAAE,SAAS,UAAU,EACrB,IAAI,EAAE;IACN,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,uBAAuB,EAAE,CAAC;IACzC,QAAQ,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC;CAC7B,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAmFlC"}
|
|
@@ -58,8 +58,8 @@ function scopesEmpty(scopes) {
|
|
|
58
58
|
* Resolve effective scopes for subscriptions.
|
|
59
59
|
*
|
|
60
60
|
* For each subscription:
|
|
61
|
-
* 1. Look up the
|
|
62
|
-
* 2. Call
|
|
61
|
+
* 1. Look up the table handler by subscription.table
|
|
62
|
+
* 2. Call handler.resolveScopes() to get allowed scopes for this actor
|
|
63
63
|
* 3. Intersect requested scopes with allowed scopes
|
|
64
64
|
* 4. Mark as revoked if no effective scopes
|
|
65
65
|
*/
|
|
@@ -74,17 +74,17 @@ export async function resolveEffectiveScopesForSubscriptions(args) {
|
|
|
74
74
|
throw new InvalidSubscriptionScopeError(`Duplicate subscription id: ${sub.id}`);
|
|
75
75
|
}
|
|
76
76
|
seenIds.add(sub.id);
|
|
77
|
-
if (!sub.
|
|
78
|
-
throw new InvalidSubscriptionScopeError(`Subscription ${sub.id} requires a
|
|
77
|
+
if (!sub.table || typeof sub.table !== 'string') {
|
|
78
|
+
throw new InvalidSubscriptionScopeError(`Subscription ${sub.id} requires a table name`);
|
|
79
79
|
}
|
|
80
|
-
const
|
|
81
|
-
if (!
|
|
82
|
-
throw new InvalidSubscriptionScopeError(`Unknown
|
|
80
|
+
const handler = args.handlers.get(sub.table);
|
|
81
|
+
if (!handler) {
|
|
82
|
+
throw new InvalidSubscriptionScopeError(`Unknown table: ${sub.table} for subscription ${sub.id}`);
|
|
83
83
|
}
|
|
84
|
-
// Get allowed scopes from the
|
|
84
|
+
// Get allowed scopes from the handler
|
|
85
85
|
let allowed;
|
|
86
86
|
try {
|
|
87
|
-
allowed = await
|
|
87
|
+
allowed = await handler.resolveScopes({
|
|
88
88
|
db: args.db,
|
|
89
89
|
actorId: args.actorId,
|
|
90
90
|
});
|
|
@@ -92,10 +92,10 @@ export async function resolveEffectiveScopesForSubscriptions(args) {
|
|
|
92
92
|
catch (resolveErr) {
|
|
93
93
|
// Scope resolution failed - mark subscription as revoked
|
|
94
94
|
// rather than failing the entire pull
|
|
95
|
-
console.error(`[resolveScopes] Failed for
|
|
95
|
+
console.error(`[resolveScopes] Failed for table ${sub.table}, subscription ${sub.id}:`, resolveErr);
|
|
96
96
|
out.push({
|
|
97
97
|
id: sub.id,
|
|
98
|
-
|
|
98
|
+
table: sub.table,
|
|
99
99
|
scopes: {},
|
|
100
100
|
params: sub.params,
|
|
101
101
|
cursor: sub.cursor,
|
|
@@ -110,7 +110,7 @@ export async function resolveEffectiveScopesForSubscriptions(args) {
|
|
|
110
110
|
if (scopesEmpty(effective)) {
|
|
111
111
|
out.push({
|
|
112
112
|
id: sub.id,
|
|
113
|
-
|
|
113
|
+
table: sub.table,
|
|
114
114
|
scopes: {},
|
|
115
115
|
params: sub.params,
|
|
116
116
|
cursor: sub.cursor,
|
|
@@ -121,7 +121,7 @@ export async function resolveEffectiveScopesForSubscriptions(args) {
|
|
|
121
121
|
}
|
|
122
122
|
out.push({
|
|
123
123
|
id: sub.id,
|
|
124
|
-
|
|
124
|
+
table: sub.table,
|
|
125
125
|
scopes: effective,
|
|
126
126
|
params: sub.params,
|
|
127
127
|
cursor: sub.cursor,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/subscriptions/resolve.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/subscriptions/resolve.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.1-
|
|
3
|
+
"version": "0.0.1-123",
|
|
4
4
|
"description": "Server-side sync engine with push/pull, pruning, and snapshot support",
|
|
5
5
|
"license": "MIT",
|
|
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.1-
|
|
65
|
+
"@syncular/core": "0.0.1-123"
|
|
66
66
|
},
|
|
67
67
|
"peerDependencies": {
|
|
68
68
|
"kysely": "^0.28.0",
|
package/src/compaction.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @syncular/server - Change-log compaction utilities
|
|
3
3
|
*
|
|
4
4
|
* Compaction reduces storage by deleting intermediate history while preserving
|
|
5
|
-
* the newest change per (
|
|
5
|
+
* the newest change per (table_name, row_id, scope_key) for older data.
|
|
6
6
|
*
|
|
7
7
|
* Dialect-specific implementation lives in `ServerSyncDialect.compactChanges`.
|
|
8
8
|
*/
|
|
@@ -120,9 +120,9 @@ interface ServerScopeConfig {
|
|
|
120
120
|
}
|
|
121
121
|
|
|
122
122
|
/**
|
|
123
|
-
* Server
|
|
123
|
+
* Server handler options - configuration for a table's sync behavior.
|
|
124
124
|
*/
|
|
125
|
-
export interface
|
|
125
|
+
export interface ServerHandlerOptions<
|
|
126
126
|
DB extends SyncCoreDb = SyncCoreDb,
|
|
127
127
|
Scopes extends Record<ScopePattern, Record<string, string>> = Record<
|
|
128
128
|
ScopePattern,
|
|
@@ -132,7 +132,7 @@ export interface ServerShapeOptions<
|
|
|
132
132
|
Params extends ZodSchema = ZodSchema,
|
|
133
133
|
> {
|
|
134
134
|
/**
|
|
135
|
-
* Scope patterns this
|
|
135
|
+
* Scope patterns this handler uses.
|
|
136
136
|
* Array of pattern keys from SharedScopes.
|
|
137
137
|
*/
|
|
138
138
|
scopes: (keyof Scopes)[];
|
|
@@ -225,7 +225,7 @@ export interface ServerTableHandler<DB extends SyncCoreDb = SyncCoreDb> {
|
|
|
225
225
|
/** Table name */
|
|
226
226
|
table: string;
|
|
227
227
|
|
|
228
|
-
/** Scope patterns used by this
|
|
228
|
+
/** Scope patterns used by this handler */
|
|
229
229
|
scopePatterns: ScopePattern[];
|
|
230
230
|
|
|
231
231
|
/**
|
package/src/helpers/conflict.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Helper for building conflict results in server table handlers.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import type { ApplyOperationResult } from '../
|
|
7
|
+
import type { ApplyOperationResult } from '../handlers/types';
|
|
8
8
|
|
|
9
9
|
export interface BuildConflictResultArgs {
|
|
10
10
|
/** Index of the operation in the batch */
|
package/src/index.ts
CHANGED
|
@@ -13,6 +13,7 @@ export * from './blobs';
|
|
|
13
13
|
export * from './clients';
|
|
14
14
|
export * from './compaction';
|
|
15
15
|
export * from './dialect';
|
|
16
|
+
export * from './handlers';
|
|
16
17
|
export * from './helpers';
|
|
17
18
|
export * from './migrate';
|
|
18
19
|
export * from './notify';
|
|
@@ -22,7 +23,6 @@ export * from './pull';
|
|
|
22
23
|
export * from './push';
|
|
23
24
|
export * from './realtime';
|
|
24
25
|
export * from './schema';
|
|
25
|
-
export * from './shapes';
|
|
26
26
|
export * from './snapshot-chunks';
|
|
27
27
|
export type { SnapshotChunkStorage } from './snapshot-chunks/types';
|
|
28
28
|
export * from './stats';
|
package/src/notify.test.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { afterEach, beforeEach, describe, expect, it } from 'bun:test';
|
|
2
2
|
import { createBunSqliteDb } from '../../dialect-bun-sqlite/src';
|
|
3
3
|
import { createSqliteServerDialect } from '../../server-dialect-sqlite/src';
|
|
4
|
+
import { createServerHandler } from './handlers';
|
|
5
|
+
import { TableRegistry } from './handlers/registry';
|
|
4
6
|
import { ensureSyncSchema } from './migrate';
|
|
5
7
|
import { EXTERNAL_CLIENT_ID, notifyExternalDataChange } from './notify';
|
|
6
8
|
import { pull } from './pull';
|
|
7
9
|
import type { SyncCoreDb } from './schema';
|
|
8
|
-
import { createServerHandler } from './shapes';
|
|
9
|
-
import { TableRegistry } from './shapes/registry';
|
|
10
10
|
|
|
11
11
|
interface TasksTable {
|
|
12
12
|
id: string;
|
|
@@ -227,14 +227,14 @@ describe('pull re-bootstrap after external data change', () => {
|
|
|
227
227
|
resolveScopes: async () => ({ catalog_id: '*' }),
|
|
228
228
|
});
|
|
229
229
|
|
|
230
|
-
const
|
|
231
|
-
|
|
230
|
+
const handlers = new TableRegistry<TestDb>();
|
|
231
|
+
handlers.register(codesHandler);
|
|
232
232
|
|
|
233
233
|
// 1. Initial bootstrap pull
|
|
234
234
|
const firstPull = await pull({
|
|
235
235
|
db,
|
|
236
236
|
dialect,
|
|
237
|
-
|
|
237
|
+
handlers,
|
|
238
238
|
actorId: 'u1',
|
|
239
239
|
request: {
|
|
240
240
|
clientId: 'client-1',
|
|
@@ -244,7 +244,7 @@ describe('pull re-bootstrap after external data change', () => {
|
|
|
244
244
|
subscriptions: [
|
|
245
245
|
{
|
|
246
246
|
id: 'sub-codes',
|
|
247
|
-
|
|
247
|
+
table: 'codes',
|
|
248
248
|
scopes: { catalog_id: 'icd' },
|
|
249
249
|
cursor: -1,
|
|
250
250
|
},
|
|
@@ -261,7 +261,7 @@ describe('pull re-bootstrap after external data change', () => {
|
|
|
261
261
|
const incrementalPull = await pull({
|
|
262
262
|
db,
|
|
263
263
|
dialect,
|
|
264
|
-
|
|
264
|
+
handlers,
|
|
265
265
|
actorId: 'u1',
|
|
266
266
|
request: {
|
|
267
267
|
clientId: 'client-1',
|
|
@@ -271,7 +271,7 @@ describe('pull re-bootstrap after external data change', () => {
|
|
|
271
271
|
subscriptions: [
|
|
272
272
|
{
|
|
273
273
|
id: 'sub-codes',
|
|
274
|
-
|
|
274
|
+
table: 'codes',
|
|
275
275
|
scopes: { catalog_id: 'icd' },
|
|
276
276
|
cursor: cursorAfterBootstrap,
|
|
277
277
|
},
|
|
@@ -295,7 +295,7 @@ describe('pull re-bootstrap after external data change', () => {
|
|
|
295
295
|
const rebootstrapPull = await pull({
|
|
296
296
|
db,
|
|
297
297
|
dialect,
|
|
298
|
-
|
|
298
|
+
handlers,
|
|
299
299
|
actorId: 'u1',
|
|
300
300
|
request: {
|
|
301
301
|
clientId: 'client-1',
|
|
@@ -305,7 +305,7 @@ describe('pull re-bootstrap after external data change', () => {
|
|
|
305
305
|
subscriptions: [
|
|
306
306
|
{
|
|
307
307
|
id: 'sub-codes',
|
|
308
|
-
|
|
308
|
+
table: 'codes',
|
|
309
309
|
scopes: { catalog_id: 'icd' },
|
|
310
310
|
cursor: cursorAfterBootstrap,
|
|
311
311
|
},
|
|
@@ -341,15 +341,15 @@ describe('pull re-bootstrap after external data change', () => {
|
|
|
341
341
|
resolveScopes: async () => ({ catalog_id: '*' }),
|
|
342
342
|
});
|
|
343
343
|
|
|
344
|
-
const
|
|
345
|
-
|
|
346
|
-
|
|
344
|
+
const handlers = new TableRegistry<TestDb>();
|
|
345
|
+
handlers.register(tasksHandler);
|
|
346
|
+
handlers.register(codesHandler);
|
|
347
347
|
|
|
348
348
|
// 1. Bootstrap pull for tasks
|
|
349
349
|
const firstPull = await pull({
|
|
350
350
|
db,
|
|
351
351
|
dialect,
|
|
352
|
-
|
|
352
|
+
handlers,
|
|
353
353
|
actorId: 'u1',
|
|
354
354
|
request: {
|
|
355
355
|
clientId: 'client-1',
|
|
@@ -359,7 +359,7 @@ describe('pull re-bootstrap after external data change', () => {
|
|
|
359
359
|
subscriptions: [
|
|
360
360
|
{
|
|
361
361
|
id: 'sub-tasks',
|
|
362
|
-
|
|
362
|
+
table: 'tasks',
|
|
363
363
|
scopes: { user_id: 'u1' },
|
|
364
364
|
cursor: -1,
|
|
365
365
|
},
|
|
@@ -381,7 +381,7 @@ describe('pull re-bootstrap after external data change', () => {
|
|
|
381
381
|
const pullAfterNotify = await pull({
|
|
382
382
|
db,
|
|
383
383
|
dialect,
|
|
384
|
-
|
|
384
|
+
handlers,
|
|
385
385
|
actorId: 'u1',
|
|
386
386
|
request: {
|
|
387
387
|
clientId: 'client-1',
|
|
@@ -391,7 +391,7 @@ describe('pull re-bootstrap after external data change', () => {
|
|
|
391
391
|
subscriptions: [
|
|
392
392
|
{
|
|
393
393
|
id: 'sub-tasks',
|
|
394
|
-
|
|
394
|
+
table: 'tasks',
|
|
395
395
|
scopes: { user_id: 'u1' },
|
|
396
396
|
cursor: cursorAfterBootstrap,
|
|
397
397
|
},
|
|
@@ -437,15 +437,15 @@ describe('pull re-bootstrap after external data change', () => {
|
|
|
437
437
|
resolveScopes: async () => ({ catalog_id: '*' }),
|
|
438
438
|
});
|
|
439
439
|
|
|
440
|
-
const
|
|
441
|
-
|
|
442
|
-
|
|
440
|
+
const handlers = new TableRegistry<TestDb>();
|
|
441
|
+
handlers.register(tasksHandler);
|
|
442
|
+
handlers.register(codesHandler);
|
|
443
443
|
|
|
444
444
|
// 1. Bootstrap both subscriptions
|
|
445
445
|
const firstPull = await pull({
|
|
446
446
|
db,
|
|
447
447
|
dialect,
|
|
448
|
-
|
|
448
|
+
handlers,
|
|
449
449
|
actorId: 'u1',
|
|
450
450
|
request: {
|
|
451
451
|
clientId: 'client-1',
|
|
@@ -455,13 +455,13 @@ describe('pull re-bootstrap after external data change', () => {
|
|
|
455
455
|
subscriptions: [
|
|
456
456
|
{
|
|
457
457
|
id: 'sub-tasks',
|
|
458
|
-
|
|
458
|
+
table: 'tasks',
|
|
459
459
|
scopes: { user_id: 'u1' },
|
|
460
460
|
cursor: -1,
|
|
461
461
|
},
|
|
462
462
|
{
|
|
463
463
|
id: 'sub-codes',
|
|
464
|
-
|
|
464
|
+
table: 'codes',
|
|
465
465
|
scopes: { catalog_id: 'icd' },
|
|
466
466
|
cursor: -1,
|
|
467
467
|
},
|
|
@@ -479,7 +479,7 @@ describe('pull re-bootstrap after external data change', () => {
|
|
|
479
479
|
const pullAfter = await pull({
|
|
480
480
|
db,
|
|
481
481
|
dialect,
|
|
482
|
-
|
|
482
|
+
handlers,
|
|
483
483
|
actorId: 'u1',
|
|
484
484
|
request: {
|
|
485
485
|
clientId: 'client-1',
|
|
@@ -489,13 +489,13 @@ describe('pull re-bootstrap after external data change', () => {
|
|
|
489
489
|
subscriptions: [
|
|
490
490
|
{
|
|
491
491
|
id: 'sub-tasks',
|
|
492
|
-
|
|
492
|
+
table: 'tasks',
|
|
493
493
|
scopes: { user_id: 'u1' },
|
|
494
494
|
cursor: tasksCursor,
|
|
495
495
|
},
|
|
496
496
|
{
|
|
497
497
|
id: 'sub-codes',
|
|
498
|
-
|
|
498
|
+
table: 'codes',
|
|
499
499
|
scopes: { catalog_id: 'icd' },
|
|
500
500
|
cursor: codesCursor,
|
|
501
501
|
},
|
|
@@ -21,7 +21,7 @@ interface ProxyTestDb extends SyncCoreDb {
|
|
|
21
21
|
describe('executeProxyQuery', () => {
|
|
22
22
|
let db: Kysely<ProxyTestDb>;
|
|
23
23
|
const dialect = createSqliteServerDialect();
|
|
24
|
-
const
|
|
24
|
+
const handlers = new ProxyTableRegistry().register({
|
|
25
25
|
table: 'tasks',
|
|
26
26
|
computeScopes: (row) => ({
|
|
27
27
|
user_id: String(row.user_id),
|
|
@@ -59,7 +59,7 @@ describe('executeProxyQuery', () => {
|
|
|
59
59
|
const result = await executeProxyQuery({
|
|
60
60
|
db,
|
|
61
61
|
dialect,
|
|
62
|
-
|
|
62
|
+
handlers,
|
|
63
63
|
ctx: { actorId: 'actor-1', clientId: 'proxy-client-1' },
|
|
64
64
|
sqlQuery:
|
|
65
65
|
'/* admin */ UPDATE tasks SET title = $1, server_version = server_version + 1 WHERE id = $2',
|
|
@@ -95,7 +95,7 @@ describe('executeProxyQuery', () => {
|
|
|
95
95
|
executeProxyQuery({
|
|
96
96
|
db,
|
|
97
97
|
dialect,
|
|
98
|
-
|
|
98
|
+
handlers,
|
|
99
99
|
ctx: { actorId: 'actor-1', clientId: 'proxy-client-1' },
|
|
100
100
|
sqlQuery: 'UPDATE tasks SET title = $1 WHERE id = $2 RETURNING id',
|
|
101
101
|
parameters: ['blocked title', 't1'],
|
package/src/proxy/handler.ts
CHANGED
|
@@ -24,7 +24,7 @@ export interface ExecuteProxyQueryArgs<DB extends SyncCoreDb = SyncCoreDb> {
|
|
|
24
24
|
/** Server sync dialect */
|
|
25
25
|
dialect: ServerSyncDialect;
|
|
26
26
|
/** Proxy table registry for oplog generation */
|
|
27
|
-
|
|
27
|
+
handlers: ProxyTableRegistry;
|
|
28
28
|
/** Query context (actor/client IDs) */
|
|
29
29
|
ctx: ProxyQueryContext;
|
|
30
30
|
/** SQL query string */
|
|
@@ -100,7 +100,7 @@ function buildRawQuery(
|
|
|
100
100
|
export async function executeProxyQuery<DB extends SyncCoreDb>(
|
|
101
101
|
args: ExecuteProxyQueryArgs<DB>
|
|
102
102
|
): Promise<ExecuteProxyQueryResult> {
|
|
103
|
-
const { db, dialect,
|
|
103
|
+
const { db, dialect, handlers, ctx, sqlQuery, parameters } = args;
|
|
104
104
|
|
|
105
105
|
const mutation = detectMutation(sqlQuery);
|
|
106
106
|
|
|
@@ -110,10 +110,10 @@ export async function executeProxyQuery<DB extends SyncCoreDb>(
|
|
|
110
110
|
return { rows: result.rows };
|
|
111
111
|
}
|
|
112
112
|
|
|
113
|
-
// Check if this table has a registered
|
|
114
|
-
const
|
|
115
|
-
if (!
|
|
116
|
-
// No
|
|
113
|
+
// Check if this table has a registered handler
|
|
114
|
+
const handler = handlers.get(mutation.tableName);
|
|
115
|
+
if (!handler) {
|
|
116
|
+
// No handler registered - execute without oplog
|
|
117
117
|
// This allows proxy operations on non-synced tables
|
|
118
118
|
const result = await buildRawQuery(sqlQuery, parameters).execute(db);
|
|
119
119
|
return {
|
|
@@ -122,7 +122,7 @@ export async function executeProxyQuery<DB extends SyncCoreDb>(
|
|
|
122
122
|
};
|
|
123
123
|
}
|
|
124
124
|
|
|
125
|
-
// Mutation with registered
|
|
125
|
+
// Mutation with registered handler - append RETURNING * and create oplog
|
|
126
126
|
const hasReturning = hasReturningClause(sqlQuery);
|
|
127
127
|
if (hasReturning && !hasReturningWildcard(sqlQuery)) {
|
|
128
128
|
throw new Error(
|
|
@@ -146,7 +146,7 @@ export async function executeProxyQuery<DB extends SyncCoreDb>(
|
|
|
146
146
|
actorId: ctx.actorId,
|
|
147
147
|
clientId: ctx.clientId,
|
|
148
148
|
partitionId: ctx.partitionId,
|
|
149
|
-
|
|
149
|
+
handler,
|
|
150
150
|
operation: mutation.operation,
|
|
151
151
|
rows: affectedRows,
|
|
152
152
|
});
|
package/src/proxy/oplog.ts
CHANGED
|
@@ -30,19 +30,19 @@ export async function createOplogEntries<DB extends SyncCoreDb>(args: {
|
|
|
30
30
|
actorId: string;
|
|
31
31
|
clientId: string;
|
|
32
32
|
partitionId?: string;
|
|
33
|
-
|
|
33
|
+
handler: ProxyTableHandler;
|
|
34
34
|
operation: SyncOp;
|
|
35
35
|
rows: Record<string, unknown>[];
|
|
36
36
|
}): Promise<{ commitSeq: number; affectedTables: string[] }> {
|
|
37
|
-
const { trx, dialect, actorId, clientId,
|
|
37
|
+
const { trx, dialect, actorId, clientId, handler, operation, rows } = args;
|
|
38
38
|
const partitionId = args.partitionId ?? 'default';
|
|
39
39
|
|
|
40
40
|
if (rows.length === 0) {
|
|
41
41
|
return { commitSeq: 0, affectedTables: [] };
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
const pk =
|
|
45
|
-
const versionCol =
|
|
44
|
+
const pk = handler.primaryKey ?? 'id';
|
|
45
|
+
const versionCol = handler.versionColumn ?? 'server_version';
|
|
46
46
|
|
|
47
47
|
// Create commit record
|
|
48
48
|
const commitResult = await sql<{ commit_seq: number }>`
|
|
@@ -73,15 +73,15 @@ export async function createOplogEntries<DB extends SyncCoreDb>(args: {
|
|
|
73
73
|
|
|
74
74
|
// Compute scopes for all rows and collect changes
|
|
75
75
|
const affectedTablesSet = new Set<string>();
|
|
76
|
-
affectedTablesSet.add(
|
|
76
|
+
affectedTablesSet.add(handler.table);
|
|
77
77
|
|
|
78
78
|
const changes = rows.map((row) => {
|
|
79
|
-
const scopes =
|
|
79
|
+
const scopes = handler.computeScopes(row);
|
|
80
80
|
|
|
81
81
|
return {
|
|
82
82
|
commit_seq: commitSeq,
|
|
83
83
|
partition_id: partitionId,
|
|
84
|
-
table:
|
|
84
|
+
table: handler.table,
|
|
85
85
|
row_id: String(row[pk]),
|
|
86
86
|
op: operation,
|
|
87
87
|
row_json: operation === 'delete' ? null : row,
|