From a5b11d219a83c40bb076a2c5d3fef27f0d4bd026 Mon Sep 17 00:00:00 2001 From: Jeff Sieu Date: Sat, 22 Oct 2022 11:55:08 +0800 Subject: [PATCH 1/2] [questions][fix] fix ci issues --- apps/portal/src/pages/questions/index.tsx | 2 +- .../router/questions-question-router.ts | 45 ++++++++----------- 2 files changed, 20 insertions(+), 27 deletions(-) diff --git a/apps/portal/src/pages/questions/index.tsx b/apps/portal/src/pages/questions/index.tsx index 5f5cc4f1..a861021b 100644 --- a/apps/portal/src/pages/questions/index.tsx +++ b/apps/portal/src/pages/questions/index.tsx @@ -74,7 +74,7 @@ export default function QuestionsHomePage() { roles: [], // TODO: Implement sort order and sort type choices sortOrder: SortOrder.DESC, - sortType: SortType.BEST, + sortType: SortType.NEW, startDate, }, ], diff --git a/apps/portal/src/server/router/questions-question-router.ts b/apps/portal/src/server/router/questions-question-router.ts index 3548e975..f2e36f8a 100644 --- a/apps/portal/src/server/router/questions-question-router.ts +++ b/apps/portal/src/server/router/questions-question-router.ts @@ -9,7 +9,6 @@ import { SortOrder, SortType } from '~/types/questions'; const TWO_WEEK_IN_MS = 12096e5; - export const questionsQuestionRouter = createProtectedRouter() .query('getQuestionsByFilter', { input: z.object({ @@ -24,20 +23,14 @@ export const questionsQuestionRouter = createProtectedRouter() startDate: z.date().default(new Date(Date.now() - TWO_WEEK_IN_MS)), }), async resolve({ ctx, input }) { - let sortCondition; - - switch(input.sortType) { - case SortType.TOP: - sortCondition = { - upvotes: input.sortOrder, - } - break; - case SortType.NEW: - sortCondition = { - lastSeenAt: input.sortOrder, - } - break; - } + const sortCondition = + input.sortType === SortType.TOP + ? { + upvotes: input.sortOrder, + } + : { + lastSeenAt: input.sortOrder, + }; const questionsData = await ctx.prisma.questionsQuestion.findMany({ include: { @@ -76,8 +69,8 @@ export const questionsQuestionRouter = createProtectedRouter() encounters: { some: { seenAt: { - gte: input.startDate, - lte: input.endDate, + gte: input.startDate, + lte: input.endDate, }, ...(input.companyNames.length > 0 ? { @@ -343,7 +336,7 @@ export const questionsQuestionRouter = createProtectedRouter() const incrementValue = vote === Vote.UPVOTE ? 1 : -1; - const [questionVote, question] = await ctx.prisma.$transaction([ + const [questionVote] = await ctx.prisma.$transaction([ ctx.prisma.questionsQuestionVote.create({ data: { questionId, @@ -353,14 +346,14 @@ export const questionsQuestionRouter = createProtectedRouter() }), ctx.prisma.questionsQuestion.update({ data: { - upvotes : { + upvotes: { increment: incrementValue, }, }, where: { id: questionId, }, - }) + }), ]); return questionVote; }, @@ -389,7 +382,7 @@ export const questionsQuestionRouter = createProtectedRouter() const incrementValue = vote === Vote.UPVOTE ? 2 : -2; - const [questionVote, question] = await ctx.prisma.$transaction([ + const [questionVote] = await ctx.prisma.$transaction([ ctx.prisma.questionsQuestionVote.update({ data: { vote, @@ -400,14 +393,14 @@ export const questionsQuestionRouter = createProtectedRouter() }), ctx.prisma.questionsQuestion.update({ data: { - upvotes : { + upvotes: { increment: incrementValue, }, }, where: { id: voteToUpdate.questionId, }, - }) + }), ]); return questionVote; @@ -435,7 +428,7 @@ export const questionsQuestionRouter = createProtectedRouter() const incrementValue = voteToDelete.vote === Vote.UPVOTE ? -1 : 1; - const [questionVote, question] = await ctx.prisma.$transaction([ + const [questionVote] = await ctx.prisma.$transaction([ ctx.prisma.questionsQuestionVote.delete({ where: { id: input.id, @@ -443,14 +436,14 @@ export const questionsQuestionRouter = createProtectedRouter() }), ctx.prisma.questionsQuestion.update({ data: { - upvotes : { + upvotes: { increment: incrementValue, }, }, where: { id: voteToDelete.questionId, }, - }) + }), ]); return questionVote; }, From e0d9d7f39256bfc3fee75a7eab8a444d0b902e9b Mon Sep 17 00:00:00 2001 From: Jeff Sieu Date: Sat, 22 Oct 2022 13:55:33 +0800 Subject: [PATCH 2/2] [questions][fix] fix import errors --- apps/portal/src/pages/questions/index.tsx | 2 +- apps/portal/src/server/router/questions-question-router.ts | 2 +- apps/portal/src/types/questions.d.ts | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/portal/src/pages/questions/index.tsx b/apps/portal/src/pages/questions/index.tsx index a861021b..feaffa80 100644 --- a/apps/portal/src/pages/questions/index.tsx +++ b/apps/portal/src/pages/questions/index.tsx @@ -26,7 +26,7 @@ import { } from '~/utils/questions/useSearchFilter'; import { trpc } from '~/utils/trpc'; -import { SortOrder, SortType } from '~/types/questions'; +import { SortOrder, SortType } from '~/types/questions.d'; export default function QuestionsHomePage() { const router = useRouter(); diff --git a/apps/portal/src/server/router/questions-question-router.ts b/apps/portal/src/server/router/questions-question-router.ts index f2e36f8a..52c8017c 100644 --- a/apps/portal/src/server/router/questions-question-router.ts +++ b/apps/portal/src/server/router/questions-question-router.ts @@ -5,7 +5,7 @@ import { TRPCError } from '@trpc/server'; import { createProtectedRouter } from './context'; import type { Question } from '~/types/questions'; -import { SortOrder, SortType } from '~/types/questions'; +import { SortOrder, SortType } from '~/types/questions.d'; const TWO_WEEK_IN_MS = 12096e5; diff --git a/apps/portal/src/types/questions.d.ts b/apps/portal/src/types/questions.d.ts index 589326a0..d75d82de 100644 --- a/apps/portal/src/types/questions.d.ts +++ b/apps/portal/src/types/questions.d.ts @@ -20,7 +20,7 @@ export type AggregatedQuestionEncounter = { companyCounts: Record; locationCounts: Record; roleCounts: Record; -} +}; export type AnswerComment = { content: string; @@ -54,9 +54,9 @@ export type QuestionComment = { export enum SortOrder { ASC = 'asc', DESC = 'desc', -}; +} export enum SortType { TOP, NEW, -}; +}