[questions][chore] update to use company table

pull/343/head
hpkoh 3 years ago
parent b78973fb9f
commit 0b09abd6cd

@ -12,6 +12,9 @@ export const questionsQuestionEncounterRouter = createProtectedRouter()
}), }),
async resolve({ ctx, input }) { async resolve({ ctx, input }) {
const questionEncountersData = await ctx.prisma.questionsQuestionEncounter.findMany({ const questionEncountersData = await ctx.prisma.questionsQuestionEncounter.findMany({
include: {
company : true,
},
where: { where: {
...input, ...input,
}, },
@ -19,39 +22,39 @@ export const questionsQuestionEncounterRouter = createProtectedRouter()
const companyCounts: Record<string, number> = {}; const companyCounts: Record<string, number> = {};
const locationCounts: Record<string, number> = {}; const locationCounts: Record<string, number> = {};
const roleCount:Record<string, number> = {}; const roleCounts:Record<string, number> = {};
for (let i = 0; i < questionEncountersData.length; i++) { for (let i = 0; i < questionEncountersData.length; i++) {
const encounter = questionEncountersData[i]; const encounter = questionEncountersData[i];
if (!(encounter.company in companyCounts)) { if (!(encounter.company!.name in companyCounts)) {
companyCounts[encounter.company] = 1; companyCounts[encounter.company!.name] = 1;
} }
companyCounts[encounter.company] += 1; companyCounts[encounter.company!.name] += 1;
if (!(encounter.location in locationCounts)) { if (!(encounter.location in locationCounts)) {
locationCounts[encounter.location] = 1; locationCounts[encounter.location] = 1;
} }
locationCounts[encounter.location] += 1; locationCounts[encounter.location] += 1;
if (!(encounter.role in roleCount)) { if (!(encounter.role in roleCounts)) {
roleCount[encounter.role] = 1; roleCounts[encounter.role] = 1;
} }
roleCount[encounter.role] += 1; roleCounts[encounter.role] += 1;
} }
const questionEncounter:AggregatedQuestionEncounter = { const questionEncounter:AggregatedQuestionEncounter = {
companyCount: companyCounts, companyCounts,
locationCount: locationCounts, locationCounts,
roleCount, roleCounts,
} }
return questionEncounter; return questionEncounter;
} }
}) })
.mutation('create', { .mutation('create', {
input: z.object({ input: z.object({
company: z.string(), companyId: z.string(),
location: z.string(), location: z.string(),
questionId: z.string(), questionId: z.string(),
role: z.string(), role: z.string(),
@ -69,8 +72,9 @@ export const questionsQuestionEncounterRouter = createProtectedRouter()
}, },
}) })
.mutation('update', { .mutation('update', {
//
input: z.object({ input: z.object({
company: z.string().optional(), companyId: z.string().optional(),
id: z.string(), id: z.string(),
location: z.string().optional(), location: z.string().optional(),
role: z.string().optional(), role: z.string().optional(),

@ -15,9 +15,9 @@ export type Question = {
}; };
export type AggregatedQuestionEncounter = { export type AggregatedQuestionEncounter = {
companyCount: Record<string, number>; companyCounts: Record<string, number>;
locationCount: Record<string, number>; locationCounts: Record<string, number>;
roleCount:Record<string, number>; roleCounts: Record<string, number>;
} }
export type AnswerComment = { export type AnswerComment = {

Loading…
Cancel
Save