TTime/frontend/src/Components/AddMember.tsx

36 lines
980 B
TypeScript
Raw Normal View History

2024-04-04 11:26:39 +02:00
import { api } from "../API/API";
2024-03-31 20:54:00 +02:00
2024-04-04 11:26:39 +02:00
export interface AddMemberInfo {
userName: string;
projectName: string;
2024-03-31 20:54:00 +02:00
}
2024-03-28 01:31:53 +01:00
/**
* Tries to add a member to a project
2024-04-04 11:26:39 +02:00
* @param {AddMemberInfo} props.membertoAdd - Contains user's name and project's name
* @returns {Promise<void>}
2024-03-28 01:31:53 +01:00
*/
2024-04-04 11:26:39 +02:00
async function AddMember(props: { memberToAdd: AddMemberInfo }): Promise<void> {
if (props.memberToAdd.userName === "") {
alert("You must choose at least one user to add");
return;
2024-03-28 01:31:53 +01:00
}
2024-04-04 11:26:39 +02:00
try {
const response = await api.addUserToProject(
2024-03-28 01:31:53 +01:00
props.memberToAdd,
localStorage.getItem("accessToken") ?? "",
2024-04-04 11:26:39 +02:00
);
if (response.success) {
alert(`[${props.memberToAdd.userName}] added`);
} else {
alert(`[${props.memberToAdd.userName}] not added`);
console.error(response.message);
}
} catch (error) {
alert(`[${props.memberToAdd.userName}] not added`);
console.error("An error occurred during member add:", error);
}
2024-03-28 01:31:53 +01:00
}
export default AddMember;