From 620c3676c232af766217403cd0435d0d75d870c9 Mon Sep 17 00:00:00 2001 From: hpkoh Date: Mon, 17 Oct 2022 16:13:15 +0800 Subject: [PATCH] [questions][feat] add sorting --- .../src/server/router/questions-question-router.ts | 7 ++++++- apps/portal/src/types/questions.d.ts | 11 +++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/apps/portal/src/server/router/questions-question-router.ts b/apps/portal/src/server/router/questions-question-router.ts index 7fbf59ed..ed2ada70 100644 --- a/apps/portal/src/server/router/questions-question-router.ts +++ b/apps/portal/src/server/router/questions-question-router.ts @@ -5,6 +5,8 @@ import { TRPCError } from '@trpc/server'; import { createProtectedRouter } from './context'; import type { Question } from '~/types/questions'; +import { SortOrder, SortType } from '~/types/questions'; + export const questionsQuestionRouter = createProtectedRouter() .query('getQuestionsByFilter', { @@ -12,9 +14,12 @@ export const questionsQuestionRouter = createProtectedRouter() companies: z.string().array(), endDate: z.date(), locations: z.string().array(), + pageSize: z.number().default(50), questionTypes: z.nativeEnum(QuestionsQuestionType).array(), roles: z.string().array(), - startDate: z.date().optional(), + sortOrder: z.nativeEnum(SortOrder), + startDate: z.date().optional() + sortType : z.nativeEnum(SortType), }), async resolve({ ctx, input }) { const questionsData = await ctx.prisma.questionsQuestion.findMany({ diff --git a/apps/portal/src/types/questions.d.ts b/apps/portal/src/types/questions.d.ts index 41286249..ca67da4c 100644 --- a/apps/portal/src/types/questions.d.ts +++ b/apps/portal/src/types/questions.d.ts @@ -42,3 +42,14 @@ export type QuestionComment = { user: string; userImage: string; }; + +export enum SortOrder { + ASC = 'asc', + DESC = 'desc', +}; + +export enum SortType { + BEST, + TOP, + NEW, +};