[questions][feat] add filtering for p0

pull/327/head
hpkoh 3 years ago
parent 25917a3661
commit 5d6f84b8fc

@ -23,6 +23,13 @@ export const questionsQuestionsRouter = createProtectedRouter()
comments: true, comments: true,
}, },
}, },
encounters: {
select: {
company: true,
location: true,
role: true,
},
},
user: { user: {
select: { select: {
name: true, name: true,
@ -34,10 +41,21 @@ export const questionsQuestionsRouter = createProtectedRouter()
createdAt: 'desc', createdAt: 'desc',
}, },
where: { where: {
...input, questionType: input.questionType,
}, },
}); });
return questionsData.map((data) => { return questionsData
.filter((data) => {
for (let i = 0; i < data.encounters.length; i++) {
const encounter = data.encounters[i]
const matchCompany = (!input.company || (encounter.company === input.company));
const matchLocation = (!input.location || (encounter.location === input.location));
const matchRole = (!input.company || (encounter.role === input.role));
if (matchCompany && matchLocation && matchRole) {return true};
}
return false;
})
.map((data) => {
const votes:number = data.votes.reduce( const votes:number = data.votes.reduce(
(previousValue:number, currentValue) => { (previousValue:number, currentValue) => {
let result:number = previousValue; let result:number = previousValue;
@ -61,7 +79,6 @@ export const questionsQuestionsRouter = createProtectedRouter()
userName = data.user.name!; userName = data.user.name!;
} }
const question: Question = { const question: Question = {
company: "", company: "",
content: data.content, content: data.content,

Loading…
Cancel
Save