fix/feat: Now the projectId is correctly fetched yet we cant test shit since the db is empty
Some checks failed
Format / formatting (push) Successful in 6s
Build / build (push) Successful in 41s
CI / build (push) Failing after 12s
Format / formatting (pull_request) Successful in 6s

This commit is contained in:
ALAMI Adnane 2025-04-29 23:18:26 +02:00
parent 5130c00796
commit 92696c3e16
4 changed files with 81 additions and 13 deletions

View File

@ -188,6 +188,12 @@ const fetchData = async (
const responseData = await mockFetch(projectId, title, date);
handleFetchSuccess(responseData);
} else {
if (projectId == -1) {
console.error(
"No sections to show because no project was found."
);
return;
}
await new Promise<void>((resolve, reject) => {
getSectionCellsByDate(
projectId,

View File

@ -47,7 +47,7 @@ import { store } from "@/main.ts";
import { getProjectEntrepreneurs } from "@/services/Apis/Shared.ts";
import UserEntrepreneur from "@/ApiClasses/UserEntrepreneur.ts";
const dropdownRef = ref<HTMLElement | null>(null);
const dropdownRef = ref<HTMLElement | undefined>(undefined);
const props = defineProps<{
projectId: number;
@ -94,6 +94,10 @@ const fetchEntrepreneurs = (projectId: number, useMock = false) => {
if (useMock) {
fetchMockEntrepreneurs();
} else {
if (projectId == -1) {
console.error("No contact to show because no project was found.");
return;
}
getProjectEntrepreneurs(
projectId,
(response) => {

View File

@ -8,6 +8,28 @@ import {
} from "@/services/api";
// Entrepreneurs API
function getEntrepreneurProjectId(
onSuccessHandler?: (response: AxiosResponse<number[]>) => void,
onErrorHandler?: (error: AxiosError) => void
): void {
axiosInstance
.get("/entrepreneur/projects")
.then((response) => {
if (onSuccessHandler) {
onSuccessHandler(response);
} else {
defaultApiSuccessHandler(response);
}
})
.catch((error: AxiosError) => {
if (onErrorHandler) {
onErrorHandler(error);
} else {
defaultApiErrorHandler(error);
}
});
}
function requestProjectCreation(
projectDetails: Project,
onSuccessHandler?: (response: AxiosResponse) => void,
@ -102,6 +124,7 @@ function removeSectionCell(
}
export {
getEntrepreneurProjectId,
requestProjectCreation,
addSectionCell,
modifySectionCell,

View File

@ -1,7 +1,7 @@
<template>
<div>
<header>
<HeaderCanvas :project-id="101" :is-admin="isAdmin_" />
<HeaderCanvas :project-id="projectId" :is-admin="isAdmin_" />
</header>
</div>
<div>
@ -10,7 +10,7 @@
Cliquez sur un champ du tableau pour afficher son contenu en détail
ci-dessous.
</p>
<LeanCanvas :project-id="101" :is-admin="isAdmin_" />
<LeanCanvas :project-id="projectId" :is-admin="isAdmin_" />
<div class="info-box">
<p v-if="admin">
Responsable :
@ -38,18 +38,12 @@ import { isAdmin } from "@/services/tools.ts";
import { getProjectAdmin } from "@/services/Apis/Shared.ts";
import UserAdmin from "@/ApiClasses/UserAdmin.ts";
import type { AxiosResponse, AxiosError } from "axios";
/*
const props = defineProps<{
projectId: number;
}>();
const projectId = props.projectId;
*/
import { getEntrepreneurProjectId } from "@/services/Apis/Entrepreneurs";
const IS_MOCK_MODE = false;
const isAdmin_ = isAdmin();
const admin = ref<UserAdmin | null>(null);
const projectId = ref<number>(-1);
const mockAdminData = new UserAdmin({
idUser: 1,
@ -60,6 +54,35 @@ const mockAdminData = new UserAdmin({
phoneNumber: "0600000000",
});
function getProjectId(): Promise<number> {
return new Promise((resolve) => {
getEntrepreneurProjectId(
(response) => {
const projectIds = response.data;
if (!Array.isArray(projectIds) || projectIds.length === 0) {
console.warn("Aucun projet trouvé pour cet entrepreneur.");
resolve(-1);
return;
}
resolve(projectIds[0]);
},
(error) => {
console.error("Erreur API :", error);
resolve(-1);
}
);
});
}
async function fetchProjectId() {
try {
projectId.value = await getProjectId();
console.log("ProjectId :", projectId.value);
} catch (error) {
console.error("Erreur lors de la récupération du projet :", error);
}
}
const fetchAdminData = (projectId: number, useMock = IS_MOCK_MODE) => {
if (useMock) {
console.log("Utilisation des données mockées pour l'administrateur");
@ -67,6 +90,18 @@ const fetchAdminData = (projectId: number, useMock = IS_MOCK_MODE) => {
return;
}
if (projectId === -1) {
admin.value = {
idUser: 0,
userSurname: "Erreur",
userName: "Chargement",
primaryMail: "N/A",
secondaryMail: "N/A",
phoneNumber: "N/A",
};
return;
}
getProjectAdmin(
projectId,
(response: AxiosResponse) => {
@ -90,8 +125,8 @@ const fetchAdminData = (projectId: number, useMock = IS_MOCK_MODE) => {
};
onMounted(() => {
const projectId = 101;
fetchAdminData(projectId);
fetchProjectId();
fetchAdminData(projectId.value);
});
</script>