diff --git a/front/MyINPulse-front/src/App.vue b/front/MyINPulse-front/src/App.vue index d359e36..d7f23f6 100644 --- a/front/MyINPulse-front/src/App.vue +++ b/front/MyINPulse-front/src/App.vue @@ -4,9 +4,22 @@ import ErrorWrapper from "@/views/errorWrapper.vue"; diff --git a/front/MyINPulse-front/src/components/canvas/Lean-canvas.vue b/front/MyINPulse-front/src/components/canvas/Lean-canvas.vue new file mode 100644 index 0000000..40b1b80 --- /dev/null +++ b/front/MyINPulse-front/src/components/canvas/Lean-canvas.vue @@ -0,0 +1,71 @@ + + + + + \ No newline at end of file diff --git a/front/MyINPulse-front/src/router/index.ts b/front/MyINPulse-front/src/router/index.ts new file mode 100644 index 0000000..e69de29 diff --git a/front/MyINPulse-front/src/services/Apis/Admin.ts b/front/MyINPulse-front/src/services/Apis/Admin.ts index 6c9e300..4ca6231 100644 --- a/front/MyINPulse-front/src/services/Apis/Admin.ts +++ b/front/MyINPulse-front/src/services/Apis/Admin.ts @@ -1,6 +1,7 @@ import { type AxiosError, type AxiosResponse } from "axios"; import Report from "@/ApiClasses/Repport"; import ProjectDecision from "@/ApiClasses/ProjectDecision"; +import UserAdmin from "@/ApiClasses/UserAdmin"; import { axiosInstance, defaultApiErrorHandler, @@ -297,6 +298,29 @@ function grantAdminRights( }); } +function createAdmin( + onSuccessHandler?: (response: AxiosResponse) => void, + onErrorHandler?: (error: AxiosError) => void +): void { + axiosInstance + .post("/admin/create-account") + .then((response) => { + if (onSuccessHandler) { + onSuccessHandler(response); + } else { + defaultApiSuccessHandler(response); + } + }) + .catch((error: AxiosError) => { + if (onErrorHandler) { + onErrorHandler(error); + } else { + defaultApiErrorHandler(error); + } + }); +} + + export { axiosInstance, //requestJoinProject, // Not yet implemented [cite: 4] @@ -313,4 +337,5 @@ export { getUpcomingAppointments, removeProject, grantAdminRights, + createAdmin, }; diff --git a/front/MyINPulse-front/src/views/AdminMain.vue b/front/MyINPulse-front/src/views/AdminMain.vue index 6b7b2be..dd2e23e 100644 --- a/front/MyINPulse-front/src/views/AdminMain.vue +++ b/front/MyINPulse-front/src/views/AdminMain.vue @@ -44,9 +44,10 @@ import ProjectComp from "../components/ProjectComponent.vue"; import PendingProjectComponent from "@/components/PendingProjectComponent.vue"; import AddProjectForm from "@/components/AddProjectForm.vue"; import PendingRequestsManager from "@/components/PendingRequestsManager.vue"; - +import { createAdmin } from "@/services/Apis/Admin"; import Project from "@/ApiClasses/Project"; import UserEntrepreneur from "@/ApiClasses/UserEntrepreneur"; +import UserAdmin from "@/ApiClasses/UserAdmin"; //import AllEntrep from "../components/AllEntrep.vue"; const projects = ref< { @@ -69,6 +70,18 @@ const fallbackProjects = [ }, ]; +const createFirstAdmin = () => { + createAdmin( + (response) => { + console.log("Admin créé avec succès :", response.data); + }, + (error) => { + console.error("Erreur lors de la création de l'admin :", error.message); + } + ); +}; + + const fetchProjects = () => { getAdminProjects( (response: AxiosResponse) => { @@ -122,6 +135,7 @@ const fetchProjects = () => { }; onMounted(fetchProjects); +onMounted(createFirstAdmin); const pendingProjects = ref([]);