Register dmChannelMeta schema and dm-channel-meta HyperDB collection.

Defines structured storage for DM sidebar previews and readByUserJson
to support Phase 656 dm-meta materialization.

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
Raven Scott
2026-06-02 00:49:46 -04:00
co-authored by Cursor
parent b4b56f8dea
commit e9327234d7
+23
View File
@@ -259,6 +259,24 @@ ns.register({
]
})
ns.register({
name: 'dmChannelMeta',
compact: true,
fields: [
{ name: 'channelId', type: 'string', required: true },
{ name: 'isGroup', type: 'bool' },
{ name: 'peerUserId', type: 'string' },
{ name: 'displayName', type: 'string' },
{ name: 'participantIdsJson', type: 'string' },
{ name: 'lastMessageAt', type: 'uint' },
{ name: 'lastMessagePreview', type: 'string' },
{ name: 'lastMessageAuthorId', type: 'string' },
{ name: 'lastMessageHasAttachment', type: 'bool' },
{ name: 'lastMessageHasSticker', type: 'bool' },
{ name: 'readByUserJson', type: 'string' }
]
})
Hyperschema.toDisk(schema)
const db = HyperDB.from(SCHEMA_DIR, DB_DIR)
@@ -344,6 +362,11 @@ pdb.collections.register({
schema: '@pearcord/attachment',
key: ['id']
})
pdb.collections.register({
name: 'dm-channel-meta',
schema: '@pearcord/dmChannelMeta',
key: ['channelId']
})
pdb.indexes.register({
name: 'messages-by-channel-time',