@powersync/service-core 0.0.0-dev-20260203155513 → 0.0.0-dev-20260223080959
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/CHANGELOG.md +46 -8
- package/dist/api/RouteAPI.d.ts +2 -2
- package/dist/api/diagnostics.js +14 -6
- package/dist/api/diagnostics.js.map +1 -1
- package/dist/auth/JwtPayload.d.ts +7 -8
- package/dist/auth/JwtPayload.js +19 -1
- package/dist/auth/JwtPayload.js.map +1 -1
- package/dist/auth/KeyStore.js +2 -1
- package/dist/auth/KeyStore.js.map +1 -1
- package/dist/replication/AbstractReplicator.js +2 -5
- package/dist/replication/AbstractReplicator.js.map +1 -1
- package/dist/routes/auth.d.ts +0 -1
- package/dist/routes/auth.js +2 -4
- package/dist/routes/auth.js.map +1 -1
- package/dist/routes/configure-fastify.d.ts +84 -0
- package/dist/routes/configure-fastify.js +0 -1
- package/dist/routes/configure-fastify.js.map +1 -1
- package/dist/routes/endpoints/admin.d.ts +171 -0
- package/dist/routes/endpoints/admin.js +36 -21
- package/dist/routes/endpoints/admin.js.map +1 -1
- package/dist/routes/endpoints/checkpointing.js +3 -3
- package/dist/routes/endpoints/checkpointing.js.map +1 -1
- package/dist/routes/endpoints/socket-route.js +4 -10
- package/dist/routes/endpoints/socket-route.js.map +1 -1
- package/dist/routes/endpoints/sync-rules.js +10 -13
- package/dist/routes/endpoints/sync-rules.js.map +1 -1
- package/dist/routes/endpoints/sync-stream.js +3 -8
- package/dist/routes/endpoints/sync-stream.js.map +1 -1
- package/dist/routes/router.d.ts +0 -1
- package/dist/routes/router.js.map +1 -1
- package/dist/storage/BucketStorageFactory.d.ts +29 -15
- package/dist/storage/BucketStorageFactory.js +58 -1
- package/dist/storage/BucketStorageFactory.js.map +1 -1
- package/dist/storage/PersistedSyncRulesContent.d.ts +28 -4
- package/dist/storage/PersistedSyncRulesContent.js +56 -1
- package/dist/storage/PersistedSyncRulesContent.js.map +1 -1
- package/dist/storage/ReportStorage.d.ts +1 -8
- package/dist/storage/StorageVersionConfig.d.ts +20 -0
- package/dist/storage/StorageVersionConfig.js +20 -0
- package/dist/storage/StorageVersionConfig.js.map +1 -0
- package/dist/storage/SyncRulesBucketStorage.d.ts +8 -0
- package/dist/storage/SyncRulesBucketStorage.js.map +1 -1
- package/dist/storage/storage-index.d.ts +1 -0
- package/dist/storage/storage-index.js +1 -0
- package/dist/storage/storage-index.js.map +1 -1
- package/dist/sync/BucketChecksumState.d.ts +4 -6
- package/dist/sync/BucketChecksumState.js +4 -9
- package/dist/sync/BucketChecksumState.js.map +1 -1
- package/dist/sync/sync.d.ts +0 -8
- package/dist/sync/sync.js +9 -19
- package/dist/sync/sync.js.map +1 -1
- package/dist/sync/util.d.ts +0 -22
- package/dist/sync/util.js +0 -24
- package/dist/sync/util.js.map +1 -1
- package/dist/util/config.js +4 -1
- package/dist/util/config.js.map +1 -1
- package/package.json +5 -5
- package/src/api/RouteAPI.ts +2 -2
- package/src/api/diagnostics.ts +16 -7
- package/src/auth/JwtPayload.ts +16 -8
- package/src/auth/KeyStore.ts +1 -1
- package/src/replication/AbstractReplicator.ts +3 -5
- package/src/routes/auth.ts +2 -4
- package/src/routes/configure-fastify.ts +0 -1
- package/src/routes/endpoints/admin.ts +45 -26
- package/src/routes/endpoints/checkpointing.ts +5 -3
- package/src/routes/endpoints/socket-route.ts +4 -11
- package/src/routes/endpoints/sync-rules.ts +18 -17
- package/src/routes/endpoints/sync-stream.ts +4 -8
- package/src/routes/router.ts +0 -2
- package/src/storage/BucketStorageFactory.ts +67 -19
- package/src/storage/PersistedSyncRulesContent.ts +82 -5
- package/src/storage/ReportStorage.ts +3 -9
- package/src/storage/StorageVersionConfig.ts +30 -0
- package/src/storage/SyncRulesBucketStorage.ts +9 -0
- package/src/storage/storage-index.ts +1 -0
- package/src/sync/BucketChecksumState.ts +10 -13
- package/src/sync/sync.ts +15 -42
- package/src/sync/util.ts +0 -25
- package/src/util/config.ts +7 -2
- package/test/src/auth.test.ts +76 -20
- package/test/src/routes/admin.test.ts +48 -0
- package/test/src/routes/mocks.ts +22 -1
- package/test/src/routes/stream.test.ts +10 -9
- package/test/src/sync/BucketChecksumState.test.ts +92 -84
- package/test/tsconfig.json +3 -6
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { router, schema } from '@powersync/lib-services-framework';
|
|
2
|
+
/**
|
|
3
|
+
* @deprecated This will be removed in a future release
|
|
4
|
+
*/
|
|
2
5
|
export declare const executeSql: router.Endpoint<{
|
|
3
6
|
sql: {
|
|
4
7
|
query: string;
|
|
@@ -70,6 +73,10 @@ export declare const diagnostics: router.Endpoint<{
|
|
|
70
73
|
errors: {
|
|
71
74
|
message: string;
|
|
72
75
|
level: "warning" | "fatal";
|
|
76
|
+
location?: {
|
|
77
|
+
start_offset: number;
|
|
78
|
+
end_offset: number;
|
|
79
|
+
} | undefined;
|
|
73
80
|
ts?: string | undefined;
|
|
74
81
|
}[];
|
|
75
82
|
id: string;
|
|
@@ -80,6 +87,10 @@ export declare const diagnostics: router.Endpoint<{
|
|
|
80
87
|
errors: {
|
|
81
88
|
level: "warning" | "fatal";
|
|
82
89
|
message: string;
|
|
90
|
+
location?: {
|
|
91
|
+
start_offset: number;
|
|
92
|
+
end_offset: number;
|
|
93
|
+
} | undefined;
|
|
83
94
|
ts?: string | undefined;
|
|
84
95
|
}[];
|
|
85
96
|
connections: {
|
|
@@ -96,6 +107,10 @@ export declare const diagnostics: router.Endpoint<{
|
|
|
96
107
|
errors: {
|
|
97
108
|
level: "warning" | "fatal";
|
|
98
109
|
message: string;
|
|
110
|
+
location?: {
|
|
111
|
+
start_offset: number;
|
|
112
|
+
end_offset: number;
|
|
113
|
+
} | undefined;
|
|
99
114
|
ts?: string | undefined;
|
|
100
115
|
}[];
|
|
101
116
|
pattern?: string | undefined;
|
|
@@ -111,6 +126,10 @@ export declare const diagnostics: router.Endpoint<{
|
|
|
111
126
|
errors: {
|
|
112
127
|
level: "warning" | "fatal";
|
|
113
128
|
message: string;
|
|
129
|
+
location?: {
|
|
130
|
+
start_offset: number;
|
|
131
|
+
end_offset: number;
|
|
132
|
+
} | undefined;
|
|
114
133
|
ts?: string | undefined;
|
|
115
134
|
}[];
|
|
116
135
|
connections: {
|
|
@@ -127,6 +146,10 @@ export declare const diagnostics: router.Endpoint<{
|
|
|
127
146
|
errors: {
|
|
128
147
|
level: "warning" | "fatal";
|
|
129
148
|
message: string;
|
|
149
|
+
location?: {
|
|
150
|
+
start_offset: number;
|
|
151
|
+
end_offset: number;
|
|
152
|
+
} | undefined;
|
|
130
153
|
ts?: string | undefined;
|
|
131
154
|
}[];
|
|
132
155
|
pattern?: string | undefined;
|
|
@@ -147,6 +170,10 @@ export declare const diagnostics: router.Endpoint<{
|
|
|
147
170
|
errors: {
|
|
148
171
|
message: string;
|
|
149
172
|
level: "warning" | "fatal";
|
|
173
|
+
location?: {
|
|
174
|
+
start_offset: number;
|
|
175
|
+
end_offset: number;
|
|
176
|
+
} | undefined;
|
|
150
177
|
ts?: string | undefined;
|
|
151
178
|
}[];
|
|
152
179
|
id: string;
|
|
@@ -157,6 +184,10 @@ export declare const diagnostics: router.Endpoint<{
|
|
|
157
184
|
errors: {
|
|
158
185
|
level: "warning" | "fatal";
|
|
159
186
|
message: string;
|
|
187
|
+
location?: {
|
|
188
|
+
start_offset: number;
|
|
189
|
+
end_offset: number;
|
|
190
|
+
} | undefined;
|
|
160
191
|
ts?: string | undefined;
|
|
161
192
|
}[];
|
|
162
193
|
connections: {
|
|
@@ -173,6 +204,10 @@ export declare const diagnostics: router.Endpoint<{
|
|
|
173
204
|
errors: {
|
|
174
205
|
level: "warning" | "fatal";
|
|
175
206
|
message: string;
|
|
207
|
+
location?: {
|
|
208
|
+
start_offset: number;
|
|
209
|
+
end_offset: number;
|
|
210
|
+
} | undefined;
|
|
176
211
|
ts?: string | undefined;
|
|
177
212
|
}[];
|
|
178
213
|
pattern?: string | undefined;
|
|
@@ -188,6 +223,10 @@ export declare const diagnostics: router.Endpoint<{
|
|
|
188
223
|
errors: {
|
|
189
224
|
level: "warning" | "fatal";
|
|
190
225
|
message: string;
|
|
226
|
+
location?: {
|
|
227
|
+
start_offset: number;
|
|
228
|
+
end_offset: number;
|
|
229
|
+
} | undefined;
|
|
191
230
|
ts?: string | undefined;
|
|
192
231
|
}[];
|
|
193
232
|
connections: {
|
|
@@ -204,6 +243,10 @@ export declare const diagnostics: router.Endpoint<{
|
|
|
204
243
|
errors: {
|
|
205
244
|
level: "warning" | "fatal";
|
|
206
245
|
message: string;
|
|
246
|
+
location?: {
|
|
247
|
+
start_offset: number;
|
|
248
|
+
end_offset: number;
|
|
249
|
+
} | undefined;
|
|
207
250
|
ts?: string | undefined;
|
|
208
251
|
}[];
|
|
209
252
|
pattern?: string | undefined;
|
|
@@ -235,6 +278,10 @@ export declare const diagnostics: router.Endpoint<{
|
|
|
235
278
|
errors: {
|
|
236
279
|
message: string;
|
|
237
280
|
level: "warning" | "fatal";
|
|
281
|
+
location?: {
|
|
282
|
+
start_offset: number;
|
|
283
|
+
end_offset: number;
|
|
284
|
+
} | undefined;
|
|
238
285
|
ts?: string | undefined;
|
|
239
286
|
}[];
|
|
240
287
|
id: string;
|
|
@@ -245,6 +292,10 @@ export declare const diagnostics: router.Endpoint<{
|
|
|
245
292
|
errors: {
|
|
246
293
|
level: "warning" | "fatal";
|
|
247
294
|
message: string;
|
|
295
|
+
location?: {
|
|
296
|
+
start_offset: number;
|
|
297
|
+
end_offset: number;
|
|
298
|
+
} | undefined;
|
|
248
299
|
ts?: string | undefined;
|
|
249
300
|
}[];
|
|
250
301
|
connections: {
|
|
@@ -261,6 +312,10 @@ export declare const diagnostics: router.Endpoint<{
|
|
|
261
312
|
errors: {
|
|
262
313
|
level: "warning" | "fatal";
|
|
263
314
|
message: string;
|
|
315
|
+
location?: {
|
|
316
|
+
start_offset: number;
|
|
317
|
+
end_offset: number;
|
|
318
|
+
} | undefined;
|
|
264
319
|
ts?: string | undefined;
|
|
265
320
|
}[];
|
|
266
321
|
pattern?: string | undefined;
|
|
@@ -276,6 +331,10 @@ export declare const diagnostics: router.Endpoint<{
|
|
|
276
331
|
errors: {
|
|
277
332
|
level: "warning" | "fatal";
|
|
278
333
|
message: string;
|
|
334
|
+
location?: {
|
|
335
|
+
start_offset: number;
|
|
336
|
+
end_offset: number;
|
|
337
|
+
} | undefined;
|
|
279
338
|
ts?: string | undefined;
|
|
280
339
|
}[];
|
|
281
340
|
connections: {
|
|
@@ -292,6 +351,10 @@ export declare const diagnostics: router.Endpoint<{
|
|
|
292
351
|
errors: {
|
|
293
352
|
level: "warning" | "fatal";
|
|
294
353
|
message: string;
|
|
354
|
+
location?: {
|
|
355
|
+
start_offset: number;
|
|
356
|
+
end_offset: number;
|
|
357
|
+
} | undefined;
|
|
295
358
|
ts?: string | undefined;
|
|
296
359
|
}[];
|
|
297
360
|
pattern?: string | undefined;
|
|
@@ -418,6 +481,10 @@ export declare const validate: router.Endpoint<{
|
|
|
418
481
|
errors: {
|
|
419
482
|
message: string;
|
|
420
483
|
level: "warning" | "fatal";
|
|
484
|
+
location?: {
|
|
485
|
+
start_offset: number;
|
|
486
|
+
end_offset: number;
|
|
487
|
+
} | undefined;
|
|
421
488
|
ts?: string | undefined;
|
|
422
489
|
}[];
|
|
423
490
|
connections: {
|
|
@@ -429,6 +496,10 @@ export declare const validate: router.Endpoint<{
|
|
|
429
496
|
errors: {
|
|
430
497
|
message: string;
|
|
431
498
|
level: "warning" | "fatal";
|
|
499
|
+
location?: {
|
|
500
|
+
start_offset: number;
|
|
501
|
+
end_offset: number;
|
|
502
|
+
} | undefined;
|
|
432
503
|
ts?: string | undefined;
|
|
433
504
|
}[];
|
|
434
505
|
name: string;
|
|
@@ -452,6 +523,10 @@ export declare const validate: router.Endpoint<{
|
|
|
452
523
|
errors: {
|
|
453
524
|
message: string;
|
|
454
525
|
level: "warning" | "fatal";
|
|
526
|
+
location?: {
|
|
527
|
+
start_offset: number;
|
|
528
|
+
end_offset: number;
|
|
529
|
+
} | undefined;
|
|
455
530
|
ts?: string | undefined;
|
|
456
531
|
}[];
|
|
457
532
|
connections: {
|
|
@@ -463,6 +538,10 @@ export declare const validate: router.Endpoint<{
|
|
|
463
538
|
errors: {
|
|
464
539
|
message: string;
|
|
465
540
|
level: "warning" | "fatal";
|
|
541
|
+
location?: {
|
|
542
|
+
start_offset: number;
|
|
543
|
+
end_offset: number;
|
|
544
|
+
} | undefined;
|
|
466
545
|
ts?: string | undefined;
|
|
467
546
|
}[];
|
|
468
547
|
name: string;
|
|
@@ -497,6 +576,10 @@ export declare const validate: router.Endpoint<{
|
|
|
497
576
|
errors: {
|
|
498
577
|
message: string;
|
|
499
578
|
level: "warning" | "fatal";
|
|
579
|
+
location?: {
|
|
580
|
+
start_offset: number;
|
|
581
|
+
end_offset: number;
|
|
582
|
+
} | undefined;
|
|
500
583
|
ts?: string | undefined;
|
|
501
584
|
}[];
|
|
502
585
|
connections: {
|
|
@@ -508,6 +591,10 @@ export declare const validate: router.Endpoint<{
|
|
|
508
591
|
errors: {
|
|
509
592
|
message: string;
|
|
510
593
|
level: "warning" | "fatal";
|
|
594
|
+
location?: {
|
|
595
|
+
start_offset: number;
|
|
596
|
+
end_offset: number;
|
|
597
|
+
} | undefined;
|
|
511
598
|
ts?: string | undefined;
|
|
512
599
|
}[];
|
|
513
600
|
name: string;
|
|
@@ -595,6 +682,10 @@ export declare const ADMIN_ROUTES: ((router.Endpoint<{
|
|
|
595
682
|
errors: {
|
|
596
683
|
message: string;
|
|
597
684
|
level: "warning" | "fatal";
|
|
685
|
+
location?: {
|
|
686
|
+
start_offset: number;
|
|
687
|
+
end_offset: number;
|
|
688
|
+
} | undefined;
|
|
598
689
|
ts?: string | undefined;
|
|
599
690
|
}[];
|
|
600
691
|
id: string;
|
|
@@ -605,6 +696,10 @@ export declare const ADMIN_ROUTES: ((router.Endpoint<{
|
|
|
605
696
|
errors: {
|
|
606
697
|
level: "warning" | "fatal";
|
|
607
698
|
message: string;
|
|
699
|
+
location?: {
|
|
700
|
+
start_offset: number;
|
|
701
|
+
end_offset: number;
|
|
702
|
+
} | undefined;
|
|
608
703
|
ts?: string | undefined;
|
|
609
704
|
}[];
|
|
610
705
|
connections: {
|
|
@@ -621,6 +716,10 @@ export declare const ADMIN_ROUTES: ((router.Endpoint<{
|
|
|
621
716
|
errors: {
|
|
622
717
|
level: "warning" | "fatal";
|
|
623
718
|
message: string;
|
|
719
|
+
location?: {
|
|
720
|
+
start_offset: number;
|
|
721
|
+
end_offset: number;
|
|
722
|
+
} | undefined;
|
|
624
723
|
ts?: string | undefined;
|
|
625
724
|
}[];
|
|
626
725
|
pattern?: string | undefined;
|
|
@@ -636,6 +735,10 @@ export declare const ADMIN_ROUTES: ((router.Endpoint<{
|
|
|
636
735
|
errors: {
|
|
637
736
|
level: "warning" | "fatal";
|
|
638
737
|
message: string;
|
|
738
|
+
location?: {
|
|
739
|
+
start_offset: number;
|
|
740
|
+
end_offset: number;
|
|
741
|
+
} | undefined;
|
|
639
742
|
ts?: string | undefined;
|
|
640
743
|
}[];
|
|
641
744
|
connections: {
|
|
@@ -652,6 +755,10 @@ export declare const ADMIN_ROUTES: ((router.Endpoint<{
|
|
|
652
755
|
errors: {
|
|
653
756
|
level: "warning" | "fatal";
|
|
654
757
|
message: string;
|
|
758
|
+
location?: {
|
|
759
|
+
start_offset: number;
|
|
760
|
+
end_offset: number;
|
|
761
|
+
} | undefined;
|
|
655
762
|
ts?: string | undefined;
|
|
656
763
|
}[];
|
|
657
764
|
pattern?: string | undefined;
|
|
@@ -672,6 +779,10 @@ export declare const ADMIN_ROUTES: ((router.Endpoint<{
|
|
|
672
779
|
errors: {
|
|
673
780
|
message: string;
|
|
674
781
|
level: "warning" | "fatal";
|
|
782
|
+
location?: {
|
|
783
|
+
start_offset: number;
|
|
784
|
+
end_offset: number;
|
|
785
|
+
} | undefined;
|
|
675
786
|
ts?: string | undefined;
|
|
676
787
|
}[];
|
|
677
788
|
id: string;
|
|
@@ -682,6 +793,10 @@ export declare const ADMIN_ROUTES: ((router.Endpoint<{
|
|
|
682
793
|
errors: {
|
|
683
794
|
level: "warning" | "fatal";
|
|
684
795
|
message: string;
|
|
796
|
+
location?: {
|
|
797
|
+
start_offset: number;
|
|
798
|
+
end_offset: number;
|
|
799
|
+
} | undefined;
|
|
685
800
|
ts?: string | undefined;
|
|
686
801
|
}[];
|
|
687
802
|
connections: {
|
|
@@ -698,6 +813,10 @@ export declare const ADMIN_ROUTES: ((router.Endpoint<{
|
|
|
698
813
|
errors: {
|
|
699
814
|
level: "warning" | "fatal";
|
|
700
815
|
message: string;
|
|
816
|
+
location?: {
|
|
817
|
+
start_offset: number;
|
|
818
|
+
end_offset: number;
|
|
819
|
+
} | undefined;
|
|
701
820
|
ts?: string | undefined;
|
|
702
821
|
}[];
|
|
703
822
|
pattern?: string | undefined;
|
|
@@ -713,6 +832,10 @@ export declare const ADMIN_ROUTES: ((router.Endpoint<{
|
|
|
713
832
|
errors: {
|
|
714
833
|
level: "warning" | "fatal";
|
|
715
834
|
message: string;
|
|
835
|
+
location?: {
|
|
836
|
+
start_offset: number;
|
|
837
|
+
end_offset: number;
|
|
838
|
+
} | undefined;
|
|
716
839
|
ts?: string | undefined;
|
|
717
840
|
}[];
|
|
718
841
|
connections: {
|
|
@@ -729,6 +852,10 @@ export declare const ADMIN_ROUTES: ((router.Endpoint<{
|
|
|
729
852
|
errors: {
|
|
730
853
|
level: "warning" | "fatal";
|
|
731
854
|
message: string;
|
|
855
|
+
location?: {
|
|
856
|
+
start_offset: number;
|
|
857
|
+
end_offset: number;
|
|
858
|
+
} | undefined;
|
|
732
859
|
ts?: string | undefined;
|
|
733
860
|
}[];
|
|
734
861
|
pattern?: string | undefined;
|
|
@@ -760,6 +887,10 @@ export declare const ADMIN_ROUTES: ((router.Endpoint<{
|
|
|
760
887
|
errors: {
|
|
761
888
|
message: string;
|
|
762
889
|
level: "warning" | "fatal";
|
|
890
|
+
location?: {
|
|
891
|
+
start_offset: number;
|
|
892
|
+
end_offset: number;
|
|
893
|
+
} | undefined;
|
|
763
894
|
ts?: string | undefined;
|
|
764
895
|
}[];
|
|
765
896
|
id: string;
|
|
@@ -770,6 +901,10 @@ export declare const ADMIN_ROUTES: ((router.Endpoint<{
|
|
|
770
901
|
errors: {
|
|
771
902
|
level: "warning" | "fatal";
|
|
772
903
|
message: string;
|
|
904
|
+
location?: {
|
|
905
|
+
start_offset: number;
|
|
906
|
+
end_offset: number;
|
|
907
|
+
} | undefined;
|
|
773
908
|
ts?: string | undefined;
|
|
774
909
|
}[];
|
|
775
910
|
connections: {
|
|
@@ -786,6 +921,10 @@ export declare const ADMIN_ROUTES: ((router.Endpoint<{
|
|
|
786
921
|
errors: {
|
|
787
922
|
level: "warning" | "fatal";
|
|
788
923
|
message: string;
|
|
924
|
+
location?: {
|
|
925
|
+
start_offset: number;
|
|
926
|
+
end_offset: number;
|
|
927
|
+
} | undefined;
|
|
789
928
|
ts?: string | undefined;
|
|
790
929
|
}[];
|
|
791
930
|
pattern?: string | undefined;
|
|
@@ -801,6 +940,10 @@ export declare const ADMIN_ROUTES: ((router.Endpoint<{
|
|
|
801
940
|
errors: {
|
|
802
941
|
level: "warning" | "fatal";
|
|
803
942
|
message: string;
|
|
943
|
+
location?: {
|
|
944
|
+
start_offset: number;
|
|
945
|
+
end_offset: number;
|
|
946
|
+
} | undefined;
|
|
804
947
|
ts?: string | undefined;
|
|
805
948
|
}[];
|
|
806
949
|
connections: {
|
|
@@ -817,6 +960,10 @@ export declare const ADMIN_ROUTES: ((router.Endpoint<{
|
|
|
817
960
|
errors: {
|
|
818
961
|
level: "warning" | "fatal";
|
|
819
962
|
message: string;
|
|
963
|
+
location?: {
|
|
964
|
+
start_offset: number;
|
|
965
|
+
end_offset: number;
|
|
966
|
+
} | undefined;
|
|
820
967
|
ts?: string | undefined;
|
|
821
968
|
}[];
|
|
822
969
|
pattern?: string | undefined;
|
|
@@ -940,6 +1087,10 @@ export declare const ADMIN_ROUTES: ((router.Endpoint<{
|
|
|
940
1087
|
errors: {
|
|
941
1088
|
message: string;
|
|
942
1089
|
level: "warning" | "fatal";
|
|
1090
|
+
location?: {
|
|
1091
|
+
start_offset: number;
|
|
1092
|
+
end_offset: number;
|
|
1093
|
+
} | undefined;
|
|
943
1094
|
ts?: string | undefined;
|
|
944
1095
|
}[];
|
|
945
1096
|
connections: {
|
|
@@ -951,6 +1102,10 @@ export declare const ADMIN_ROUTES: ((router.Endpoint<{
|
|
|
951
1102
|
errors: {
|
|
952
1103
|
message: string;
|
|
953
1104
|
level: "warning" | "fatal";
|
|
1105
|
+
location?: {
|
|
1106
|
+
start_offset: number;
|
|
1107
|
+
end_offset: number;
|
|
1108
|
+
} | undefined;
|
|
954
1109
|
ts?: string | undefined;
|
|
955
1110
|
}[];
|
|
956
1111
|
name: string;
|
|
@@ -974,6 +1129,10 @@ export declare const ADMIN_ROUTES: ((router.Endpoint<{
|
|
|
974
1129
|
errors: {
|
|
975
1130
|
message: string;
|
|
976
1131
|
level: "warning" | "fatal";
|
|
1132
|
+
location?: {
|
|
1133
|
+
start_offset: number;
|
|
1134
|
+
end_offset: number;
|
|
1135
|
+
} | undefined;
|
|
977
1136
|
ts?: string | undefined;
|
|
978
1137
|
}[];
|
|
979
1138
|
connections: {
|
|
@@ -985,6 +1144,10 @@ export declare const ADMIN_ROUTES: ((router.Endpoint<{
|
|
|
985
1144
|
errors: {
|
|
986
1145
|
message: string;
|
|
987
1146
|
level: "warning" | "fatal";
|
|
1147
|
+
location?: {
|
|
1148
|
+
start_offset: number;
|
|
1149
|
+
end_offset: number;
|
|
1150
|
+
} | undefined;
|
|
988
1151
|
ts?: string | undefined;
|
|
989
1152
|
}[];
|
|
990
1153
|
name: string;
|
|
@@ -1019,6 +1182,10 @@ export declare const ADMIN_ROUTES: ((router.Endpoint<{
|
|
|
1019
1182
|
errors: {
|
|
1020
1183
|
message: string;
|
|
1021
1184
|
level: "warning" | "fatal";
|
|
1185
|
+
location?: {
|
|
1186
|
+
start_offset: number;
|
|
1187
|
+
end_offset: number;
|
|
1188
|
+
} | undefined;
|
|
1022
1189
|
ts?: string | undefined;
|
|
1023
1190
|
}[];
|
|
1024
1191
|
connections: {
|
|
@@ -1030,6 +1197,10 @@ export declare const ADMIN_ROUTES: ((router.Endpoint<{
|
|
|
1030
1197
|
errors: {
|
|
1031
1198
|
message: string;
|
|
1032
1199
|
level: "warning" | "fatal";
|
|
1200
|
+
location?: {
|
|
1201
|
+
start_offset: number;
|
|
1202
|
+
end_offset: number;
|
|
1203
|
+
} | undefined;
|
|
1033
1204
|
ts?: string | undefined;
|
|
1034
1205
|
}[];
|
|
1035
1206
|
name: string;
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import { ErrorCode, errors, router, schema } from '@powersync/lib-services-framework';
|
|
2
2
|
import { SqlSyncRules, StaticSchema } from '@powersync/service-sync-rules';
|
|
3
3
|
import { internal_routes } from '@powersync/service-types';
|
|
4
|
+
import { DEFAULT_HYDRATION_STATE } from '@powersync/service-sync-rules';
|
|
4
5
|
import * as api from '../../api/api-index.js';
|
|
6
|
+
import * as storage from '../../storage/storage-index.js';
|
|
5
7
|
import { authApi } from '../auth.js';
|
|
6
8
|
import { routeDefinition } from '../router.js';
|
|
9
|
+
/**
|
|
10
|
+
* @deprecated This will be removed in a future release
|
|
11
|
+
*/
|
|
7
12
|
export const executeSql = routeDefinition({
|
|
8
13
|
path: '/api/admin/v1/execute-sql',
|
|
9
14
|
method: router.HTTPMethod.POST,
|
|
@@ -99,12 +104,11 @@ export const reprocess = routeDefinition({
|
|
|
99
104
|
description: 'No active sync rules'
|
|
100
105
|
});
|
|
101
106
|
}
|
|
102
|
-
const new_rules = await activeBucketStorage.updateSyncRules({
|
|
103
|
-
content: active.sync_rules.content,
|
|
107
|
+
const new_rules = await activeBucketStorage.updateSyncRules(storage.updateSyncRulesFromYaml(active.sync_rules.config.content, {
|
|
104
108
|
// These sync rules already passed validation. But if the rules are not valid anymore due
|
|
105
109
|
// to a service change, we do want to report the error here.
|
|
106
110
|
validate: true
|
|
107
|
-
});
|
|
111
|
+
}));
|
|
108
112
|
const baseConfig = await apiHandler.getSourceConfig();
|
|
109
113
|
return internal_routes.ReprocessResponse.encode({
|
|
110
114
|
connections: [
|
|
@@ -118,6 +122,31 @@ export const reprocess = routeDefinition({
|
|
|
118
122
|
});
|
|
119
123
|
}
|
|
120
124
|
});
|
|
125
|
+
class FakeSyncRulesContentForValidation extends storage.PersistedSyncRulesContent {
|
|
126
|
+
apiHandler;
|
|
127
|
+
schema;
|
|
128
|
+
constructor(apiHandler, schema, data) {
|
|
129
|
+
super(data);
|
|
130
|
+
this.apiHandler = apiHandler;
|
|
131
|
+
this.schema = schema;
|
|
132
|
+
}
|
|
133
|
+
current_lock = null;
|
|
134
|
+
async lock() {
|
|
135
|
+
throw new Error('Lock not implemented');
|
|
136
|
+
}
|
|
137
|
+
parsed(options) {
|
|
138
|
+
return {
|
|
139
|
+
...this,
|
|
140
|
+
sync_rules: SqlSyncRules.fromYaml(this.sync_rules_content, {
|
|
141
|
+
...this.apiHandler.getParseSyncRulesOptions(),
|
|
142
|
+
schema: this.schema
|
|
143
|
+
}),
|
|
144
|
+
hydratedSyncRules() {
|
|
145
|
+
return this.sync_rules.config.hydrate({ hydrationState: DEFAULT_HYDRATION_STATE });
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
}
|
|
121
150
|
export const validate = routeDefinition({
|
|
122
151
|
path: '/api/admin/v1/validate',
|
|
123
152
|
method: router.HTTPMethod.POST,
|
|
@@ -129,29 +158,15 @@ export const validate = routeDefinition({
|
|
|
129
158
|
const apiHandler = service_context.routerEngine.getAPI();
|
|
130
159
|
const schemaData = await api.getConnectionsSchema(apiHandler);
|
|
131
160
|
const schema = new StaticSchema(schemaData.connections);
|
|
132
|
-
const sync_rules = {
|
|
161
|
+
const sync_rules = new FakeSyncRulesContentForValidation(apiHandler, schema, {
|
|
133
162
|
// Dummy values
|
|
134
163
|
id: 0,
|
|
135
164
|
slot_name: '',
|
|
136
165
|
active: false,
|
|
137
166
|
last_checkpoint_lsn: '',
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
sync_rules: SqlSyncRules.fromYaml(content, {
|
|
142
|
-
...apiHandler.getParseSyncRulesOptions(),
|
|
143
|
-
schema
|
|
144
|
-
}),
|
|
145
|
-
hydratedSyncRules() {
|
|
146
|
-
return this.sync_rules.hydrate();
|
|
147
|
-
}
|
|
148
|
-
};
|
|
149
|
-
},
|
|
150
|
-
sync_rules_content: content,
|
|
151
|
-
async lock() {
|
|
152
|
-
throw new Error('Lock not implemented');
|
|
153
|
-
}
|
|
154
|
-
};
|
|
167
|
+
storageVersion: storage.LEGACY_STORAGE_VERSION,
|
|
168
|
+
sync_rules_content: content
|
|
169
|
+
});
|
|
155
170
|
const connectionStatus = await apiHandler.getConnectionStatus();
|
|
156
171
|
if (!connectionStatus) {
|
|
157
172
|
return internal_routes.ValidateResponse.encode({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin.js","sourceRoot":"","sources":["../../../src/routes/endpoints/admin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AACtF,OAAO,
|
|
1
|
+
{"version":3,"file":"admin.js","sourceRoot":"","sources":["../../../src/routes/endpoints/admin.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,15 +41,15 @@ export const writeCheckpoint2 = routeDefinition({
|
|
|
41
41
|
authorize: authUser,
|
|
42
42
|
validator: schema.createTsCodecValidator(WriteCheckpointRequest, { allowAdditional: true }),
|
|
43
43
|
handler: async (payload) => {
|
|
44
|
-
const {
|
|
44
|
+
const { token_payload, service_context } = payload.context;
|
|
45
45
|
const apiHandler = service_context.routerEngine.getAPI();
|
|
46
46
|
const { replicationHead, writeCheckpoint } = await util.createWriteCheckpoint({
|
|
47
|
-
userId:
|
|
47
|
+
userId: token_payload.userIdString,
|
|
48
48
|
clientId: payload.params.client_id,
|
|
49
49
|
api: apiHandler,
|
|
50
50
|
storage: service_context.storageEngine.activeBucketStorage
|
|
51
51
|
});
|
|
52
|
-
logger.info(`Write checkpoint for ${
|
|
52
|
+
logger.info(`Write checkpoint for ${token_payload.userIdString}/${payload.params.client_id}: ${writeCheckpoint} | ${replicationHead}`);
|
|
53
53
|
return {
|
|
54
54
|
write_checkpoint: String(writeCheckpoint)
|
|
55
55
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkpointing.js","sourceRoot":"","sources":["../../../src/routes/endpoints/checkpointing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAE9B,OAAO,KAAK,IAAI,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC;IAC7C,IAAI,EAAE,wBAAwB;IAC9B,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG;IAC7B,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,MAAM,CAAC,sBAAsB,CAAC,sBAAsB,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;IAC3F,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACzB,MAAM,EACJ,OAAO,EAAE,EAAE,eAAe,EAAE,EAC7B,GAAG,OAAO,CAAC;QACZ,MAAM,UAAU,GAAG,eAAe,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;QAEzD,gDAAgD;QAChD,wEAAwE;QACxE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEzB,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QAE1E,MAAM,OAAO,GAAG,MAAM,CAAC;QAEvB,MAAM,CAAC,IAAI,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,OAAO,EAAE,CAAC;YACpC,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,aAAa,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,CAAC;YACjG,MAAM,EAAE,GAAG,MAAM,aAAa,EAAE,aAAa,EAAE,CAAC;YAChD,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC7C,CAAC;YACD,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;gBAC7B,MAAM,CAAC,IAAI,CAAC,yBAAyB,IAAI,MAAM,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;gBAChE,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC;YACvC,CAAC;YAED,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;QAC1D,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,eAAe,CAAC;IAC9C,IAAI,EAAE,yBAAyB;IAC/B,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG;IAC7B,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,MAAM,CAAC,sBAAsB,CAAC,sBAAsB,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;IAC3F,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACzB,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"checkpointing.js","sourceRoot":"","sources":["../../../src/routes/endpoints/checkpointing.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,18 +12,17 @@ export const syncStreamReactive = (router) => router.reactiveStream(SyncRoutes.S
|
|
|
12
12
|
const streamStart = Date.now();
|
|
13
13
|
logger.defaultMeta = {
|
|
14
14
|
...logger.defaultMeta,
|
|
15
|
-
user_id: context.token_payload
|
|
15
|
+
user_id: context.token_payload.userIdJson,
|
|
16
16
|
client_id: params.client_id,
|
|
17
17
|
user_agent: context.user_agent
|
|
18
18
|
};
|
|
19
19
|
const sdkData = {
|
|
20
20
|
client_id: params.client_id ?? '',
|
|
21
|
-
user_id: context.
|
|
21
|
+
user_id: context.token_payload.userIdString,
|
|
22
22
|
user_agent: context.user_agent,
|
|
23
23
|
// At this point the token_payload is guaranteed to be present
|
|
24
24
|
jwt_exp: new Date(context.token_payload.exp * 1000),
|
|
25
|
-
connected_at: new Date(streamStart)
|
|
26
|
-
app_metadata: params.app_metadata
|
|
25
|
+
connected_at: new Date(streamStart)
|
|
27
26
|
};
|
|
28
27
|
// Best effort guess on why the stream was closed.
|
|
29
28
|
// We use the `??=` operator everywhere, so that we catch the first relevant
|
|
@@ -98,12 +97,7 @@ export const syncStreamReactive = (router) => router.reactiveStream(SyncRoutes.S
|
|
|
98
97
|
tracker,
|
|
99
98
|
signal,
|
|
100
99
|
logger,
|
|
101
|
-
isEncodingAsBson: true
|
|
102
|
-
event: {
|
|
103
|
-
engine: service_context.eventsEngine,
|
|
104
|
-
user_id: sdkData.user_id,
|
|
105
|
-
client_id: sdkData.client_id
|
|
106
|
-
}
|
|
100
|
+
isEncodingAsBson: true
|
|
107
101
|
})) {
|
|
108
102
|
if (signal.aborted) {
|
|
109
103
|
break;
|