fix orderby

This commit is contained in:
2023-08-07 16:51:31 +02:00
parent 2b7b967382
commit b675c1adfb
2 changed files with 7 additions and 4 deletions

View File

@@ -1,7 +1,10 @@
type OrderByDirection = 'asc' | 'desc' type OrderByDirection = 'asc' | 'desc'
export function createPrismaOrderBy(input: string | null) { export function createPrismaOrderBy(input: string | null) {
const { key, direction, relation, field } = getOrderByObject(input) const orderByObject = getOrderByObject(input)
if (!orderByObject) return null
const { key, direction, relation, field } = orderByObject
if (relation && field) { if (relation && field) {
return { return {

View File

@@ -62,7 +62,7 @@ export class CardsRepository {
question = undefined, question = undefined,
currentPage, currentPage,
itemsPerPage, itemsPerPage,
orderBy, orderBy = 'updated-desc',
}: GetAllCardsInDeckDto }: GetAllCardsInDeckDto
): Promise<PaginatedCardsWithGrade> { ): Promise<PaginatedCardsWithGrade> {
try { try {
@@ -78,7 +78,7 @@ export class CardsRepository {
}, },
} }
const { key, direction } = getOrderByObject(orderBy) const { key, direction } = getOrderByObject(orderBy) || {}
if (key === 'grade') { if (key === 'grade') {
const start = (currentPage - 1) * itemsPerPage const start = (currentPage - 1) * itemsPerPage
@@ -122,7 +122,7 @@ export class CardsRepository {
const result = await this.prisma.$transaction([ const result = await this.prisma.$transaction([
this.prisma.card.count({ where }), this.prisma.card.count({ where }),
this.prisma.card.findMany({ this.prisma.card.findMany({
orderBy: createPrismaOrderBy(orderBy) || { updated: 'desc' }, orderBy: createPrismaOrderBy(orderBy),
where, where,
include: { include: {
grades: { grades: {