Skip to content

Commit

Permalink
names
Browse files Browse the repository at this point in the history
  • Loading branch information
fzhao99 committed Nov 6, 2024
1 parent 347328a commit 836a1fd
Show file tree
Hide file tree
Showing 5 changed files with 25 additions and 27 deletions.
8 changes: 4 additions & 4 deletions query-connector/src/app/database-service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ import {
import { UUID } from "crypto";
import {
CategoryToConditionIdToNameArrayMap,
CategoryToConditionIdToTemplateMap,
CategoryNameToConditionDetailsMap,
ConditionIdToNameMap,
ConditionIdToTemplateMap,
ConditionDetailsMap,
} from "./queryBuilding/utils";

const getQuerybyNameSQL = `
Expand Down Expand Up @@ -585,7 +585,7 @@ export async function getConditionsData() {
const rows = result.rows;

// 1. Grouped by category with id:name pairs
const conditionCategoryToIdNameMap: CategoryToConditionIdToNameArrayMap =
const conditionCategoryToIdNameArrayMap: CategoryToConditionIdToNameArrayMap =
rows.reduce((acc, row) => {
const { category, id, name } = row;
if (!acc[category]) {
Expand All @@ -602,7 +602,7 @@ export async function getConditionsData() {
}, {} as ConditionIdToNameMap);

return {
conditionCategoryToIdNameMap,
conditionCategoryToIdNameArrayMap,
conditionIdToNameMap,
} as const;
}
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
import { Dispatch, SetStateAction, useEffect, useState } from "react";
import {
CategoryToConditionIdToTemplateMap,
CategoryNameToConditionDetailsMap,
filterSearchByCategoryAndCondition,
} from "../utils";
import styles from "./buildfromTemplate.module.scss";
import ConditionOption from "./ConditionOption";
import classNames from "classnames";

type ConditionColumnDisplayProps = {
fetchedConditions: CategoryToConditionIdToTemplateMap;
fetchedConditions: CategoryNameToConditionDetailsMap;
searchFilter: string | undefined;
setFetchedConditions: Dispatch<
SetStateAction<CategoryToConditionIdToTemplateMap | undefined>
SetStateAction<CategoryNameToConditionDetailsMap | undefined>
>;
};
/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import Checkbox from "../../query/designSystem/checkbox/Checkbox";
import { ConditionNameAndInclude, formatDiseaseDisplay } from "../utils";
import { ConditionDetails, formatDiseaseDisplay } from "../utils";

type ConditionOptionProps = {
conditionId: string;
conditionNameAndInclude: ConditionNameAndInclude;
conditionNameAndInclude: ConditionDetails;
handleConditionSelection: (conditionId: string) => void;
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ import { useEffect, useState } from "react";
import classNames from "classnames";
import { getConditionsData } from "@/app/database-service";
import {
CategoryToConditionIdToTemplateMap,
mapFetchedDataToConditionIdToTemplateStructure,
CategoryNameToConditionDetailsMap,
mapFetchedDataToFrontendStructure,
} from "../utils";
import ConditionColumnDisplay from "./ConditionColumnDisplay";
import SearchField from "@/app/query/designSystem/searchField/SearchField";
Expand All @@ -23,19 +23,17 @@ export default function QueryTemplateSelection() {
const [queryName, setQueryName] = useState<string>();
const [searchFilter, setSearchFilter] = useState<string>();
const [fetchedConditions, setFetchedConditions] =
useState<CategoryToConditionIdToTemplateMap>();
useState<CategoryNameToConditionDetailsMap>();

useEffect(() => {
let isSubscribed = true;

async function fetchConditionsAndUpdateState() {
const { conditionCategoryToIdNameMap } = await getConditionsData();
const { conditionCategoryToIdNameArrayMap } = await getConditionsData();

if (isSubscribed) {
setFetchedConditions(
mapFetchedDataToConditionIdToTemplateStructure(
conditionCategoryToIdNameMap,
),
mapFetchedDataToFrontendStructure(conditionCategoryToIdNameArrayMap),
);
}
}
Expand Down
22 changes: 11 additions & 11 deletions query-connector/src/app/queryBuilding/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,25 +5,25 @@ export type ConditionIdToNameMap = {
export type CategoryToConditionIdToNameArrayMap = {
[categoryName: string]: ConditionIdToNameMap[];
};
export type ConditionNameAndInclude = {
export type ConditionDetails = {
name: string;
include: boolean;
};
export type ConditionIdToTemplateMap = {
[conditionId: string]: ConditionNameAndInclude;
export type ConditionDetailsMap = {
[conditionId: string]: ConditionDetails;
};

export type CategoryToConditionIdToTemplateMap = {
[categoryName: string]: ConditionIdToTemplateMap;
export type CategoryNameToConditionDetailsMap = {
[categoryName: string]: ConditionDetailsMap;
};

export function mapFetchedDataToConditionIdToTemplateStructure(fetchedData: {
export function mapFetchedDataToFrontendStructure(fetchedData: {
[categoryName: string]: ConditionIdToNameMap[];
}) {
const result: CategoryToConditionIdToTemplateMap = {};
const result: CategoryNameToConditionDetailsMap = {};
Object.entries(fetchedData).forEach(
([categoryName, conditionIdToNameMapArray]) => {
const curCategoryMap: ConditionIdToTemplateMap = {};
const curCategoryMap: ConditionDetailsMap = {};
conditionIdToNameMapArray.forEach((e) => {
(curCategoryMap[Object.keys(e)[0]] = {
name: Object.values(e)[0],
Expand All @@ -44,9 +44,9 @@ export function mapFetchedDataToConditionIdToTemplateStructure(fetchedData: {
*/
export function filterSearchByCategoryAndCondition(
filterString: string,
fetchedConditions: CategoryToConditionIdToTemplateMap,
): CategoryToConditionIdToTemplateMap {
const result: CategoryToConditionIdToTemplateMap = {};
fetchedConditions: CategoryNameToConditionDetailsMap,
): CategoryNameToConditionDetailsMap {
const result: CategoryNameToConditionDetailsMap = {};

Object.entries(fetchedConditions).forEach(
([categoryName, conditionNameArray]) => {
Expand Down

0 comments on commit 836a1fd

Please sign in to comment.