@powersync/service-module-postgres-storage 0.0.0-dev-20250818104041 → 0.0.0-dev-20250820110726

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.
@@ -1,8 +1,8 @@
1
1
  import { storage } from '@powersync/service-core';
2
2
  import * as pg_wire from '@powersync/service-jpgwire';
3
+ import { event_types } from '@powersync/service-types';
3
4
  import * as lib_postgres from '@powersync/lib-service-postgres';
4
5
  import { NormalizedPostgresStorageConfig } from '../types/types.js';
5
- import { DeleteOldSdkData, ListCurrentConnectionsRequest, ScrapeSdkDataRequest, SdkConnectBucketData, SdkConnections, SdkDisconnectEventData } from '@powersync/service-types/src/events.js';
6
6
  export type PostgresReportStorageOptions = {
7
7
  config: NormalizedPostgresStorageConfig;
8
8
  };
@@ -14,11 +14,11 @@ export declare class PostgresReportStorageFactory implements storage.ReportStora
14
14
  private mapListCurrentConnectionsResponse;
15
15
  private listConnectionsQuery;
16
16
  private updateTableFilter;
17
- reportSdkConnect(data: SdkConnectBucketData): Promise<void>;
18
- reportSdkDisconnect(data: SdkDisconnectEventData): Promise<void>;
19
- listCurrentConnections(data: ListCurrentConnectionsRequest): Promise<SdkConnections>;
20
- scrapeSdkData(data: ScrapeSdkDataRequest): Promise<SdkConnections>;
21
- deleteOldSdkData(data: DeleteOldSdkData): Promise<void>;
17
+ reportClientConnection(data: event_types.ClientConnectionBucketData): Promise<void>;
18
+ reportClientDisconnection(data: event_types.ClientDisconnectionEventData): Promise<void>;
19
+ getConnectedClients(data: event_types.ClientConnectionsRequest): Promise<event_types.ClientConnectionReport>;
20
+ getClientConnectionReports(data: event_types.ClientConnectionReportRequest): Promise<event_types.ClientConnectionReport>;
21
+ deleteOldConnectionData(data: event_types.DeleteOldConnectionData): Promise<void>;
22
22
  [Symbol.asyncDispose](): Promise<void>;
23
23
  prepareStatements(connection: pg_wire.PgConnection): Promise<void>;
24
24
  }
@@ -165,7 +165,7 @@ export const up = async (context) => {
165
165
  );
166
166
  `.execute();
167
167
  await db.sql `
