|
|
|
@ -7,7 +7,6 @@ import { createProtectedRouter } from './context';
|
|
|
|
|
import type { Question } from '~/types/questions';
|
|
|
|
|
import { SortOrder, SortType } from '~/types/questions';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
export const questionsQuestionRouter = createProtectedRouter()
|
|
|
|
|
.query('getQuestionsByFilter', {
|
|
|
|
|
input: z.object({
|
|
|
|
@ -18,8 +17,8 @@ export const questionsQuestionRouter = createProtectedRouter()
|
|
|
|
|
questionTypes: z.nativeEnum(QuestionsQuestionType).array(),
|
|
|
|
|
roles: z.string().array(),
|
|
|
|
|
sortOrder: z.nativeEnum(SortOrder),
|
|
|
|
|
startDate: z.date().optional()
|
|
|
|
|
sortType: z.nativeEnum(SortType),
|
|
|
|
|
startDate: z.date().optional(),
|
|
|
|
|
}),
|
|
|
|
|
async resolve({ ctx, input }) {
|
|
|
|
|
const questionsData = await ctx.prisma.questionsQuestion.findMany({
|
|
|
|
@ -61,30 +60,29 @@ export const questionsQuestionRouter = createProtectedRouter()
|
|
|
|
|
...(input.companies.length > 0
|
|
|
|
|
? {
|
|
|
|
|
company: {
|
|
|
|
|
in : input.companies
|
|
|
|
|
}
|
|
|
|
|
in: input.companies,
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
: {}),
|
|
|
|
|
...(input.locations.length > 0
|
|
|
|
|
? {
|
|
|
|
|
location: {
|
|
|
|
|
in: input.locations
|
|
|
|
|
in: input.locations,
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
: {}),
|
|
|
|
|
...(input.roles.length > 0
|
|
|
|
|
? {
|
|
|
|
|
role: {
|
|
|
|
|
in: input.roles
|
|
|
|
|
}
|
|
|
|
|
in: input.roles,
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
: {}),
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
});
|
|
|
|
|
return questionsData
|
|
|
|
|
.map((data) => {
|
|
|
|
|
return questionsData.map((data) => {
|
|
|
|
|
const votes: number = data.votes.reduce(
|
|
|
|
|
(previousValue: number, currentValue) => {
|
|
|
|
|
let result: number = previousValue;
|
|
|
|
@ -264,7 +262,6 @@ export const questionsQuestionRouter = createProtectedRouter()
|
|
|
|
|
const { content, questionType } = input;
|
|
|
|
|
|
|
|
|
|
return await ctx.prisma.questionsQuestion.update({
|
|
|
|
|
|
|
|
|
|
data: {
|
|
|
|
|
content,
|
|
|
|
|
questionType,
|
|
|
|
|