mirror of
https://github.com/signalapp/Signal-Desktop.git
synced 2026-04-23 09:58:12 +01:00
Adds logic around downloading stories
This commit is contained in:
@@ -208,6 +208,7 @@ const dataInterface: ServerInterface = {
|
||||
searchMessagesInConversation,
|
||||
|
||||
getMessageCount,
|
||||
getStoryCount,
|
||||
saveMessage,
|
||||
saveMessages,
|
||||
removeMessage,
|
||||
@@ -291,6 +292,7 @@ const dataInterface: ServerInterface = {
|
||||
_deleteAllStoryReads,
|
||||
addNewStoryRead,
|
||||
getLastStoryReadsForAuthor,
|
||||
countStoryReadsByConversation,
|
||||
|
||||
removeAll,
|
||||
removeAllConfiguration,
|
||||
@@ -1686,6 +1688,20 @@ function getMessageCountSync(
|
||||
return count;
|
||||
}
|
||||
|
||||
async function getStoryCount(conversationId: string): Promise<number> {
|
||||
const db = getInstance();
|
||||
return db
|
||||
.prepare<Query>(
|
||||
`
|
||||
SELECT count(*)
|
||||
FROM messages
|
||||
WHERE conversationId = $conversationId AND isStory = 1;
|
||||
`
|
||||
)
|
||||
.pluck()
|
||||
.get({ conversationId });
|
||||
}
|
||||
|
||||
async function getMessageCount(conversationId?: string): Promise<number> {
|
||||
return getMessageCountSync(conversationId);
|
||||
}
|
||||
@@ -2392,7 +2408,7 @@ function getOlderMessagesByConversationSync(
|
||||
|
||||
async function getOlderStories({
|
||||
conversationId,
|
||||
limit = 10,
|
||||
limit = 9999,
|
||||
receivedAt = Number.MAX_VALUE,
|
||||
sentAt,
|
||||
sourceUuid,
|
||||
@@ -2416,7 +2432,7 @@ async function getOlderStories({
|
||||
(received_at < $receivedAt
|
||||
OR (received_at IS $receivedAt AND sent_at < $sentAt)
|
||||
)
|
||||
ORDER BY received_at DESC, sent_at DESC
|
||||
ORDER BY received_at ASC, sent_at ASC
|
||||
LIMIT $limit;
|
||||
`
|
||||
)
|
||||
@@ -4157,6 +4173,21 @@ async function getLastStoryReadsForAuthor({
|
||||
});
|
||||
}
|
||||
|
||||
async function countStoryReadsByConversation(
|
||||
conversationId: string
|
||||
): Promise<number> {
|
||||
const db = getInstance();
|
||||
return db
|
||||
.prepare<Query>(
|
||||
`
|
||||
SELECT COUNT(storyId) FROM storyReads
|
||||
WHERE conversationId = $conversationId;
|
||||
`
|
||||
)
|
||||
.pluck()
|
||||
.get({ conversationId });
|
||||
}
|
||||
|
||||
// All data in database
|
||||
async function removeAll(): Promise<void> {
|
||||
const db = getInstance();
|
||||
|
||||
Reference in New Issue
Block a user