168
- CREATE TABLE sdk_report_events (
168
+ CREATE TABLE connection_report_events (
169
169
  id TEXT PRIMARY KEY,
170
170
  user_agent TEXT NOT NULL,
171
171
  client_id TEXT NOT NULL,
@@ -176,10 +176,12 @@ export const up = async (context) => {
176
176
  disconnected_at TIMESTAMP WITH TIME ZONE
177
177
  )
178
178
  `.execute();
179
- await db.sql ` CREATE INDEX sdk_list_index ON sdk_report_events (connected_at, jwt_exp, disconnected_at) `.execute();
180
- await db.sql `CREATE INDEX sdk_user_id_index ON sdk_report_events (user_id)`.execute();
181
- await db.sql `CREATE INDEX sdk_client_id_index ON sdk_report_events (client_id)`.execute();
182
- await db.sql `CREATE INDEX sdk_index ON sdk_report_events (sdk)`.execute();
179
+ await db.sql `
180
+ CREATE INDEX sdk_list_index ON connection_report_events (connected_at, jwt_exp, disconnected_at)
181
+ `.execute();
182
+ await db.sql `CREATE INDEX sdk_user_id_index ON connection_report_events (user_id)`.execute();
183
+ await db.sql `CREATE INDEX sdk_client_id_index ON connection_report_events (client_id)`.execute();
184
+ await db.sql `CREATE INDEX sdk_index ON connection_report_events (sdk)`.execute();
183
185
  });
184
186
  }
185
187
  catch (e_1) {
@@ -1 +1 @@
1
- {"version":3,"file":"1684951997326-init.js","sourceRoot":"","sources":["../../../src/migrations/scripts/1684951997326-init.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,CAAC,MAAM,EAAE,GAA0C,KAAK,EAAE,OAAO,EAAE,EAAE;;;QACzE,MAAM,EACJ,eAAe,EAAE,EAAE,aAAa,EAAE,EACnC,GAAG,OAAO,CAAC;QACZ,MAAY,MAAM,kCAAG,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC,OAAA,CAAC;QAE5D;;;WAGG;QACH,MAAM,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YACpC,MAAM,EAAE,CAAC,GAAG,CAAA;;;;KAIX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA;;;;KAIX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;KAeX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA,8CAA8C,CAAC,OAAO,EAAE,CAAC;YAErE,MAAM,EAAE,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;KAeX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA;;;;;;;;;;;KAWX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA;;KAEX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA;;KAEX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA;;;;;;;;;;KAUX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA;;;;;;;;;;;;;KAaX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA,0EAA0E,CAAC,OAAO,EAAE,CAAC;YAEjG,MAAM,EAAE,CAAC,GAAG,CAAA;;;;;;KAMX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA;;;;;;;KAOX,CAAC,OAAO,EAAE,CAAC;YACZ,MAAM,EAAE,CAAC,GAAG,CAAA;;;;;;;;;;;KAWX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA,6FAA6F,CAAC,OAAO,EAAE,CAAC;YAEpH,MAAM,EAAE,CAAC,GAAG,CAAA,+DAA+D,CAAC,OAAO,EAAE,CAAC;YAEtF,MAAM,EAAE,CAAC,GAAG,CAAA,mEAAmE,CAAC,OAAO,EAAE,CAAC;YAE1F,MAAM,EAAE,CAAC,GAAG,CAAA,mDAAmD,CAAC,OAAO,EAAE,CAAC;QAC5E,CAAC,CAAC,CAAC;;;;;;;;;;;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAA0C,KAAK,EAAE,OAAO,EAAE,EAAE;;;QAC3E,MAAM,EACJ,eAAe,EAAE,EAAE,aAAa,EAAE,EACnC,GAAG,OAAO,CAAC;QACZ,MAAY,MAAM,kCAAG,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC,OAAA,CAAC;QAC5D,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;;;;;;;;;;;CAC1B,CAAC"}
1
+ {"version":3,"file":"1684951997326-init.js","sourceRoot":"","sources":["../../../src/migrations/scripts/1684951997326-init.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,CAAC,MAAM,EAAE,GAA0C,KAAK,EAAE,OAAO,EAAE,EAAE;;;QACzE,MAAM,EACJ,eAAe,EAAE,EAAE,aAAa,EAAE,EACnC,GAAG,OAAO,CAAC;QACZ,MAAY,MAAM,kCAAG,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC,OAAA,CAAC;QAE5D;;;WAGG;QACH,MAAM,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YACpC,MAAM,EAAE,CAAC,GAAG,CAAA;;;;KAIX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA;;;;KAIX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;KAeX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA,8CAA8C,CAAC,OAAO,EAAE,CAAC;YAErE,MAAM,EAAE,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;KAeX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA;;;;;;;;;;;KAWX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA;;KAEX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA;;KAEX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA;;;;;;;;;;KAUX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA;;;;;;;;;;;;;KAaX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA,0EAA0E,CAAC,OAAO,EAAE,CAAC;YAEjG,MAAM,EAAE,CAAC,GAAG,CAAA;;;;;;KAMX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA;;;;;;;KAOX,CAAC,OAAO,EAAE,CAAC;YACZ,MAAM,EAAE,CAAC,GAAG,CAAA;;;;;;;;;;;KAWX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA;;KAEX,CAAC,OAAO,EAAE,CAAC;YAEZ,MAAM,EAAE,CAAC,GAAG,CAAA,sEAAsE,CAAC,OAAO,EAAE,CAAC;YAE7F,MAAM,EAAE,CAAC,GAAG,CAAA,0EAA0E,CAAC,OAAO,EAAE,CAAC;YAEjG,MAAM,EAAE,CAAC,GAAG,CAAA,0DAA0D,CAAC,OAAO,EAAE,CAAC;QACnF,CAAC,CAAC,CAAC;;;;;;;;;;;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAA0C,KAAK,EAAE,OAAO,EAAE,EAAE;;;QAC3E,MAAM,EACJ,eAAe,EAAE,EAAE,aAAa,EAAE,EACnC,GAAG,OAAO,CAAC;QACZ,MAAY,MAAM,kCAAG,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC,OAAA,CAAC;QAC5D,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;;;;;;;;;;;CAC1B,CAAC"}
@@ -53,7 +53,7 @@ export class PostgresReportStorageFactory {
53
53
  SELECT
54
54
  *
55
55
  FROM
56
- sdk_report_events
56
+ connection_report_events
57
57
  WHERE
58
58
  disconnected_at IS NULL
59
59
  AND jwt_exp > NOW()
@@ -101,7 +101,7 @@ export class PostgresReportStorageFactory {
101
101
  SELECT
102
102
  *
103
103
  FROM
104
- sdk_report_events
104
+ connection_report_events
105
105
  WHERE
106
106
  disconnected_at IS NULL
107
107
  AND jwt_exp > NOW()
@@ -149,14 +149,14 @@ export class PostgresReportStorageFactory {
149
149
  lt: new Date(year, month, nextDay).toISOString()
150
150
  };
151
151
  }
152
- async reportSdkConnect(data) {
152
+ async reportClientConnection(data) {
153
153
  const { sdk, connected_at, user_id, user_agent, jwt_exp, client_id } = data;
154
154
  const connectIsoString = connected_at.toISOString();
155
155
  const jwtExpIsoString = jwt_exp.toISOString();
156
156
  const { gte, lt } = this.updateTableFilter();
157
157
  const uuid = v4();
158
158
  const result = await this.db.sql `
159
- UPDATE sdk_report_events
159
+ UPDATE connection_report_events
160
160
  SET
161
161
  connected_at = ${{ type: 1184, value: connectIsoString }},
162
162
  sdk = ${{ type: 'varchar', value: sdk }},
@@ -172,7 +172,7 @@ export class PostgresReportStorageFactory {
172
172
  if (result.results[1].status === 'UPDATE 0') {
173
173
  await this.db.sql `
174
174
  INSERT INTO
175
- sdk_report_events (
175
+ connection_report_events (
176
176
  user_id,
177
177
  client_id,
178
178
  connected_at,
@@ -194,12 +194,12 @@ export class PostgresReportStorageFactory {
194
194
  `.execute();
195
195
  }
196
196
  }
197
- async reportSdkDisconnect(data) {
197
+ async reportClientDisconnection(data) {
198
198
  const { user_id, client_id, disconnected_at, connected_at } = data;
199
199
  const disconnectIsoString = disconnected_at.toISOString();
200
200
  const connectIsoString = connected_at.toISOString();
201
201
  await this.db.sql `
202
- UPDATE sdk_report_events
202
+ UPDATE connection_report_events
203
203
  SET
204
204
  disconnected_at = ${{ type: 1184, value: disconnectIsoString }},
205
205
  jwt_exp = NULL
@@ -209,11 +209,11 @@ export class PostgresReportStorageFactory {
209
209
  AND connected_at = ${{ type: 1184, value: connectIsoString }}
210
210
  `.execute();
211
211
  }
212
- async listCurrentConnections(data) {
212
+ async getConnectedClients(data) {
213
213
  const result = await this.listConnectionsQuery(data);
214
214
  return this.mapListCurrentConnectionsResponse(result);
215
215
  }
216
- async scrapeSdkData(data) {
216
+ async getClientConnectionReports(data) {
217
217
  const { start, end } = data;
218
218
  const result = await this.db.sql `
219
219
  WITH
@@ -221,7 +221,7 @@ export class PostgresReportStorageFactory {
221
221
  SELECT
222
222
  *
223
223
  FROM
224
- sdk_report_events
224
+ connection_report_events
225
225
  WHERE
226
226
  connected_at >= ${{ type: 1184, value: start.toISOString() }}
227
227
  AND connected_at <= ${{ type: 1184, value: end.toISOString() }}
@@ -260,10 +260,10 @@ export class PostgresReportStorageFactory {
260
260
  .first();
261
261
  return this.mapListCurrentConnectionsResponse(result);
262
262
  }
263
- async deleteOldSdkData(data) {
263
+ async deleteOldConnectionData(data) {
264
264
  const { date } = data;
265
265
  const result = await this.db.sql `
266
- DELETE FROM sdk_report_events
266
+ DELETE FROM connection_report_events
267
267
  WHERE
268
268
  connected_at < ${{ type: 1184, value: date.toISOString() }}
269
269
  AND (
@@ -276,7 +276,7 @@ export class PostgresReportStorageFactory {
276
276
  `.execute();
277
277
  const deletedRows = toInteger(result.results[1].status.split(' ')[1] || '0');
278
278
  if (deletedRows > 0) {
279
- logger.info(`TTL from ${date.toISOString()}: ${deletedRows} PostgresSQL rows have been removed from sdk_report_events.`);
279
+ logger.info(`TTL from ${date.toISOString()}: ${deletedRows} PostgresSQL rows have been removed from connection_report_events.`);
280
280
  }
281
281
  }
282
282
  async [Symbol.asyncDispose]() {
@@ -1 +1 @@
1
- {"version":3,"file":"PostgresReportStorageFactory.js","sourceRoot":"","sources":["../../src/storage/PostgresReportStorageFactory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PostgresReportStorageFactory.js","sourceRoot":"","sources":["../../src/storage/PostgresReportStorageFactory.ts"],"names":[],"mappings":"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"}
package/dist/utils/db.js CHANGED
@@ -19,7 +19,7 @@ export const dropTables = async (client) => {
19
19
  await db.sql `DROP TABLE IF EXISTS custom_write_checkpoints`.execute();
20
20
  await db.sql `DROP SEQUENCE IF EXISTS op_id_sequence`.execute();
21
21
  await db.sql `DROP SEQUENCE IF EXISTS sync_rules_id_sequence`.execute();
22
- await db.sql `DROP TABLE IF EXISTS sdk_report_events`.execute();
22
+ await db.sql `DROP TABLE IF EXISTS connection_report_events`.execute();
23
23
  });
24
24
  };
25
25
  //# sourceMappingURL=db.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/utils/db.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,iCAAiC,CAAC;AAEhE,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC;AAE/C,MAAM,CAAC,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AAE3D;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC;AAEpC,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAAE,MAAmC,EAAE,EAAE;IACtE,sDAAsD;IACtD,MAAM,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;QACvC,MAAM,EAAE,CAAC,GAAG,CAAA,kCAAkC,CAAC,OAAO,EAAE,CAAC;QACzD,MAAM,EAAE,CAAC,GAAG,CAAA,wCAAwC,CAAC,OAAO,EAAE,CAAC;QAC/D,MAAM,EAAE,CAAC,GAAG,CAAA,iCAAiC,CAAC,OAAO,EAAE,CAAC;QACxD,MAAM,EAAE,CAAC,GAAG,CAAA,+BAA+B,CAAC,OAAO,EAAE,CAAC;QACtD,MAAM,EAAE,CAAC,GAAG,CAAA,kCAAkC,CAAC,OAAO,EAAE,CAAC;QACzD,MAAM,EAAE,CAAC,GAAG,CAAA,mCAAmC,CAAC,OAAO,EAAE,CAAC;QAC1D,MAAM,EAAE,CAAC,GAAG,CAAA,oCAAoC,CAAC,OAAO,EAAE,CAAC;QAC3D,MAAM,EAAE,CAAC,GAAG,CAAA,wCAAwC,CAAC,OAAO,EAAE,CAAC;QAC/D,MAAM,EAAE,CAAC,GAAG,CAAA,+CAA+C,CAAC,OAAO,EAAE,CAAC;QACtE,MAAM,EAAE,CAAC,GAAG,CAAA,wCAAwC,CAAC,OAAO,EAAE,CAAC;QAC/D,MAAM,EAAE,CAAC,GAAG,CAAA,gDAAgD,CAAC,OAAO,EAAE,CAAC;QACvE,MAAM,EAAE,CAAC,GAAG,CAAA,wCAAwC,CAAC,OAAO,EAAE,CAAC;IACjE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/utils/db.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,iCAAiC,CAAC;AAEhE,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC;AAE/C,MAAM,CAAC,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AAE3D;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC;AAEpC,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAAE,MAAmC,EAAE,EAAE;IACtE,sDAAsD;IACtD,MAAM,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;QACvC,MAAM,EAAE,CAAC,GAAG,CAAA,kCAAkC,CAAC,OAAO,EAAE,CAAC;QACzD,MAAM,EAAE,CAAC,GAAG,CAAA,wCAAwC,CAAC,OAAO,EAAE,CAAC;QAC/D,MAAM,EAAE,CAAC,GAAG,CAAA,iCAAiC,CAAC,OAAO,EAAE,CAAC;QACxD,MAAM,EAAE,CAAC,GAAG,CAAA,+BAA+B,CAAC,OAAO,EAAE,CAAC;QACtD,MAAM,EAAE,CAAC,GAAG,CAAA,kCAAkC,CAAC,OAAO,EAAE,CAAC;QACzD,MAAM,EAAE,CAAC,GAAG,CAAA,mCAAmC,CAAC,OAAO,EAAE,CAAC;QAC1D,MAAM,EAAE,CAAC,GAAG,CAAA,oCAAoC,CAAC,OAAO,EAAE,CAAC;QAC3D,MAAM,EAAE,CAAC,GAAG,CAAA,wCAAwC,CAAC,OAAO,EAAE,CAAC;QAC/D,MAAM,EAAE,CAAC,GAAG,CAAA,+CAA+C,CAAC,OAAO,EAAE,CAAC;QACtE,MAAM,EAAE,CAAC,GAAG,CAAA,wCAAwC,CAAC,OAAO,EAAE,CAAC;QAC/D,MAAM,EAAE,CAAC,GAAG,CAAA,gDAAgD,CAAC,OAAO,EAAE,CAAC;QACvE,MAAM,EAAE,CAAC,GAAG,CAAA,+CAA+C,CAAC,OAAO,EAAE,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@powersync/service-module-postgres-storage",
3
3
  "repository": "https://github.com/powersync-ja/powersync-service",
4
4
  "types": "dist/@types/index.d.ts",
5
- "version": "0.0.0-dev-20250818104041",
5
+ "version": "0.0.0-dev-20250820110726",
6
6
  "main": "dist/index.js",
7
7
  "type": "module",
8
8
  "publishConfig": {
@@ -28,14 +28,14 @@
28
28
  "p-defer": "^4.0.1",
29
29
  "ts-codec": "^1.3.0",
30
30
  "uuid": "^11.1.0",
31
- "@powersync/lib-service-postgres": "0.0.0-dev-20250818104041",
32
- "@powersync/lib-services-framework": "0.0.0-dev-20250818104041",
33
- "@powersync/service-core": "0.0.0-dev-20250818104041",
34
- "@powersync/service-types": "0.0.0-dev-20250818104041",
35
- "@powersync/service-core-tests": "0.0.0-dev-20250818104041",
36
- "@powersync/service-jpgwire": "0.0.0-dev-20250818104041",
37
- "@powersync/service-jsonbig": "0.0.0-dev-20250818104041",
38
- "@powersync/service-sync-rules": "0.0.0-dev-20250818104041"
31
+ "@powersync/lib-service-postgres": "0.0.0-dev-20250820110726",
32
+ "@powersync/lib-services-framework": "0.0.0-dev-20250820110726",
33
+ "@powersync/service-core": "0.0.0-dev-20250820110726",
34
+ "@powersync/service-types": "0.0.0-dev-20250820110726",
35
+ "@powersync/service-core-tests": "0.0.0-dev-20250820110726",
36
+ "@powersync/service-jpgwire": "0.0.0-dev-20250820110726",
37
+ "@powersync/service-jsonbig": "0.0.0-dev-20250820110726",
38
+ "@powersync/service-sync-rules": "0.0.0-dev-20250820110726"
39
39
  },
40
40
  "devDependencies": {
41
41
  "typescript": "^5.7.3"
@@ -43,7 +43,7 @@
43
43
  "scripts": {
44
44
  "build": "tsc -b",
45
45
  "build:tests": "tsc -b test/tsconfig.json",
46
- "clean": "rm -rf ./lib && tsc -b --clean",
46
+ "clean": "rm -rf ./dist && tsc -b --clean",
47
47
  "test": "vitest"
48
48
  }
49
49
  }
@@ -129,7 +129,7 @@ export const up: migrations.PowerSyncMigrationFunction = async (context) => {
129
129
  );
130
130
  `.execute();
131
131
  await db.sql`
132
- CREATE TABLE sdk_report_events (
132
+ CREATE TABLE connection_report_events (
133
133
  id TEXT PRIMARY KEY,
134
134
  user_agent TEXT NOT NULL,
135
135
  client_id TEXT NOT NULL,
@@ -141,13 +141,15 @@ export const up: migrations.PowerSyncMigrationFunction = async (context) => {
141
141
  )
142
142
  `.execute();
143
143
 
144
- await db.sql` CREATE INDEX sdk_list_index ON sdk_report_events (connected_at, jwt_exp, disconnected_at) `.execute();
144
+ await db.sql`
145
+ CREATE INDEX sdk_list_index ON connection_report_events (connected_at, jwt_exp, disconnected_at)
146
+ `.execute();
145
147
 
146
- await db.sql`CREATE INDEX sdk_user_id_index ON sdk_report_events (user_id)`.execute();
148
+ await db.sql`CREATE INDEX sdk_user_id_index ON connection_report_events (user_id)`.execute();
147
149
 
148
- await db.sql`CREATE INDEX sdk_client_id_index ON sdk_report_events (client_id)`.execute();
150
+ await db.sql`CREATE INDEX sdk_client_id_index ON connection_report_events (client_id)`.execute();
149
151
 
150
- await db.sql`CREATE INDEX sdk_index ON sdk_report_events (sdk)`.execute();
152
+ await db.sql`CREATE INDEX sdk_index ON connection_report_events (sdk)`.execute();
151
153
  });
152
154
  };
153
155
 
@@ -4,14 +4,6 @@ import { event_types } from '@powersync/service-types';
4
4
  import { v4 } from 'uuid';
5
5
  import * as lib_postgres from '@powersync/lib-service-postgres';
6
6
  import { NormalizedPostgresStorageConfig } from '../types/types.js';
7
- import {
8
- DeleteOldSdkData,
9
- ListCurrentConnectionsRequest,
10
- ScrapeSdkDataRequest,
11
- SdkConnectBucketData,
12
- SdkConnections,
13
- SdkDisconnectEventData
14
- } from '@powersync/service-types/src/events.js';
15
7
  import { SdkReporting, SdkReportingDecoded } from '../types/models/SdkReporting.js';
16
8
  import { toInteger } from 'ix/util/tointeger.js';
17
9
  import { logger } from '@powersync/lib-services-framework';
@@ -50,7 +42,7 @@ export class PostgresReportStorageFactory implements storage.ReportStorage {
50
42
  };
51
43
  }
52
44
 
53
- private mapListCurrentConnectionsResponse(result: SdkReportingDecoded | null): SdkConnections {
45
+ private mapListCurrentConnectionsResponse(result: SdkReportingDecoded | null): event_types.ClientConnectionReport {
54
46
  if (!result) {
55
47
  return {
56
48
  users: 0,
@@ -62,7 +54,7 @@ export class PostgresReportStorageFactory implements storage.ReportStorage {
62
54
  sdks: result.sdks?.data || []
63
55
  };
64
56
  }
65
- private async listConnectionsQuery(data: event_types.ListCurrentConnectionsRequest) {
57
+ private async listConnectionsQuery(data: event_types.ClientConnectionsRequest) {
66
58
  const { range } = data;
67
59
  if (!range) {
68
60
  return this.db.sql`
@@ -71,7 +63,7 @@ export class PostgresReportStorageFactory implements storage.ReportStorage {
71
63
  SELECT
72
64
  *
73
65
  FROM
74
- sdk_report_events
66
+ connection_report_events
75
67
  WHERE
76
68
  disconnected_at IS NULL
77
69
  AND jwt_exp > NOW()
@@ -119,7 +111,7 @@ export class PostgresReportStorageFactory implements storage.ReportStorage {
119
111
  SELECT
120
112
  *
121
113
  FROM
122
- sdk_report_events
114
+ connection_report_events
123
115
  WHERE
124
116
  disconnected_at IS NULL
125
117
  AND jwt_exp > NOW()
@@ -169,14 +161,14 @@ export class PostgresReportStorageFactory implements storage.ReportStorage {
169
161
  };
170
162
  }
171
163
 
172
- async reportSdkConnect(data: SdkConnectBucketData): Promise<void> {
164
+ async reportClientConnection(data: event_types.ClientConnectionBucketData): Promise<void> {
173
165
  const { sdk, connected_at, user_id, user_agent, jwt_exp, client_id } = data;
174
166
  const connectIsoString = connected_at.toISOString();
175
167
  const jwtExpIsoString = jwt_exp!.toISOString();
176
168
  const { gte, lt } = this.updateTableFilter();
177
169
  const uuid = v4();
178
170
  const result = await this.db.sql`
179
- UPDATE sdk_report_events
171
+ UPDATE connection_report_events
180
172
  SET
181
173
  connected_at = ${{ type: 1184, value: connectIsoString }},
182
174
  sdk = ${{ type: 'varchar', value: sdk }},
@@ -192,7 +184,7 @@ export class PostgresReportStorageFactory implements storage.ReportStorage {
192
184
  if (result.results[1].status === 'UPDATE 0') {
193
185
  await this.db.sql`
194
186
  INSERT INTO
195
- sdk_report_events (
187
+ connection_report_events (
196
188
  user_id,
197
189
  client_id,
198
190
  connected_at,
@@ -214,12 +206,12 @@ export class PostgresReportStorageFactory implements storage.ReportStorage {
214
206
  `.execute();
215
207
  }
216
208
  }
217
- async reportSdkDisconnect(data: SdkDisconnectEventData): Promise<void> {
209
+ async reportClientDisconnection(data: event_types.ClientDisconnectionEventData): Promise<void> {
218
210
  const { user_id, client_id, disconnected_at, connected_at } = data;
219
211
  const disconnectIsoString = disconnected_at.toISOString();
220
212
  const connectIsoString = connected_at.toISOString();
221
213
  await this.db.sql`
222
- UPDATE sdk_report_events
214
+ UPDATE connection_report_events
223
215
  SET
224
216
  disconnected_at = ${{ type: 1184, value: disconnectIsoString }},
225
217
  jwt_exp = NULL
@@ -229,12 +221,14 @@ export class PostgresReportStorageFactory implements storage.ReportStorage {
229
221
  AND connected_at = ${{ type: 1184, value: connectIsoString }}
230
222
  `.execute();
231
223
  }
232
- async listCurrentConnections(data: ListCurrentConnectionsRequest): Promise<SdkConnections> {
224
+ async getConnectedClients(data: event_types.ClientConnectionsRequest): Promise<event_types.ClientConnectionReport> {
233
225
  const result = await this.listConnectionsQuery(data);
234
226
  return this.mapListCurrentConnectionsResponse(result);
235
227
  }
236
228
 
237
- async scrapeSdkData(data: ScrapeSdkDataRequest): Promise<SdkConnections> {
229
+ async getClientConnectionReports(
230
+ data: event_types.ClientConnectionReportRequest
231
+ ): Promise<event_types.ClientConnectionReport> {
238
232
  const { start, end } = data;
239
233
  const result = await this.db.sql`
240
234
  WITH
@@ -242,7 +236,7 @@ export class PostgresReportStorageFactory implements storage.ReportStorage {
242
236
  SELECT
243
237
  *
244
238
  FROM
245
- sdk_report_events
239
+ connection_report_events
246
240
  WHERE
247
241
  connected_at >= ${{ type: 1184, value: start.toISOString() }}
248
242
  AND connected_at <= ${{ type: 1184, value: end.toISOString() }}
@@ -281,10 +275,10 @@ export class PostgresReportStorageFactory implements storage.ReportStorage {
281
275
  .first();
282
276
  return this.mapListCurrentConnectionsResponse(result);
283
277
  }
284
- async deleteOldSdkData(data: DeleteOldSdkData): Promise<void> {
278
+ async deleteOldConnectionData(data: event_types.DeleteOldConnectionData): Promise<void> {
285
279
  const { date } = data;
286
280
  const result = await this.db.sql`
287
- DELETE FROM sdk_report_events
281
+ DELETE FROM connection_report_events
288
282
  WHERE
289
283
  connected_at < ${{ type: 1184, value: date.toISOString() }}
290
284
  AND (
@@ -298,7 +292,7 @@ export class PostgresReportStorageFactory implements storage.ReportStorage {
298
292
  const deletedRows = toInteger(result.results[1].status.split(' ')[1] || '0');
299
293
  if (deletedRows > 0) {
300
294
  logger.info(
301
- `TTL from ${date.toISOString()}: ${deletedRows} PostgresSQL rows have been removed from sdk_report_events.`
295
+ `TTL from ${date.toISOString()}: ${deletedRows} PostgresSQL rows have been removed from connection_report_events.`
302
296
  );
303
297
  }
304
298
  }
package/src/utils/db.ts CHANGED
@@ -23,6 +23,6 @@ export const dropTables = async (client: lib_postgres.DatabaseClient) => {
23
23
  await db.sql`DROP TABLE IF EXISTS custom_write_checkpoints`.execute();
24
24
  await db.sql`DROP SEQUENCE IF EXISTS op_id_sequence`.execute();
25
25
  await db.sql`DROP SEQUENCE IF EXISTS sync_rules_id_sequence`.execute();
26
- await db.sql`DROP TABLE IF EXISTS sdk_report_events`.execute();
26
+ await db.sql`DROP TABLE IF EXISTS connection_report_events`.execute();
27
27
  });
28
28
  };
@@ -1,6 +1,6 @@
1
1
  // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
2
 
3
- exports[`SDK reporting storage > Should create a sdk event if its after a day 1`] = `
3
+ exports[`Connection report storage > Should create a connection event if its after a day 1`] = `
4
4
  [
5
5
  {
6
6
  "client_id": "client_week",
@@ -17,7 +17,24 @@ exports[`SDK reporting storage > Should create a sdk event if its after a day 1`
17
17
  ]
18
18
  `;
19
19
 
20
- exports[`SDK reporting storage > Should delete rows older than specified range 1`] = `
20
+ exports[`Connection report storage > Should create a sdk event if its after a day 1`] = `
21
+ [
22
+ {
23
+ "client_id": "client_week",
24
+ "sdk": "powersync-js/1.24.5",
25
+ "user_agent": "powersync-js/1.21.0 powersync-web Firefox/141 linux",
26
+ "user_id": "user_week",
27
+ },
28
+ {
29
+ "client_id": "client_week",
30
+ "sdk": "powersync-js/1.24.5",
31
+ "user_agent": "powersync-js/1.21.0 powersync-web Firefox/141 linux",
32
+ "user_id": "user_week",
33
+ },
34
+ ]
35
+ `;
36
+
37
+ exports[`Connection report storage > Should delete rows older than specified range 1`] = `
21
38
  {
22
39
  "sdks": [
23
40
  {
@@ -50,7 +67,33 @@ exports[`SDK reporting storage > Should delete rows older than specified range 1
50
67
  }
51
68
  `;
52
69
 
53
- exports[`SDK reporting storage > Should show SDK scrape data for user over the past day 1`] = `
70
+ exports[`Connection report storage > Should show connected users with start range 1`] = `
71
+ {
72
+ "sdks": [
73
+ {
74
+ "clients": 1,
75
+ "sdk": "powersync-dart/1.6.4",
76
+ "users": 1,
77
+ },
78
+ ],
79
+ "users": 1,
80
+ }
81
+ `;
82
+
83
+ exports[`Connection report storage > Should show connected users with start range and end range 1`] = `
84
+ {
85
+ "sdks": [
86
+ {
87
+ "clients": 1,
88
+ "sdk": "powersync-js/1.21.1",
89
+ "users": 1,
90
+ },
91
+ ],
92
+ "users": 1,
93
+ }
94
+ `;
95
+
96
+ exports[`Connection report storage > Should show connection report data for user over the past day 1`] = `
54
97
  {
55
98
  "sdks": [
56
99
  {
@@ -73,7 +116,7 @@ exports[`SDK reporting storage > Should show SDK scrape data for user over the p
73
116
  }
74
117
  `;
75
118
 
76
- exports[`SDK reporting storage > Should show SDK scrape data for user over the past month 1`] = `
119
+ exports[`Connection report storage > Should show connection report data for user over the past month 1`] = `
77
120
  {
78
121
  "sdks": [
79
122
  {
@@ -116,7 +159,7 @@ exports[`SDK reporting storage > Should show SDK scrape data for user over the p
116
159
  }
117
160
  `;
118
161
 
119
- exports[`SDK reporting storage > Should show SDK scrape data for user over the past week 1`] = `
162
+ exports[`Connection report storage > Should show connection report data for user over the past week 1`] = `
120
163
  {
121
164
  "sdks": [
122
165
  {
@@ -149,33 +192,18 @@ exports[`SDK reporting storage > Should show SDK scrape data for user over the p
149
192
  }
150
193
  `;
151
194
 
152
- exports[`SDK reporting storage > Should show connected users with start range 1`] = `
153
- {
154
- "sdks": [
155
- {
156
- "clients": 1,
157
- "sdk": "powersync-dart/1.6.4",
158
- "users": 1,
159
- },
160
- ],
161
- "users": 1,
162
- }
163
- `;
164
-
165
- exports[`SDK reporting storage > Should show connected users with start range and end range 1`] = `
166
- {
167
- "sdks": [
168
- {
169
- "clients": 1,
170
- "sdk": "powersync-js/1.21.1",
171
- "users": 1,
172
- },
173
- ],
174
- "users": 1,
175
- }
195
+ exports[`Connection report storage > Should update a connected sdk event and make it disconnected 1`] = `
196
+ [
197
+ {
198
+ "client_id": "client_three",
199
+ "sdk": "powersync-js/1.21.2",
200
+ "user_agent": "powersync-js/1.21.0 powersync-web Firefox/141 linux",
201
+ "user_id": "user_three",
202
+ },
203
+ ]
176
204
  `;
177
205
 
178
- exports[`SDK reporting storage > Should update a connected sdk event and make it disconnected 1`] = `
206
+ exports[`Connection report storage > Should update a connection event and make it disconnected 1`] = `
179
207
  [
180
208
  {
181
209
  "client_id": "client_three",
@@ -186,7 +214,18 @@ exports[`SDK reporting storage > Should update a connected sdk event and make it
186
214
  ]
187
215
  `;
188
216
 
189
- exports[`SDK reporting storage > Should update a sdk event if its within a day 1`] = `
217
+ exports[`Connection report storage > Should update a connection event if its within a day 1`] = `
218
+ [
219
+ {
220
+ "client_id": "client_one",
221
+ "sdk": "powersync-dart/1.6.4",
222
+ "user_agent": "powersync-dart/1.6.4 Dart (flutter-web) Chrome/128 android",
223
+ "user_id": "user_one",
224
+ },
225
+ ]
226
+ `;
227
+
228
+ exports[`Connection report storage > Should update a sdk event if its within a day 1`] = `
190
229
  [
191
230
  {
192
231
  "client_id": "client_one",