Skip to content

Commit

Permalink
remove getCardsGroupedByCreated from record
Browse files Browse the repository at this point in the history
  • Loading branch information
xerosanyam committed Jun 28, 2024
1 parent ac8840c commit 7b72f70
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 44 deletions.
82 changes: 41 additions & 41 deletions src/lib/db/tables/card.table.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@ import { activityTable, cardTable, type SelectCard } from '$lib/db/turso.schema'
import type { Difficulty } from '$lib/schemas';
import { and, count, desc, eq, lt, sql, } from 'drizzle-orm';

const initialCard = {
repetitions: 0,
interval: 1,
easiness: 2.5,
nextPractice: new Date()
};
// const initialCard = {
// repetitions: 0,
// interval: 1,
// easiness: 2.5,
// nextPractice: new Date()
// };

export const insertCard = async (values: {
id: string;
Expand All @@ -21,12 +21,12 @@ export const insertCard = async (values: {
console.timeEnd('insertCard')
};

export const getCards = async (userId: string) => {
console.time('getCards')
const data = await db.select().from(cardTable).where(eq(cardTable.userId, userId)).orderBy(cardTable.nextPractice)
console.timeEnd('getCards')
return data
}
// export const getCards = async (userId: string) => {
// console.time('getCards')
// const data = await db.select().from(cardTable).where(eq(cardTable.userId, userId)).orderBy(cardTable.nextPractice)
// console.timeEnd('getCards')
// return data
// }

export const getCardsOrderByCreated = async (userId: string) => {
console.time('getCards')
Expand All @@ -35,19 +35,19 @@ export const getCardsOrderByCreated = async (userId: string) => {
return data
}

export const getCardsGroupedByCreated = async (userId: string) => {
console.time('getCardsGroupedByCreated')
const data = await db.select({ date: sql`DATE(${activityTable.createdAt}, 'unixepoch')`, count: count() }).from(activityTable).where(and(eq(activityTable.userId, userId), eq(activityTable.action, 'INSERT'))).groupBy(sql`DATE(${activityTable.createdAt}, 'unixepoch')`)
console.timeEnd('getCardsGroupedByCreated')
return data
}
// export const getCardsGroupedByCreated = async (userId: string) => {
// console.time('getCardsGroupedByCreated')
// const data = await db.select({ date: sql`DATE(${activityTable.createdAt}, 'unixepoch')`, count: count() }).from(activityTable).where(and(eq(activityTable.userId, userId), eq(activityTable.action, 'INSERT'))).groupBy(sql`DATE(${activityTable.createdAt}, 'unixepoch')`)
// console.timeEnd('getCardsGroupedByCreated')
// return data
// }

export const getCardsGroupedByUpdated = async (userId: string) => {
console.time('getCardsGroupedByUpdated')
const data = await db.select({ date: sql`DATE(${activityTable.createdAt}, 'unixepoch')`, count: count() }).from(activityTable).where(and(eq(activityTable.userId, userId), eq(activityTable.action, 'UPDATE'))).groupBy(sql`DATE(${activityTable.createdAt}, 'unixepoch')`)
console.timeEnd('getCardsGroupedByUpdated')
return data
}
// export const getCardsGroupedByUpdated = async (userId: string) => {
// console.time('getCardsGroupedByUpdated')
// const data = await db.select({ date: sql`DATE(${activityTable.createdAt}, 'unixepoch')`, count: count() }).from(activityTable).where(and(eq(activityTable.userId, userId), eq(activityTable.action, 'UPDATE'))).groupBy(sql`DATE(${activityTable.createdAt}, 'unixepoch')`)
// console.timeEnd('getCardsGroupedByUpdated')
// return data
// }

export const getCardsGroupedByActivityDate = async (userId: string) => {
console.time('getCardsGroupedByActivityDate')
Expand All @@ -65,30 +65,30 @@ export const getCardsOrderByNextPractice = async (userId: string) => {
return data
}

export const getCard = async (userId: string) => {
console.time('getCard')
const data = await db.select().from(cardTable).where(eq(cardTable.userId, userId)).orderBy(cardTable.nextPractice).limit(1)
console.timeEnd('getCard')
return data[0] || {}

}
export const getTotalCards = async (userId: string) => {
console.time('getTotalCard')
const data = await db.select({ count: count() }).from(cardTable).where(eq(cardTable.userId, userId))
console.log('getTotalCards ~ data:', data)
console.timeEnd('getTotalCard')
return data[0]?.count || 0
}
// export const getCard = async (userId: string) => {
// console.time('getCard')
// const data = await db.select().from(cardTable).where(eq(cardTable.userId, userId)).orderBy(cardTable.nextPractice).limit(1)
// console.timeEnd('getCard')
// return data[0] || {}
// }

// export const getTotalCards = async (userId: string) => {
// console.time('getTotalCard')
// const data = await db.select({ count: count() }).from(cardTable).where(eq(cardTable.userId, userId))
// console.log('getTotalCards ~ data:', data)
// console.timeEnd('getTotalCard')
// return data[0]?.count || 0
// }

export const deleteCard = async ({ cardId, userId }: { cardId: string, userId: string }) => {
console.time('deleteCard')
await db.update(cardTable).set({ deleted: true }).where(and(eq(cardTable.id, cardId), eq(cardTable.userId, userId)))
console.timeEnd('deleteCard')
}

export const resetCard = async ({ cardId, userId }: { cardId: string, userId: string }) => {
await db.update(cardTable).set(initialCard).where(and(eq(cardTable.id, cardId), eq(cardTable.userId, userId)))
}
// export const resetCard = async ({ cardId, userId }: { cardId: string, userId: string }) => {
// await db.update(cardTable).set(initialCard).where(and(eq(cardTable.id, cardId), eq(cardTable.userId, userId)))
// }

export const reviewCard = async ({ cardId, userId, difficulty }: { cardId: string, userId: string, difficulty: Difficulty }) => {
const cards = await db.select().from(cardTable).where(and(eq(cardTable.id, cardId), eq(cardTable.userId, userId)))
Expand Down
6 changes: 3 additions & 3 deletions src/routes/(protected)/record/+page.server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { ROUTES } from "$lib/routes.util.js";
import { cardAddSchema } from "$lib/schemas.js";
import { sessionExists } from "$lib/common.util.js";
import { addAction, deleteAction } from "$lib/actions/card.action.js";
import { getCardsGroupedByCreated, getCardsOrderByCreated } from "$lib/db/tables/card.table.js";
import { getCardsOrderByCreated } from "$lib/db/tables/card.table.js";


export async function load({ locals }) {
Expand All @@ -17,12 +17,12 @@ export async function load({ locals }) {

const addForm = await superValidate(zod(cardAddSchema));
const cards = await getCardsOrderByCreated(locals.user.id)
const groupedInfo = await getCardsGroupedByCreated(locals.user.id)
// const groupedInfo = await getCardsGroupedByCreated(locals.user.id)

return {
addForm,
cards,
groupedInfo
// groupedInfo
};
}

Expand Down

0 comments on commit 7b72f70

Please sign in to comment.