@powersync/service-core 0.5.1 → 0.7.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/CHANGELOG.md +18 -0
- package/dist/routes/configure-fastify.d.ts +712 -0
- package/dist/routes/configure-fastify.js +57 -0
- package/dist/routes/configure-fastify.js.map +1 -0
- package/dist/routes/configure-rsocket.d.ts +13 -0
- package/dist/routes/configure-rsocket.js +46 -0
- package/dist/routes/configure-rsocket.js.map +1 -0
- package/dist/routes/endpoints/admin.d.ts +0 -34
- package/dist/routes/endpoints/admin.js +2 -22
- package/dist/routes/endpoints/admin.js.map +1 -1
- package/dist/routes/endpoints/route-endpoints-index.d.ts +0 -1
- package/dist/routes/endpoints/route-endpoints-index.js +0 -1
- package/dist/routes/endpoints/route-endpoints-index.js.map +1 -1
- package/dist/routes/endpoints/socket-route.js +3 -10
- package/dist/routes/endpoints/socket-route.js.map +1 -1
- package/dist/routes/route-register.d.ts +1 -1
- package/dist/routes/route-register.js +1 -1
- package/dist/routes/route-register.js.map +1 -1
- package/dist/routes/router-socket.d.ts +4 -4
- package/dist/routes/router-socket.js.map +1 -1
- package/dist/routes/router.d.ts +1 -0
- package/dist/routes/router.js.map +1 -1
- package/dist/routes/routes-index.d.ts +2 -0
- package/dist/routes/routes-index.js +2 -0
- package/dist/routes/routes-index.js.map +1 -1
- package/dist/sync/sync-index.d.ts +1 -0
- package/dist/sync/sync-index.js +1 -0
- package/dist/sync/sync-index.js.map +1 -1
- package/package.json +3 -3
- package/src/routes/configure-fastify.ts +101 -0
- package/src/routes/configure-rsocket.ts +59 -0
- package/src/routes/endpoints/admin.ts +2 -24
- package/src/routes/endpoints/route-endpoints-index.ts +0 -1
- package/src/routes/endpoints/socket-route.ts +3 -10
- package/src/routes/route-register.ts +2 -2
- package/src/routes/router-socket.ts +5 -5
- package/src/routes/router.ts +2 -0
- package/src/routes/routes-index.ts +2 -0
- package/src/sync/sync-index.ts +1 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/dist/routes/endpoints/dev.d.ts +0 -312
- package/dist/routes/endpoints/dev.js +0 -172
- package/dist/routes/endpoints/dev.js.map +0 -1
- package/src/routes/endpoints/dev.ts +0 -199
|
@@ -5,31 +5,9 @@ import { internal_routes } from '@powersync/service-types';
|
|
|
5
5
|
import * as api from '../../api/api-index.js';
|
|
6
6
|
import * as util from '../../util/util-index.js';
|
|
7
7
|
|
|
8
|
-
import { routeDefinition } from '../router.js';
|
|
9
8
|
import { PersistedSyncRulesContent } from '../../storage/BucketStorage.js';
|
|
10
9
|
import { authApi } from '../auth.js';
|
|
11
|
-
|
|
12
|
-
const demoCredentials = routeDefinition({
|
|
13
|
-
path: '/api/admin/v1/demo-credentials',
|
|
14
|
-
method: router.HTTPMethod.POST,
|
|
15
|
-
authorize: authApi,
|
|
16
|
-
validator: schema.createTsCodecValidator(internal_routes.DemoCredentialsRequest, {
|
|
17
|
-
allowAdditional: true
|
|
18
|
-
}),
|
|
19
|
-
handler: async (payload) => {
|
|
20
|
-
const connection = payload.context.system.config.connection;
|
|
21
|
-
if (connection == null || !connection.demo_database) {
|
|
22
|
-
return internal_routes.DemoCredentialsResponse.encode({});
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
const uri = util.buildDemoPgUri(connection);
|
|
26
|
-
return internal_routes.DemoCredentialsResponse.encode({
|
|
27
|
-
credentials: {
|
|
28
|
-
postgres_uri: uri
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
});
|
|
10
|
+
import { routeDefinition } from '../router.js';
|
|
33
11
|
|
|
34
12
|
export const executeSql = routeDefinition({
|
|
35
13
|
path: '/api/admin/v1/execute-sql',
|
|
@@ -234,4 +212,4 @@ function mapColumnValue(value: SqliteValue) {
|
|
|
234
212
|
}
|
|
235
213
|
}
|
|
236
214
|
|
|
237
|
-
export const ADMIN_ROUTES = [
|
|
215
|
+
export const ADMIN_ROUTES = [executeSql, diagnostics, getSchema, reprocess, validate];
|
|
@@ -3,20 +3,13 @@ import { RequestParameters } from '@powersync/service-sync-rules';
|
|
|
3
3
|
import { serialize } from 'bson';
|
|
4
4
|
|
|
5
5
|
import { Metrics } from '../../metrics/Metrics.js';
|
|
6
|
-
import
|
|
6
|
+
import * as sync from '../../sync/sync-index.js';
|
|
7
7
|
import * as util from '../../util/util-index.js';
|
|
8
8
|
import { SocketRouteGenerator } from '../router-socket.js';
|
|
9
9
|
import { SyncRoutes } from './sync-stream.js';
|
|
10
|
-
import { RequestTracker } from '../../sync/RequestTracker.js';
|
|
11
10
|
|
|
12
11
|
export const syncStreamReactive: SocketRouteGenerator = (router) =>
|
|
13
12
|
router.reactiveStream<util.StreamingSyncRequest, any>(SyncRoutes.STREAM, {
|
|
14
|
-
authorize: ({ context }) => {
|
|
15
|
-
return {
|
|
16
|
-
authorized: !!context.token_payload,
|
|
17
|
-
errors: ['Authentication required'].concat(context.token_errors ?? [])
|
|
18
|
-
};
|
|
19
|
-
},
|
|
20
13
|
validator: schema.createTsCodecValidator(util.StreamingSyncRequest, { allowAdditional: true }),
|
|
21
14
|
handler: async ({ context, params, responder, observer, initialN }) => {
|
|
22
15
|
const { system } = context;
|
|
@@ -67,9 +60,9 @@ export const syncStreamReactive: SocketRouteGenerator = (router) =>
|
|
|
67
60
|
});
|
|
68
61
|
|
|
69
62
|
Metrics.getInstance().concurrent_connections.add(1);
|
|
70
|
-
const tracker = new RequestTracker();
|
|
63
|
+
const tracker = new sync.RequestTracker();
|
|
71
64
|
try {
|
|
72
|
-
for await (const data of streamResponse({
|
|
65
|
+
for await (const data of sync.streamResponse({
|
|
73
66
|
storage,
|
|
74
67
|
params: {
|
|
75
68
|
...params,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import fastify from 'fastify';
|
|
1
|
+
import type fastify from 'fastify';
|
|
2
2
|
|
|
3
|
-
import { errors,
|
|
3
|
+
import { errors, HTTPMethod, logger, router } from '@powersync/lib-services-framework';
|
|
4
4
|
import { Context, ContextProvider, RequestEndpoint, RequestEndpointHandlerPayload } from './router.js';
|
|
5
5
|
|
|
6
6
|
export type FastifyEndpoint<I, O, C> = RequestEndpoint<I, O, C> & {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
+
import { IReactiveStream, ReactiveSocketRouter } from '@powersync/service-rsocket-router';
|
|
1
2
|
import * as t from 'ts-codec';
|
|
2
|
-
import { ReactiveSocketRouter, IReactiveStream } from '@powersync/service-rsocket-router';
|
|
3
3
|
|
|
4
4
|
import { Context } from './router.js';
|
|
5
5
|
|
|
6
|
-
export const RSocketContextMeta = t.object({
|
|
7
|
-
token: t.string
|
|
8
|
-
});
|
|
9
|
-
|
|
10
6
|
/**
|
|
11
7
|
* Creates a socket route handler given a router instance
|
|
12
8
|
*/
|
|
13
9
|
export type SocketRouteGenerator = (router: ReactiveSocketRouter<Context>) => IReactiveStream;
|
|
10
|
+
|
|
11
|
+
export const RSocketContextMeta = t.object({
|
|
12
|
+
token: t.string
|
|
13
|
+
});
|
package/src/routes/router.ts
CHANGED
package/src/sync/sync-index.ts
CHANGED