Skip to content

Commit c793213

Browse files
committed
fix: refine the schema for offline support
1 parent b6d569d commit c793213

File tree

4 files changed

+25
-3
lines changed

4 files changed

+25
-3
lines changed

package/src/store/SqliteClient.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import type { PreparedBatchQueries, PreparedQueries, Scalar, Table } from './typ
2828
* This way usage @op-engineering/op-sqlite package is scoped to a single class/file.
2929
*/
3030
export class SqliteClient {
31-
static dbVersion = 13;
31+
static dbVersion = 14;
3232

3333
static dbName = DB_NAME;
3434
static dbLocation = DB_LOCATION;

package/src/store/mappers/mapReadToStorable.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,19 @@ export const mapReadToStorable = ({
1111
cid: string;
1212
read: ReadResponse;
1313
}): TableRow<'reads'> => {
14-
const { last_read, unread_messages, user, last_read_message_id } = read;
14+
const {
15+
last_read,
16+
unread_messages,
17+
user,
18+
last_read_message_id,
19+
last_delivered_at,
20+
last_delivered_message_id,
21+
} = read;
1522

1623
return {
1724
cid,
25+
lastDeliveredAt: mapDateTimeToStorable(last_delivered_at),
26+
lastDeliveredMessageId: last_delivered_message_id,
1827
lastRead: mapDateTimeToStorable(last_read),
1928
lastReadMessageId: last_read_message_id,
2029
unreadMessages: unread_messages,

package/src/store/mappers/mapStorableToRead.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,18 @@ import { mapStorableToUser } from './mapStorableToUser';
55
import type { TableRowJoinedUser } from '../types';
66

77
export const mapStorableToRead = (row: TableRowJoinedUser<'reads'>): ReadResponse => {
8-
const { lastRead, unreadMessages, user, lastReadMessageId } = row;
8+
const {
9+
lastRead,
10+
unreadMessages,
11+
user,
12+
lastReadMessageId,
13+
lastDeliveredAt,
14+
lastDeliveredMessageId,
15+
} = row;
916

1017
return {
18+
last_delivered_at: lastDeliveredAt,
19+
last_delivered_message_id: lastDeliveredMessageId,
1120
last_read: lastRead,
1221
last_read_message_id: lastReadMessageId,
1322
unread_messages: unreadMessages,

package/src/store/schema.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,8 @@ export const tables: Tables = {
265265
reads: {
266266
columns: {
267267
cid: 'TEXT NOT NULL',
268+
lastDeliveredAt: 'TEXT',
269+
lastDeliveredMessageId: 'TEXT',
268270
lastRead: 'TEXT NOT NULL',
269271
lastReadMessageId: 'TEXT',
270272
unreadMessages: 'INTEGER DEFAULT 0',
@@ -466,6 +468,8 @@ export type Schema = {
466468
lastReadMessageId?: string;
467469
unreadMessages?: number;
468470
userId?: string;
471+
lastDeliveredAt?: string;
472+
lastDeliveredMessageId?: string;
469473
};
470474
reminders: {
471475
channelCid: string;

0 commit comments

Comments
 (0)