Skip to content

Commit 29b8d68

Browse files
authored
fix: unable to save workflow with verified secondary email (#21338)
* fix: unable to save workflow * Update util.ts
1 parent 6994cac commit 29b8d68

1 file changed

Lines changed: 39 additions & 2 deletions

File tree

  • packages/trpc/server/routers/viewer/workflows

packages/trpc/server/routers/viewer/workflows/util.ts

Lines changed: 39 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,28 @@ export const verifyEmailSender = async (email: string, userId: number, teamId: n
137137
return;
138138
}
139139

140+
// Check if it's a verified secondary email of the user
141+
const secondaryEmail = await prisma.secondaryEmail.findFirst({
142+
where: {
143+
userId,
144+
email,
145+
emailVerified: {
146+
not: null,
147+
},
148+
},
149+
});
150+
151+
if (secondaryEmail) {
152+
await prisma.verifiedEmail.create({
153+
data: {
154+
email,
155+
userId,
156+
teamId,
157+
},
158+
});
159+
return;
160+
}
161+
140162
if (teamId) {
141163
const team = await prisma.team.findFirst({
142164
where: {
@@ -149,6 +171,12 @@ export const verifyEmailSender = async (email: string, userId: number, teamId: n
149171
select: {
150172
id: true,
151173
email: true,
174+
secondaryEmails: {
175+
select: {
176+
email: true,
177+
emailVerified: true,
178+
},
179+
},
152180
},
153181
},
154182
},
@@ -166,9 +194,18 @@ export const verifyEmailSender = async (email: string, userId: number, teamId: n
166194
throw new TRPCError({ code: "FORBIDDEN", message: "You are not a member of this team" });
167195
}
168196

169-
const teamMemberEmail = team.members.filter((member) => member.user.email === email);
197+
let foundTeamMember = team.members.find((member) => member.user.email === email);
198+
199+
// Only check secondary emails if no match was found with primary email
200+
if (!foundTeamMember) {
201+
foundTeamMember = team.members.find((member) =>
202+
member.user.secondaryEmails.some(
203+
(secondary) => secondary.email === email && !!secondary.emailVerified
204+
)
205+
);
206+
}
170207

171-
if (teamMemberEmail) {
208+
if (foundTeamMember) {
172209
await prisma.verifiedEmail.create({
173210
data: {
174211
email,

0 commit comments

Comments
 (0)