mirror of
https://github.com/signalapp/Signal-Desktop.git
synced 2025-12-19 17:58:48 +00:00
36 lines
1.1 KiB
TypeScript
36 lines
1.1 KiB
TypeScript
// Copyright 2025 Signal Messenger, LLC
|
|
// SPDX-License-Identifier: AGPL-3.0-only
|
|
|
|
import type { WritableDB } from '../Interface.std.js';
|
|
import { sql } from '../util.std.js';
|
|
|
|
export default function updateToSchemaVersion1560(db: WritableDB): void {
|
|
const [query] = sql`
|
|
CREATE TABLE pinnedMessages (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
conversationId TEXT NOT NULL REFERENCES conversations(id) ON DELETE CASCADE,
|
|
messageId TEXT NOT NULL REFERENCES messages(id) ON DELETE CASCADE,
|
|
messageSentAt INTEGER NOT NULL,
|
|
messageSenderAci TEXT NOT NULL,
|
|
pinnedByAci TEXT NOT NULL,
|
|
pinnedAt INTEGER NOT NULL,
|
|
expiresAt INTEGER,
|
|
UNIQUE (conversationId, messageId)
|
|
) STRICT;
|
|
|
|
CREATE INDEX pinnedMessages_byConversation
|
|
ON pinnedMessages(
|
|
conversationId,
|
|
pinnedAt DESC,
|
|
messageId
|
|
);
|
|
|
|
CREATE INDEX pinnedMessages_byExpiresAt
|
|
ON pinnedMessages(
|
|
expiresAt ASC
|
|
)
|
|
WHERE expiresAt IS NOT NULL;
|
|
`;
|
|
db.exec(query);
|
|
}
|