Skip to content

Commit 3d2992c

Browse files
committed
Add User#RequestVerifyEmail API
1 parent f188564 commit 3d2992c

File tree

3 files changed

+24
-0
lines changed

3 files changed

+24
-0
lines changed

src/common/api/user.js

+3
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ export default (apiEngine) => ({
44
verifyEmail: ({ token }) => apiEngine.post('/api/users/email/verify', {
55
data: { verifyEmailToken: token },
66
}),
7+
requestVerifyEmail: (form) => (
8+
apiEngine.post('/api/users/email/request-verify', { data: form })
9+
),
710
login: (user) => apiEngine.post('/api/users/login', { data: user }),
811
requestResetPassword: (form) => (
912
apiEngine.post('/api/users/password/request-reset', { data: form })

src/common/components/forms/user/VerifyEmailForm.js

+14
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import Alert from 'react-bootstrap/lib/Alert';
66
import Button from 'react-bootstrap/lib/Button';
77
// import validator from 'validator';
88
import FormNames from '../../../constants/FormNames';
9+
import userAPI from '../../../api/user';
910
import { validateForm } from '../../../actions/formActions';
1011
import { pushErrors } from '../../../actions/errorActions';
1112
import { Form, FormField, FormFooter } from '../../utils/BsForm';
@@ -59,6 +60,19 @@ class VerifyEmailForm extends Component {
5960
}
6061

6162
_handleSubmit(formData) {
63+
let { dispatch, apiEngine, initialize } = this.props;
64+
65+
return userAPI(apiEngine)
66+
.requestVerifyEmail(formData)
67+
.catch((err) => {
68+
dispatch(pushErrors(err));
69+
throw err;
70+
})
71+
.then((json) => {
72+
initialize({
73+
email: '',
74+
});
75+
});
6276
}
6377

6478
_handleCancleClick() {

src/server/routes/api.js

+7
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,13 @@ export default ({ app }) => {
3434
validate.verifyUserNonce('verifyEmail'),
3535
userController.verifyEmail
3636
);
37+
app.post('/api/users/email/request-verify',
38+
bodyParser.json,
39+
validate.form('user/VerifyEmailForm'),
40+
validate.recaptcha,
41+
userController.setNonce('verifyEmail'),
42+
mailController.sendVerification
43+
);
3744
app.post('/api/users/login', bodyParser.json, userController.login);
3845
app.post('/api/users/password/request-reset',
3946
bodyParser.json,

0 commit comments

Comments
 (0)