chore(workspaces): check user email verified and add user to workspace

This commit is contained in:
Alessandro Magionami
2025-01-22 09:57:38 +01:00
parent adaad0d027
commit abf0ccf835
3 changed files with 128 additions and 46 deletions
@@ -799,33 +799,34 @@ export = FF_WORKSPACES_MODULE_ENABLED
})({ userId: ctx.userId!, workspaceId: args.input.workspaceId })
},
requestToJoin: async (_parent, args, ctx) => {
const transaction = await db.transaction()
const createWorkspaceJoinRequest = createWorkspaceJoinRequestFactory({
db: transaction
const requestToJoin = commandFactory({
db,
operationFactory: ({ db }) => {
const createWorkspaceJoinRequest = createWorkspaceJoinRequestFactory({
db
})
const sendWorkspaceJoinRequestReceivedEmail =
sendWorkspaceJoinRequestReceivedEmailFactory({
renderEmail,
sendEmail,
getServerInfo,
getWorkspaceCollaborators: getWorkspaceCollaboratorsFactory({
db
}),
getUserEmails: findEmailsByUserIdFactory({ db })
})
return requestToJoinWorkspaceFactory({
createWorkspaceJoinRequest,
sendWorkspaceJoinRequestReceivedEmail,
getUserById: getUserFactory({ db }),
getWorkspace: getWorkspaceFactory({ db })
})
}
})
return await requestToJoin({
userId: ctx.userId!,
workspaceId: args.input.workspaceId
})
const sendWorkspaceJoinRequestReceivedEmail =
sendWorkspaceJoinRequestReceivedEmailFactory({
renderEmail,
sendEmail,
getServerInfo,
getWorkspaceCollaborators: getWorkspaceCollaboratorsFactory({
db: transaction
}),
getUserEmails: findEmailsByUserIdFactory({ db: transaction })
})
return await withTransaction(
requestToJoinWorkspaceFactory({
createWorkspaceJoinRequest,
sendWorkspaceJoinRequestReceivedEmail,
getUserById: getUserFactory({ db: transaction }),
getWorkspace: getWorkspaceFactory({ db: transaction })
})({
userId: ctx.userId!,
workspaceId: args.input.workspaceId
}),
transaction
)
}
},
WorkspaceInviteMutations: {