From 7d9845179f0aad145303d5925130eca021874a69 Mon Sep 17 00:00:00 2001 From: Roshan Bellary Date: Sun, 22 Dec 2024 14:46:22 -0800 Subject: [PATCH] Top Bar and Kitchen Outcomes Data Integration --- client/src/components/Topbar.tsx | 39 +++++++++++++++++-- server/src/models/kitchen.outcomes.model.ts | 1 + .../src/services/kitchen.outcomes.service.ts | 2 +- 3 files changed, 38 insertions(+), 4 deletions(-) diff --git a/client/src/components/Topbar.tsx b/client/src/components/Topbar.tsx index 16989320..98837192 100644 --- a/client/src/components/Topbar.tsx +++ b/client/src/components/Topbar.tsx @@ -1,4 +1,4 @@ -import React, { useState } from 'react'; +import React, { useState, useEffect } from 'react'; import { AppBar, Toolbar, @@ -8,7 +8,7 @@ import { MenuItem, } from '@mui/material'; import { useLocation, useNavigate } from 'react-router-dom'; -import { postData } from '../util/api'; +import { getData, postData } from '../util/api'; const getPageTitle = (pathname: string): string => { switch (pathname) { @@ -43,7 +43,8 @@ function Topbar({ email }: { email: string }) { const location = useLocation(); const navigate = useNavigate(); const pageTitle = getPageTitle(location.pathname); - + const [orgName, setOrgName] = useState(null); + const [orgId, setOrgId] = useState(null); const [anchorEl, setAnchorEl] = useState(null); const handleMenuOpen = (event: React.MouseEvent) => { @@ -58,6 +59,35 @@ function Topbar({ email }: { email: string }) { postData('auth/logout'); navigate('/login'); }; + useEffect(() => { + const getUserOrganizationId = async () => { + try { + const response = await getData(`auth/organization/${email}`); + const orgSetId = await response.data; + setOrgId(orgSetId); + } catch (e) { + console.error(e); + setOrgName(null); + setOrgId(null); + } + }; + const getUserOrganizationName = async () => { + try { + if (orgId) { + const response = await getData( + `organization/organization/name/${orgId}`, + ); + const orgSetName = await response.data; + setOrgName(orgSetName.organizationName); + } + } catch (e) { + console.error(e); + setOrgName(null); + } + }; + getUserOrganizationId(); + getUserOrganizationName(); + }, [email, orgId]); return ( {email} + + Organization: {orgName || 'None Assigned'} + Logout diff --git a/server/src/models/kitchen.outcomes.model.ts b/server/src/models/kitchen.outcomes.model.ts index e507c59b..44c28123 100644 --- a/server/src/models/kitchen.outcomes.model.ts +++ b/server/src/models/kitchen.outcomes.model.ts @@ -222,6 +222,7 @@ interface IKitchenOutcomes extends mongoose.Document { const KitchenOutcomes = mongoose.model( 'KitchenOutcomes', KitchenOutcomesSchema, + 'kitchenoutcomesuploadtest', ); export { IKitchenOutcomes, KitchenOutcomes }; diff --git a/server/src/services/kitchen.outcomes.service.ts b/server/src/services/kitchen.outcomes.service.ts index 54bb3f6b..f2a45141 100644 --- a/server/src/services/kitchen.outcomes.service.ts +++ b/server/src/services/kitchen.outcomes.service.ts @@ -14,7 +14,7 @@ const getOneKitchenOutcomes = async (year: Date, orgId: string) => { orgId, year: { $gte: startDate, - $lt: endDate, + $lte: endDate, }, }).exec(); console.log(startDate);