Skip to content

Commit ecaa266

Browse files
committed
feat: add comprehensive logging for member addition tracking
Added detailed console logging to track member addition process: Client-side (AddMembersModal): - πŸš€ Starting member update - Selected members count and names - Team leader info - πŸ“€ Sending to database with count - βœ… Success confirmation with count - ❌ Failure logging with error details Server-side (updateProjectMembers): - πŸ”§ Server-side update starting - Project ID and member count - Existing members count in DB - Members being deleted - Members being inserted (IDs and roles) - βœ… Success with final count - ❌ Error details Example output when adding 3 members: ``` πŸš€ [AddMembersModal] Starting member update Selected members count: 3 Selected member names: ['John Doe', 'Jane Smith', 'Bob Johnson'] Team leader: Alice Manager πŸ“€ [AddMembersModal] Sending to database Total members (including team leader): 4 Project ID: abc-123 πŸ”§ [updateProjectMembers] Server-side update starting Project ID: abc-123 Members to add: 4 Existing members in DB: 1 Old members deleted, preparing inserts... Inserting members: 4 Member IDs: [id1, id2, id3, id4] Roles: ['team_leader', 'member', 'member', 'member'] βœ… [updateProjectMembers] Successfully inserted 4 members βœ… [AddMembersModal] Update successful! Members added: 3 ``` This helps verify bulk addition is working correctly.
1 parent 9cf996d commit ecaa266

2 files changed

Lines changed: 29 additions & 2 deletions

File tree

β€Žapps/codebility/app/home/my-team/AddMembersModal.tsxβ€Ž

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -785,9 +785,14 @@ const AddMembersModal = ({
785785
return;
786786
}
787787

788+
console.log('πŸš€ [AddMembersModal] Starting member update');
789+
console.log(' Selected members count:', selectedMembers.length);
790+
console.log(' Selected member names:', selectedMembers.map(m => `${m.first_name} ${m.last_name}`));
791+
console.log(' Team leader:', `${teamLeadData.first_name} ${teamLeadData.last_name}`);
792+
788793
const loadingToast = toast.loading('Updating team members...');
789794
setIsUpdating(true);
790-
795+
791796
try {
792797
const updatedMembers = [
793798
{
@@ -806,17 +811,24 @@ const AddMembersModal = ({
806811
})),
807812
];
808813

814+
console.log('πŸ“€ [AddMembersModal] Sending to database');
815+
console.log(' Total members (including team leader):', updatedMembers.length);
816+
console.log(' Project ID:', project.id);
817+
809818
const result = await updateProjectMembers(
810819
project.id,
811820
updatedMembers,
812821
teamLeadData.id,
813822
);
814823

815824
if (result.success) {
825+
console.log('βœ… [AddMembersModal] Update successful!');
826+
console.log(' Members added:', selectedMembers.length);
816827
toast.success("Team members updated successfully!", { id: loadingToast });
817828
await onUpdate(selectedMembers);
818829
onClose();
819830
} else {
831+
console.error('❌ [AddMembersModal] Update failed:', result.error);
820832
toast.error(result.error || "Failed to update members", { id: loadingToast });
821833
}
822834
} catch (error) {

β€Žapps/codebility/app/home/projects/actions.tsβ€Ž

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -733,6 +733,11 @@ export const updateProjectMembers = async (
733733
members: Codev[],
734734
teamLeaderId: string,
735735
): Promise<{ success: boolean; error?: string }> => {
736+
console.log('πŸ”§ [updateProjectMembers] Server-side update starting');
737+
console.log(' Project ID:', projectId);
738+
console.log(' Members to add:', members.length);
739+
console.log(' Team Leader ID:', teamLeaderId);
740+
736741
const supabase = await createClientServerComponent();
737742

738743
try {
@@ -743,6 +748,8 @@ export const updateProjectMembers = async (
743748

744749
if (fetchError) throw fetchError;
745750

751+
console.log(' Existing members in DB:', existingMembers?.length ?? 0);
752+
746753
const joinedAtMap = new Map(
747754
existingMembers?.map(m => [m.codev_id, m.joined_at]) ?? []
748755
);
@@ -754,23 +761,31 @@ export const updateProjectMembers = async (
754761

755762
if (deleteError) throw deleteError;
756763

764+
console.log(' Old members deleted, preparing inserts...');
765+
757766
const memberInserts = members.map((member) => ({
758767
project_id: projectId,
759768
codev_id: member.id,
760769
role: member.id === teamLeaderId ? "team_leader" : "member",
761770
joined_at: joinedAtMap.get(member.id) ?? new Date().toISOString(),
762771
}));
763772

773+
console.log(' Inserting members:', memberInserts.length);
774+
console.log(' Member IDs:', memberInserts.map(m => m.codev_id));
775+
console.log(' Roles:', memberInserts.map(m => m.role));
776+
764777
const { error: insertError } = await supabase
765778
.from("project_members")
766779
.insert(memberInserts);
767780

768781
if (insertError) throw insertError;
769782

783+
console.log('βœ… [updateProjectMembers] Successfully inserted', memberInserts.length, 'members');
784+
770785
revalidatePath("/projects");
771786
return { success: true };
772787
} catch (error) {
773-
console.error("Error updating project members:", error);
788+
console.error("❌ [updateProjectMembers] Error updating project members:", error);
774789
return {
775790
success: false,
776791
error: error instanceof Error ? error.message : "Unknown error occurred",

0 commit comments

Comments
Β (0)