@powersync/service-module-postgres-storage 0.0.0-dev-20250819134004 → 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.
@@ -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()
@@ -156,7 +156,7 @@ export class PostgresReportStorageFactory {
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,
@@ -199,7 +199,7 @@ export class PostgresReportStorageFactory {
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
@@ -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() }}
@@ -263,7 +263,7 @@ export class PostgresReportStorageFactory {
263
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-20250819134004",
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-20250819134004",
32
- "@powersync/lib-services-framework": "0.0.0-dev-20250819134004",
33
- "@powersync/service-core": "0.0.0-dev-20250819134004",
34
- "@powersync/service-types": "0.0.0-dev-20250819134004",
35
- "@powersync/service-core-tests": "0.0.0-dev-20250819134004",
36
- "@powersync/service-jpgwire": "0.0.0-dev-20250819134004",
37
- "@powersync/service-jsonbig": "0.0.0-dev-20250819134004",
38
- "@powersync/service-sync-rules": "0.0.0-dev-20250819134004"
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"
@@ -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
 
@@ -63,7 +63,7 @@ export class PostgresReportStorageFactory implements storage.ReportStorage {
63
63
  SELECT
64
64
  *
65
65
  FROM
66
- sdk_report_events
66
+ connection_report_events
67
67
  WHERE
68
68
  disconnected_at IS NULL
69
69
  AND jwt_exp > NOW()
@@ -111,7 +111,7 @@ export class PostgresReportStorageFactory implements storage.ReportStorage {
111
111
  SELECT
112
112
  *
113
113
  FROM
114
- sdk_report_events
114
+ connection_report_events
115
115
  WHERE
116
116
  disconnected_at IS NULL
117
117
  AND jwt_exp > NOW()
@@ -168,7 +168,7 @@ export class PostgresReportStorageFactory implements storage.ReportStorage {
168
168
  const { gte, lt } = this.updateTableFilter();
169
169
  const uuid = v4();
170
170
  const result = await this.db.sql`
171
- UPDATE sdk_report_events
171
+ UPDATE connection_report_events
172
172
  SET
173
173
  connected_at = ${{ type: 1184, value: connectIsoString }},
174
174
  sdk = ${{ type: 'varchar', value: sdk }},
@@ -184,7 +184,7 @@ export class PostgresReportStorageFactory implements storage.ReportStorage {
184
184
  if (result.results[1].status === 'UPDATE 0') {
185
185
  await this.db.sql`
186
186
  INSERT INTO
187
- sdk_report_events (
187
+ connection_report_events (
188
188
  user_id,
189
189
  client_id,
190
190
  connected_at,
@@ -211,7 +211,7 @@ export class PostgresReportStorageFactory implements storage.ReportStorage {
211
211
  const disconnectIsoString = disconnected_at.toISOString();
212
212
  const connectIsoString = connected_at.toISOString();
213
213
  await this.db.sql`
214
- UPDATE sdk_report_events
214
+ UPDATE connection_report_events
215
215
  SET
216
216
  disconnected_at = ${{ type: 1184, value: disconnectIsoString }},
217
217
  jwt_exp = NULL
@@ -236,7 +236,7 @@ export class PostgresReportStorageFactory implements storage.ReportStorage {
236
236
  SELECT
237
237
  *
238
238
  FROM
239
- sdk_report_events
239
+ connection_report_events
240
240
  WHERE
241
241
  connected_at >= ${{ type: 1184, value: start.toISOString() }}
242
242
  AND connected_at <= ${{ type: 1184, value: end.toISOString() }}
@@ -278,7 +278,7 @@ export class PostgresReportStorageFactory implements storage.ReportStorage {
278
278
  async deleteOldConnectionData(data: event_types.DeleteOldConnectionData): Promise<void> {
279
279
  const { date } = data;
280
280
  const result = await this.db.sql`
281
- DELETE FROM sdk_report_events
281
+ DELETE FROM connection_report_events
282
282
  WHERE
283
283
  connected_at < ${{ type: 1184, value: date.toISOString() }}
284
284
  AND (
@@ -292,7 +292,7 @@ export class PostgresReportStorageFactory implements storage.ReportStorage {
292
292
  const deletedRows = toInteger(result.results[1].status.split(' ')[1] || '0');
293
293
  if (deletedRows > 0) {
294
294
  logger.info(
295
- `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.`
296
296
  );
297
297
  }
298
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",
@@ -11,7 +11,7 @@ function removeVolatileFields(sdks: event_types.ClientConnection[]): Partial<eve
11
11
  });
12
12
  }
13
13
 
14
- describe('SDK reporting storage', async () => {
14
+ describe('Connection report storage', async () => {
15
15
  const factory = await POSTGRES_REPORT_STORAGE_FACTORY();
16
16
  const now = new Date();
17
17
  const nowAdd5minutes = new Date(
@@ -103,7 +103,7 @@ describe('SDK reporting storage', async () => {
103
103
  async function loadData() {
104
104
  await factory.db.sql`
105
105
  INSERT INTO
106
- sdk_report_events (
106
+ connection_report_events (
107
107
  user_id,
108
108
  client_id,
109
109
  connected_at,
@@ -188,7 +188,7 @@ describe('SDK reporting storage', async () => {
188
188
  }
189
189
 
190
190
  function deleteData() {
191
- return factory.db.sql`TRUNCATE TABLE sdk_report_events`.execute();
191
+ return factory.db.sql`TRUNCATE TABLE connection_report_events`.execute();
192
192
  }
193
193
 
194
194
  beforeAll(async () => {
@@ -227,21 +227,21 @@ describe('SDK reporting storage', async () => {
227
227
  });
228
228
  expect(current).toMatchSnapshot();
229
229
  });
230
- it('Should show SDK scrape data for user over the past month', async () => {
230
+ it('Should show connection report data for user over the past month', async () => {
231
231
  const sdk = await factory.getClientConnectionReports({
232
232
  start: monthAgo,
233
233
  end: now
234
234
  });
235
235
  expect(sdk).toMatchSnapshot();
236
236
  });
237
- it('Should show SDK scrape data for user over the past week', async () => {
237
+ it('Should show connection report data for user over the past week', async () => {
238
238
  const sdk = await factory.getClientConnectionReports({
239
239
  start: weekAgo,
240
240
  end: now
241
241
  });
242
242
  expect(sdk).toMatchSnapshot();
243
243
  });
244
- it('Should show SDK scrape data for user over the past day', async () => {
244
+ it('Should show connection report data for user over the past day', async () => {
245
245
  const sdk = await factory.getClientConnectionReports({
246
246
  start: dayAgo,
247
247
  end: now
@@ -249,7 +249,7 @@ describe('SDK reporting storage', async () => {
249
249
  expect(sdk).toMatchSnapshot();
250
250
  });
251
251
 
252
- it('Should update a sdk event if its within a day', async () => {
252
+ it('Should update a connection event if its within a day', async () => {
253
253
  const newConnectAt = new Date(
254
254
  now.getFullYear(),
255
255
  now.getMonth(),
@@ -268,7 +268,7 @@ describe('SDK reporting storage', async () => {
268
268
  });
269
269
 
270
270
  const sdk = await factory.db
271
- .sql`SELECT * FROM sdk_report_events WHERE user_id = ${{ type: 'varchar', value: user_one.user_id }}`.rows<event_types.ClientConnection>();
271
+ .sql`SELECT * FROM connection_report_events WHERE user_id = ${{ type: 'varchar', value: user_one.user_id }}`.rows<event_types.ClientConnection>();
272
272
  expect(sdk).toHaveLength(1);
273
273
  expect(new Date(sdk[0].connected_at).toISOString()).toEqual(newConnectAt.toISOString());
274
274
  expect(new Date(sdk[0].jwt_exp!).toISOString()).toEqual(jwtExp.toISOString());
@@ -277,7 +277,7 @@ describe('SDK reporting storage', async () => {
277
277
  expect(cleaned).toMatchSnapshot();
278
278
  });
279
279
 
280
- it('Should update a connected sdk event and make it disconnected', async () => {
280
+ it('Should update a connection event and make it disconnected', async () => {
281
281
  const disconnectAt = new Date(
282
282
  now.getFullYear(),
283
283
  now.getMonth(),
@@ -297,14 +297,14 @@ describe('SDK reporting storage', async () => {
297
297
  });
298
298
 
299
299
  const sdk = await factory.db
300
- .sql`SELECT * FROM sdk_report_events WHERE user_id = ${{ type: 'varchar', value: user_three.user_id }}`.rows<event_types.ClientConnection>();
300
+ .sql`SELECT * FROM connection_report_events WHERE user_id = ${{ type: 'varchar', value: user_three.user_id }}`.rows<event_types.ClientConnection>();
301
301
  expect(sdk).toHaveLength(1);
302
302
  expect(new Date(sdk[0].disconnected_at!).toISOString()).toEqual(disconnectAt.toISOString());
303
303
  const cleaned = removeVolatileFields(sdk);
304
304
  expect(cleaned).toMatchSnapshot();
305
305
  });
306
306
 
307
- it('Should create a sdk event if its after a day', async () => {
307
+ it('Should create a connection event if its after a day', async () => {
308
308
  const newConnectAt = new Date(now.getFullYear(), now.getMonth(), now.getDate() + 1, now.getHours());
309
309
  const jwtExp = new Date(newConnectAt.getFullYear(), newConnectAt.getMonth(), newConnectAt.getDate() + 1);
310
310
 
@@ -318,7 +318,7 @@ describe('SDK reporting storage', async () => {
318
318
  });
319
319
 
320
320
  const sdk = await factory.db
321
- .sql`SELECT * FROM sdk_report_events WHERE user_id = ${{ type: 'varchar', value: user_week.user_id }}`.rows<event_types.ClientConnection>();
321
+ .sql`SELECT * FROM connection_report_events WHERE user_id = ${{ type: 'varchar', value: user_week.user_id }}`.rows<event_types.ClientConnection>();
322
322
  expect(sdk).toHaveLength(2);
323
323
  const cleaned = removeVolatileFields(sdk);
324
324
  expect(cleaned).toMatchSnapshot();