@powersync/service-module-postgres-storage 0.0.0-dev-20250820110726 → 0.0.0-dev-20250825132649
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 +11 -9
- package/dist/.tsbuildinfo +1 -1
- package/dist/@types/storage/PostgresReportStorageFactory.d.ts +2 -2
- package/dist/@types/storage/storage-index.d.ts +0 -1
- package/dist/@types/{storage/PostgresTestStorageFactoryGenerator.d.ts → utils/test-utils.d.ts} +4 -4
- package/dist/@types/utils/utils-index.d.ts +1 -0
- package/dist/storage/PostgresReportStorageFactory.js +4 -56
- package/dist/storage/PostgresReportStorageFactory.js.map +1 -1
- package/dist/storage/storage-index.js +0 -1
- package/dist/storage/storage-index.js.map +1 -1
- package/dist/{storage/PostgresTestStorageFactoryGenerator.js → utils/test-utils.js} +7 -7
- package/dist/utils/test-utils.js.map +1 -0
- package/dist/utils/utils-index.js +1 -0
- package/dist/utils/utils-index.js.map +1 -1
- package/package.json +9 -9
- package/src/storage/PostgresReportStorageFactory.ts +9 -59
- package/src/storage/storage-index.ts +0 -1
- package/src/{storage/PostgresTestStorageFactoryGenerator.ts → utils/test-utils.ts} +6 -6
- package/src/utils/utils-index.ts +1 -0
- package/test/src/__snapshots__/connection-report-storage.test.ts.snap +31 -18
- package/test/src/__snapshots__/storage_sync.test.ts.snap +12 -11
- package/test/src/connection-report-storage.test.ts +22 -27
- package/test/src/util.ts +2 -1
- package/dist/storage/PostgresTestStorageFactoryGenerator.js.map +0 -1
|
@@ -70,6 +70,16 @@ describe('Connection report storage', async () => {
|
|
|
70
70
|
id: '4'
|
|
71
71
|
};
|
|
72
72
|
|
|
73
|
+
const user_old = {
|
|
74
|
+
user_id: 'user_one',
|
|
75
|
+
client_id: '',
|
|
76
|
+
connected_at: now.toISOString(),
|
|
77
|
+
sdk: 'unknown',
|
|
78
|
+
user_agent: 'powersync-dart/1.6.4 Dart (flutter-web) Chrome/128 android',
|
|
79
|
+
jwt_exp: nowAdd5minutes.toISOString(),
|
|
80
|
+
id: '5'
|
|
81
|
+
};
|
|
82
|
+
|
|
73
83
|
const user_week = {
|
|
74
84
|
user_id: 'user_week',
|
|
75
85
|
client_id: 'client_week',
|
|
@@ -144,6 +154,16 @@ describe('Connection report storage', async () => {
|
|
|
144
154
|
${{ type: 'varchar', value: user_four.id }},
|
|
145
155
|
NULL
|
|
146
156
|
),
|
|
157
|
+
(
|
|
158
|
+
${{ type: 'varchar', value: user_old.user_id }},
|
|
159
|
+
${{ type: 'varchar', value: user_old.client_id }},
|
|
160
|
+
${{ type: 1184, value: user_old.connected_at }},
|
|
161
|
+
${{ type: 'varchar', value: user_old.sdk }},
|
|
162
|
+
${{ type: 'varchar', value: user_old.user_agent }},
|
|
163
|
+
${{ type: 1184, value: user_old.jwt_exp }},
|
|
164
|
+
${{ type: 'varchar', value: user_old.id }},
|
|
165
|
+
NULL
|
|
166
|
+
),
|
|
147
167
|
(
|
|
148
168
|
${{ type: 'varchar', value: user_three.user_id }},
|
|
149
169
|
${{ type: 'varchar', value: user_three.client_id }},
|
|
@@ -199,32 +219,7 @@ describe('Connection report storage', async () => {
|
|
|
199
219
|
await deleteData();
|
|
200
220
|
});
|
|
201
221
|
it('Should show connected users with start range', async () => {
|
|
202
|
-
const current = await factory.getConnectedClients(
|
|
203
|
-
range: {
|
|
204
|
-
start: new Date(
|
|
205
|
-
now.getFullYear(),
|
|
206
|
-
now.getMonth(),
|
|
207
|
-
now.getDate(),
|
|
208
|
-
now.getHours(),
|
|
209
|
-
now.getMinutes() - 1
|
|
210
|
-
).toISOString()
|
|
211
|
-
}
|
|
212
|
-
});
|
|
213
|
-
expect(current).toMatchSnapshot();
|
|
214
|
-
});
|
|
215
|
-
it('Should show connected users with start range and end range', async () => {
|
|
216
|
-
const current = await factory.getConnectedClients({
|
|
217
|
-
range: {
|
|
218
|
-
end: nowLess5minutes.toISOString(),
|
|
219
|
-
start: new Date(
|
|
220
|
-
now.getFullYear(),
|
|
221
|
-
now.getMonth(),
|
|
222
|
-
now.getDate(),
|
|
223
|
-
now.getHours(),
|
|
224
|
-
now.getMinutes() - 6
|
|
225
|
-
).toISOString()
|
|
226
|
-
}
|
|
227
|
-
});
|
|
222
|
+
const current = await factory.getConnectedClients();
|
|
228
223
|
expect(current).toMatchSnapshot();
|
|
229
224
|
});
|
|
230
225
|
it('Should show connection report data for user over the past month', async () => {
|
|
@@ -268,7 +263,7 @@ describe('Connection report storage', async () => {
|
|
|
268
263
|
});
|
|
269
264
|
|
|
270
265
|
const sdk = await factory.db
|
|
271
|
-
.sql`SELECT * FROM connection_report_events WHERE user_id = ${{ type: 'varchar', value: user_one.user_id }}`.rows<event_types.ClientConnection>();
|
|
266
|
+
.sql`SELECT * FROM connection_report_events WHERE user_id = ${{ type: 'varchar', value: user_one.user_id }} AND client_id = ${{ type: 'varchar', value: user_one.client_id }}`.rows<event_types.ClientConnection>();
|
|
272
267
|
expect(sdk).toHaveLength(1);
|
|
273
268
|
expect(new Date(sdk[0].connected_at).toISOString()).toEqual(newConnectAt.toISOString());
|
|
274
269
|
expect(new Date(sdk[0].jwt_exp!).toISOString()).toEqual(jwtExp.toISOString());
|
package/test/src/util.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import path from 'path';
|
|
2
2
|
import { fileURLToPath } from 'url';
|
|
3
|
-
import { normalizePostgresStorageConfig, PostgresMigrationAgent
|
|
3
|
+
import { normalizePostgresStorageConfig, PostgresMigrationAgent } from '../../src/index.js';
|
|
4
4
|
import { env } from './env.js';
|
|
5
|
+
import { postgresTestSetup } from '../../src/utils/test-utils.js';
|
|
5
6
|
|
|
6
7
|
const __filename = fileURLToPath(import.meta.url);
|
|
7
8
|
const __dirname = path.dirname(__filename);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PostgresTestStorageFactoryGenerator.js","sourceRoot":"","sources":["../../src/storage/PostgresTestStorageFactoryGenerator.ts"],"names":[],"mappings":"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"}
|