feat(dm): messages per month

This commit is contained in:
Samuel 2024-12-15 19:42:37 +01:00
parent 2fedbdc884
commit d9268a4991
No known key found for this signature in database
2 changed files with 123 additions and 13 deletions

View file

@ -177,7 +177,7 @@ const threadSentMessagesPerPersonOverviewQueryRaw = (threadId: number) =>
.selectFrom("message")
.select((eb) => [
"from_recipient_id",
sql<Date>`DATE(datetime(message.date_sent / 1000, 'unixepoch'))`.as(
sql<string>`DATE(datetime(message.date_sent / 1000, 'unixepoch'))`.as(
"message_date"
),
eb.fn.countAll().as("message_count"),
@ -200,6 +200,27 @@ export const dmSentMessagesPerPersonOverviewQuery = cached(
threadSentMessagesPerPersonOverviewQueryRaw
);
const threadSentMessagesOverviewQueryRaw = (threadId: number) =>
kyselyDb()
.selectFrom("message")
.select([
"from_recipient_id",
sql<Date>`datetime(date_sent / 1000, 'unixepoch')`.as("message_datetime"),
])
.orderBy(["message_datetime"])
.where((eb) =>
eb.and([
eb("body", "is not", null),
eb("body", "!=", ""),
eb("thread_id", "=", threadId),
])
)
.execute();
export const threadSentMessagesOverviewQuery = cached(
threadSentMessagesOverviewQueryRaw
);
const threadMostUsedWordsQueryRaw = (threadId: number, limit = 10) =>
kyselyDb()
.withRecursive("words", (eb) => {