Skip to content

Commit dceadf2

Browse files
DateTime chnages to postgres driver
1 parent 8728315 commit dceadf2

File tree

2 files changed

+13
-5
lines changed

2 files changed

+13
-5
lines changed

modules/module-postgres-storage/src/storage/PostgresReportStorageFactory.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ export class PostgresReportStorageFactory implements storage.ReportStorage {
6666
connection_report_events
6767
WHERE
6868
disconnected_at IS NULL
69-
AND jwt_exp > NOW()
69+
AND jwt_exp > NOW() AT TIME ZONE 'UTC'
7070
),
7171
unique_users AS (
7272
SELECT
@@ -234,7 +234,7 @@ export class PostgresReportStorageFactory implements storage.ReportStorage {
234234
AND (
235235
disconnected_at IS NOT NULL
236236
OR (
237-
jwt_exp < NOW()
237+
jwt_exp < NOW() AT TIME ZONE 'UTC'
238238
AND disconnected_at IS NULL
239239
)
240240
);

modules/module-postgres-storage/test/src/connection-report-storage.test.ts

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { POSTGRES_REPORT_STORAGE_FACTORY } from './util.js';
33
import { event_types } from '@powersync/service-types';
44
import { register, ReportUserData } from '@powersync/service-core-tests';
55
import { PostgresReportStorageFactory } from '../../src/storage/PostgresReportStorageFactory.js';
6+
import { DateTimeValue } from '@powersync/service-sync-rules';
67

78
const factory = await POSTGRES_REPORT_STORAGE_FACTORY();
89
const userData = register.REPORT_TEST_USERS;
@@ -151,8 +152,12 @@ describe('Connection report storage', async () => {
151152
const sdk = await factory.db
152153
.sql`SELECT * FROM connection_report_events WHERE user_id = ${{ type: 'varchar', value: userData.user_one.user_id }} AND client_id = ${{ type: 'varchar', value: userData.user_one.client_id }}`.rows<event_types.ClientConnection>();
153154
expect(sdk).toHaveLength(1);
154-
expect(new Date(sdk[0].connected_at).toISOString()).toEqual(newConnectAt.toISOString());
155-
expect(new Date(sdk[0].jwt_exp!).toISOString()).toEqual(jwtExp.toISOString());
155+
expect(new Date((sdk[0].connected_at as unknown as DateTimeValue).iso8601Representation).toISOString()).toEqual(
156+
newConnectAt.toISOString()
157+
);
158+
expect(new Date((sdk[0].jwt_exp! as unknown as DateTimeValue).iso8601Representation).toISOString()).toEqual(
159+
jwtExp.toISOString()
160+
);
156161
expect(sdk[0].disconnected_at).toBeNull();
157162
const cleaned = removeVolatileFields(sdk);
158163
expect(cleaned).toMatchSnapshot();
@@ -180,7 +185,10 @@ describe('Connection report storage', async () => {
180185
const sdk = await factory.db
181186
.sql`SELECT * FROM connection_report_events WHERE user_id = ${{ type: 'varchar', value: userData.user_three.user_id }}`.rows<event_types.ClientConnection>();
182187
expect(sdk).toHaveLength(1);
183-
expect(new Date(sdk[0].disconnected_at!).toISOString()).toEqual(disconnectAt.toISOString());
188+
console.log(sdk[0]);
189+
expect(new Date((sdk[0].disconnected_at! as unknown as DateTimeValue).iso8601Representation).toISOString()).toEqual(
190+
disconnectAt.toISOString()
191+
);
184192
const cleaned = removeVolatileFields(sdk);
185193
expect(cleaned).toMatchSnapshot();
186194
});

0 commit comments

Comments
 (0)