diff --git a/client/Database/database.ts b/client/Database/database.ts index d2e299e6ea31662cc09e315d20ae6e875c1b4d1c..aab221c29ef268826b7d21a37d8f737d44c08ecd 100644 --- a/client/Database/database.ts +++ b/client/Database/database.ts @@ -49,7 +49,7 @@ const taskCollection = collection(db, "task"); const hospitalCollection = collection(db, "hospital"); const suggestionCollection = collection(db, "suggestion"); const knowledgeDocumentCollection = collection(db, "knowledgeDocument"); -const userImprovementWorkCollections = collection(db, "userImprovementWork"); +const userImprovementWorkCollection = collection(db, "userImprovementWork"); const userTaskCollection = collection(db, "userTask"); interface improvementWorkType { @@ -270,7 +270,7 @@ async function addMemberToImprovementWork( isResponsibleFor: boolean ): Promise<void> { try { - const relationRef = doc(userImprovementWorkCollections); + const relationRef = doc(userImprovementWorkCollection); await setDoc(relationRef, { id: relationRef.id, @@ -909,6 +909,48 @@ async function getImprovementWorks({ } } +async function getImprovementWorkOwner(improvementWorkId: string) { + try { + let constraints : any[] = []; + constraints.push(where("improvementWorkId", "==", improvementWorkId)); + constraints.push(where("isOwner", "==", true)); + + const q = query(userImprovementWorkCollection, ...constraints); + const querySnapshot = await getDocs(q); + + if (querySnapshot.empty) { + console.log("Improvement work ", improvementWorkId, " has no owner"); + return null; + } else { + const owner = querySnapshot.docs[0].data().userHsaId; + return owner; + } + } catch (error) { + console.log(error); + } +} + +async function getImprovementWorkResponsible(improvementWorkId: string) { + try { + let constraints : any[] = []; + constraints.push(where("improvementWorkId", "==", improvementWorkId)); + constraints.push(where("isResponsibleFor", "==", true)); + + const q = query(userImprovementWorkCollection, ...constraints); + const querySnapshot = await getDocs(q); + + if (querySnapshot.empty) { + console.log("Improvement work ", improvementWorkId, " has no responsible"); + return null; + } else { + const responsible = querySnapshot.docs[0].data().userHsaId; + return responsible; + } + } catch (error) { + console.log(error); + } +} + // TODO getUsersForTask! /** @@ -1100,7 +1142,7 @@ async function getImprovementWorksForUser(userHsaId: string): Promise<DocumentDa try { console.log("Getting improvementworks for user: ", userHsaId); // Query the userImprovementWork collection for relations involving this user - const q = query(userImprovementWorkCollections, where('userHsaId', '==', userHsaId)); + const q = query(userImprovementWorkCollection, where('userHsaId', '==', userHsaId)); const querySnapshot = await getDocs(q); // Fetch each related improvementWork document @@ -1121,7 +1163,7 @@ async function getUsersForImprovementWork(improvementWorkId: string): Promise<Do try { console.log("Getting users for improvementwork: ", improvementWorkId); // Query the userImprovementWork collection for relations involving this improvementWork - const q = query(userImprovementWorkCollections, where('improvementWorkId', '==', improvementWorkId)); + const q = query(userImprovementWorkCollection, where('improvementWorkId', '==', improvementWorkId)); const querySnapshot = await getDocs(q); // Fetch each related user document @@ -1153,6 +1195,8 @@ export { getHospitals, getImprovementWorksForUser, getUsersForImprovementWork, + getImprovementWorkOwner, + getImprovementWorkResponsible, }; ////////////////////////////////////DELETING///////////////////////////////////////////// diff --git a/client/Make_Suggestion_Code/makeSuggestion.ts b/client/Make_Suggestion_Code/makeSuggestion.ts index cc0aeae4c9008e2d396ac5dc805d97db049db92a..aa2a54d986819ee30475efa3e63bfd74b06e676e 100644 --- a/client/Make_Suggestion_Code/makeSuggestion.ts +++ b/client/Make_Suggestion_Code/makeSuggestion.ts @@ -135,13 +135,14 @@ export async function submitHandler() { var user = await getUsers({uid : uid}); console.log(user); console.log(user[0].uid); + console.log(user[0].id); console.log(user[0].creatorHsaId); try { - if (user[0].uid) { + if (user[0].id) { createSuggestion( - user[0].uid, - "<Department>", + null, + user[0].id, //The unique identifyer for the user, not the idea nameInput, areaInput, contentInput, diff --git a/client/homePage.ts b/client/homePage.ts index 86600390cb448cc08d66c87ab852625f21261bc2..b1dc63600d70d4b03283a34aa908d6c24a08e174 100644 --- a/client/homePage.ts +++ b/client/homePage.ts @@ -215,10 +215,7 @@ async function createNewIdeaCard( await createNewCards("HomePageIdeaCardDiv",suggestionContainer, user.id); } - const projectContainer = document.getElementById("project-container"); - if(projectContainer) { - await getProjects(projectContainer, user.id); - } + console.log(user.firstName + "user.firstname") const nameHeaderElement = document.getElementById('user-name-header') const nameElement = document.getElementById('user-name'); @@ -238,6 +235,10 @@ async function createNewIdeaCard( roleElement.textContent = "undefined"; } + const projectContainer = document.getElementById("project-container"); + if(projectContainer) { + await getProjects(projectContainer, user.id); + } }) .catch(error => {