Skip to content

Commit e2a28bc

Browse files
authored
Merge pull request #1393 from trycompai/main
[comp] Production Deploy
2 parents 9a2578c + ddb4bb2 commit e2a28bc

33 files changed

+575
-741
lines changed

apps/app/src/app/(app)/[orgId]/people/[employeeId]/actions/get-employee-details.ts

Lines changed: 0 additions & 69 deletions
This file was deleted.

apps/app/src/app/(app)/[orgId]/people/[employeeId]/actions/update-department.ts

Lines changed: 0 additions & 80 deletions
This file was deleted.

apps/app/src/app/(app)/[orgId]/people/[employeeId]/actions/update-employee-details.ts

Lines changed: 0 additions & 91 deletions
This file was deleted.

apps/app/src/app/(app)/[orgId]/people/[employeeId]/actions/update-employee-status.ts

Lines changed: 0 additions & 85 deletions
This file was deleted.

apps/app/src/app/(app)/[orgId]/people/[employeeId]/actions/update-employee.ts

Lines changed: 43 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,35 @@ export const updateEmployee = authActionClient
2929
const { employeeId, name, email, department, isActive, createdAt } = parsedInput;
3030

3131
const organizationId = ctx.session.activeOrganizationId;
32-
if (!organizationId) throw new Error(appErrors.UNAUTHORIZED.message);
32+
if (!organizationId) {
33+
return {
34+
success: false,
35+
error: {
36+
code: appErrors.UNAUTHORIZED,
37+
message: appErrors.UNAUTHORIZED.message,
38+
},
39+
};
40+
}
41+
42+
const currentUserMember = await db.member.findFirst({
43+
where: {
44+
organizationId: organizationId,
45+
userId: ctx.user.id,
46+
},
47+
});
48+
49+
if (
50+
!currentUserMember ||
51+
(!currentUserMember.role.includes('admin') && !currentUserMember.role.includes('owner'))
52+
) {
53+
return {
54+
success: false,
55+
error: {
56+
code: appErrors.UNAUTHORIZED,
57+
message: "You don't have permission to update members.",
58+
},
59+
};
60+
}
3361

3462
const member = await db.member.findUnique({
3563
where: {
@@ -40,7 +68,13 @@ export const updateEmployee = authActionClient
4068
});
4169

4270
if (!member || !member.user) {
43-
throw new Error(appErrors.NOT_FOUND.message);
71+
return {
72+
success: false,
73+
error: {
74+
code: appErrors.NOT_FOUND,
75+
message: appErrors.NOT_FOUND.message,
76+
},
77+
};
4478
}
4579

4680
const memberUpdateData: {
@@ -110,7 +144,13 @@ export const updateEmployee = authActionClient
110144
if (error.code === 'P2002') {
111145
const targetFields = error.meta?.target as string[] | undefined;
112146
if (targetFields?.includes('email')) {
113-
throw new Error('Email address is already in use.');
147+
return {
148+
success: false,
149+
error: {
150+
code: appErrors.UNEXPECTED_ERROR,
151+
message: 'Email address is already in use.',
152+
},
153+
};
114154
}
115155
}
116156
}

0 commit comments

Comments
 (0)