We do not make email optional here cause we want to
allow passing in primaryUserId. If we make email optional,
and if the user provides a primaryUserId, then it may result in two problems:
there is no recipeUserId = input primaryUserId, in this case,
this function will throw an error
There is a recipe userId = input primaryUserId, but that recipe has no email,
or has wrong email compared to what the user wanted to generate a reset token for.
And we want to allow primaryUserId being passed in.
We do not make email optional here cause we want to allow passing in primaryUserId. If we make email optional, and if the user provides a primaryUserId, then it may result in two problems:
And we want to allow primaryUserId being passed in.