fix: api integration
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import { type AxiosError, type AxiosResponse } from "axios";
|
||||
import Project from "@/ApiClasses/Project";
|
||||
import Report from "@/ApiClasses/Repport";
|
||||
import ProjectDecision from "@/ApiClasses/ProjectDecision";
|
||||
import {
|
||||
axiosInstance,
|
||||
defaultApiErrorHandler,
|
||||
@@ -53,51 +53,50 @@ function validateUserAccount(
|
||||
});
|
||||
}
|
||||
|
||||
// function getPendingProjectJoinRequests( // Not yet implemented [cite: 3]
|
||||
// onSuccessHandler?: (response: AxiosResponse) => void,
|
||||
// onErrorHandler?: (error: AxiosError) => void
|
||||
// ): void {
|
||||
// axiosInstance
|
||||
// .get("/admin/request-join")
|
||||
// .then((response) => {
|
||||
// if (onSuccessHandler) {
|
||||
// onSuccessHandler(response);
|
||||
// } else {
|
||||
// defaultApiSuccessHandler(response);
|
||||
// }
|
||||
// })
|
||||
// .catch((error: AxiosError) => {
|
||||
// if (onErrorHandler) {
|
||||
// onErrorHandler(error);
|
||||
// } else {
|
||||
// defaultApiErrorHandler(error);
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
|
||||
// function decideProjectJoinRequest( // Not yet implemented [cite: 3]
|
||||
// joinRequestId: number,
|
||||
// decision: { isAccepted: boolean },
|
||||
// onSuccessHandler?: (response: AxiosResponse) => void,
|
||||
// onErrorHandler?: (error: AxiosError) => void
|
||||
// ): void {
|
||||
// axiosInstance
|
||||
// .post(`/admin/request-join/decision/${joinRequestId}`, decision)
|
||||
// .then((response) => {
|
||||
// if (onSuccessHandler) {
|
||||
// onSuccessHandler(response);
|
||||
// } else {
|
||||
// defaultApiSuccessHandler(response);
|
||||
// }
|
||||
// })
|
||||
// .catch((error: AxiosError) => {
|
||||
// if (onErrorHandler) {
|
||||
// onErrorHandler(error);
|
||||
// } else {
|
||||
// defaultApiErrorHandler(error);
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
function getPendingProjectJoinRequests( // Not yet implemented
|
||||
onSuccessHandler?: (response: AxiosResponse) => void,
|
||||
onErrorHandler?: (error: AxiosError) => void
|
||||
): void {
|
||||
axiosInstance
|
||||
.get("/admin/request-join")
|
||||
.then((response) => {
|
||||
if (onSuccessHandler) {
|
||||
onSuccessHandler(response);
|
||||
} else {
|
||||
defaultApiSuccessHandler(response);
|
||||
}
|
||||
})
|
||||
.catch((error: AxiosError) => {
|
||||
if (onErrorHandler) {
|
||||
onErrorHandler(error);
|
||||
} else {
|
||||
defaultApiErrorHandler(error);
|
||||
}
|
||||
});
|
||||
}
|
||||
function decideProjectJoinRequest( // Not yet implemented
|
||||
joinRequestId: number,
|
||||
decision: { isAccepted: boolean },
|
||||
onSuccessHandler?: (response: AxiosResponse) => void,
|
||||
onErrorHandler?: (error: AxiosError) => void
|
||||
): void {
|
||||
axiosInstance
|
||||
.post(`/admin/request-join/decision/${joinRequestId}`, decision)
|
||||
.then((response) => {
|
||||
if (onSuccessHandler) {
|
||||
onSuccessHandler(response);
|
||||
} else {
|
||||
defaultApiSuccessHandler(response);
|
||||
}
|
||||
})
|
||||
.catch((error: AxiosError) => {
|
||||
if (onErrorHandler) {
|
||||
onErrorHandler(error);
|
||||
} else {
|
||||
defaultApiErrorHandler(error);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function getAdminProjects(
|
||||
onSuccessHandler?: (response: AxiosResponse) => void,
|
||||
@@ -121,27 +120,20 @@ function getAdminProjects(
|
||||
});
|
||||
}
|
||||
|
||||
type ProjectCreatePayload = {
|
||||
projectName: string;
|
||||
logo?: string;
|
||||
};
|
||||
|
||||
function addProjectManually(
|
||||
projectDetails: Project, // Replace 'any' with a proper type for project details if available
|
||||
onSuccessHandler?: (response: AxiosResponse) => void,
|
||||
onErrorHandler?: (error: AxiosError) => void
|
||||
payload: ProjectCreatePayload,
|
||||
onSuccess?: (response: AxiosResponse) => void,
|
||||
onError?: (error: AxiosError) => void
|
||||
): void {
|
||||
axiosInstance
|
||||
.post("/admin/projects", projectDetails)
|
||||
.then((response) => {
|
||||
if (onSuccessHandler) {
|
||||
onSuccessHandler(response);
|
||||
} else {
|
||||
defaultApiSuccessHandler(response);
|
||||
}
|
||||
})
|
||||
.catch((error: AxiosError) => {
|
||||
if (onErrorHandler) {
|
||||
onErrorHandler(error);
|
||||
} else {
|
||||
defaultApiErrorHandler(error);
|
||||
}
|
||||
});
|
||||
.post("/admin/projects", payload)
|
||||
.then((response) => onSuccess?.(response))
|
||||
.catch((error: AxiosError) => onError?.(error));
|
||||
}
|
||||
|
||||
function getPendingProjects(
|
||||
@@ -167,13 +159,12 @@ function getPendingProjects(
|
||||
}
|
||||
|
||||
function decidePendingProject(
|
||||
pendingProjectId: number,
|
||||
decision: { projectId: number; adminId: number; isAccepted: boolean }, // Replace 'any' with a proper type for project decision if available
|
||||
decision: ProjectDecision,
|
||||
onSuccessHandler?: (response: AxiosResponse) => void,
|
||||
onErrorHandler?: (error: AxiosError) => void
|
||||
): void {
|
||||
axiosInstance
|
||||
.post(`/admin/projects/pending/decision/${pendingProjectId}`, decision)
|
||||
.post(`/admin/projects/pending/decision`, decision.toObject())
|
||||
.then((response) => {
|
||||
if (onSuccessHandler) {
|
||||
onSuccessHandler(response);
|
||||
@@ -308,11 +299,11 @@ function grantAdminRights(
|
||||
|
||||
export {
|
||||
axiosInstance,
|
||||
// requestJoinProject, // Not yet implemented [cite: 4]
|
||||
//requestJoinProject, // Not yet implemented [cite: 4]
|
||||
getPendingAccounts,
|
||||
validateUserAccount,
|
||||
// getPendingProjectJoinRequests, // Not yet implemented [cite: 3]
|
||||
// decideProjectJoinRequest, // Not yet implemented [cite: 3]
|
||||
getPendingProjectJoinRequests, // Not yet implemented [cite: 3]
|
||||
decideProjectJoinRequest, // Not yet implemented [cite: 3]
|
||||
getAdminProjects,
|
||||
addProjectManually,
|
||||
getPendingProjects,
|
||||
|
Reference in New Issue
Block a user