ChangeProjectName.tsx created and implemented + minor fix in main.go api paths
This commit is contained in:
parent
99eb5f17b5
commit
8948067514
3 changed files with 42 additions and 4 deletions
|
@ -126,7 +126,7 @@ func main() {
|
||||||
api.Delete("/removeUserFromProject/:projectName", projects.RemoveUserFromProject)
|
api.Delete("/removeUserFromProject/:projectName", projects.RemoveUserFromProject)
|
||||||
api.Delete("/removeProject/:projectName", projects.RemoveProject)
|
api.Delete("/removeProject/:projectName", projects.RemoveProject)
|
||||||
api.Delete("/project/:projectID", projects.DeleteProject)
|
api.Delete("/project/:projectID", projects.DeleteProject)
|
||||||
api.Put("/ChangeProjectName/:projectName", projects.ChangeProjectName)
|
api.Put("/changeProjectName/:projectName", projects.ChangeProjectName)
|
||||||
|
|
||||||
// All report related routes
|
// All report related routes
|
||||||
// reportGroup := api.Group("/report") // Not currently in use
|
// reportGroup := api.Group("/report") // Not currently in use
|
||||||
|
|
36
frontend/src/Components/ChangeProjectName.tsx
Normal file
36
frontend/src/Components/ChangeProjectName.tsx
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
import { APIResponse, api } from "../API/API";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Changes the name of a project
|
||||||
|
* @param {string} props.projectName - Current project name
|
||||||
|
* @param {string} props.newProjectName - New project name
|
||||||
|
* @returns {void} - Nothing
|
||||||
|
*/
|
||||||
|
export default function ChangeProjectName(props: {
|
||||||
|
projectName: string;
|
||||||
|
newProjectName: string;
|
||||||
|
}): void {
|
||||||
|
if (props.projectName === "" || props.projectName === props.newProjectName) {
|
||||||
|
alert("You have to give a new name\n\nName not changed");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
api
|
||||||
|
.changeProjectName(
|
||||||
|
props.projectName,
|
||||||
|
props.newProjectName,
|
||||||
|
localStorage.getItem("accessToken") ?? "",
|
||||||
|
)
|
||||||
|
.then((response: APIResponse<string>) => {
|
||||||
|
if (response.success) {
|
||||||
|
alert("Name changed successfully");
|
||||||
|
location.reload();
|
||||||
|
} else {
|
||||||
|
alert("Name not changed, name could be taken");
|
||||||
|
console.error(response.message);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((error) => {
|
||||||
|
alert("Name not changed");
|
||||||
|
console.error("An error occurred during change:", error);
|
||||||
|
});
|
||||||
|
}
|
|
@ -8,6 +8,7 @@ import InputField from "./InputField";
|
||||||
import ProjectNameInput from "./Inputs/ProjectNameInput";
|
import ProjectNameInput from "./Inputs/ProjectNameInput";
|
||||||
import { alphanumeric } from "../Data/regex";
|
import { alphanumeric } from "../Data/regex";
|
||||||
import { projNameHighLimit, projNameLowLimit } from "../Data/constants";
|
import { projNameHighLimit, projNameLowLimit } from "../Data/constants";
|
||||||
|
import ChangeProjectName from "./ChangeProjectName";
|
||||||
|
|
||||||
function ProjectInfoModal(props: {
|
function ProjectInfoModal(props: {
|
||||||
projectname: string;
|
projectname: string;
|
||||||
|
@ -50,9 +51,10 @@ function ProjectInfoModal(props: {
|
||||||
`Are you sure you want to change name of ${props.projectname} to ${newProjName}?`,
|
`Are you sure you want to change name of ${props.projectname} to ${newProjName}?`,
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
//TODO: change and insert change name functionality
|
ChangeProjectName({
|
||||||
alert("Not implemented yet");
|
projectName: props.projectname,
|
||||||
setNewProjName("");
|
newProjectName: newProjName,
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
alert("Name was not changed!");
|
alert("Name was not changed!");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue