diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2019-02-24 17:57:49 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2019-02-24 17:57:49 +0900 |
| commit | f4ae9391248d9ba366210be215681537ce9ecb49 (patch) | |
| tree | 28de199e28cf57ea5254da4c1f300e16b3996a5f /src/server/api/endpoints/i/update_email.ts | |
| parent | Refactor (diff) | |
| download | misskey-f4ae9391248d9ba366210be215681537ce9ecb49.tar.gz misskey-f4ae9391248d9ba366210be215681537ce9ecb49.tar.bz2 misskey-f4ae9391248d9ba366210be215681537ce9ecb49.zip | |
ハイフンに統一
Diffstat (limited to 'src/server/api/endpoints/i/update_email.ts')
| -rw-r--r-- | src/server/api/endpoints/i/update_email.ts | 100 |
1 files changed, 0 insertions, 100 deletions
diff --git a/src/server/api/endpoints/i/update_email.ts b/src/server/api/endpoints/i/update_email.ts deleted file mode 100644 index c90462d850..0000000000 --- a/src/server/api/endpoints/i/update_email.ts +++ /dev/null @@ -1,100 +0,0 @@ -import $ from 'cafy'; -import User, { pack } from '../../../../models/user'; -import { publishMainStream } from '../../../../services/stream'; -import define from '../../define'; -import * as nodemailer from 'nodemailer'; -import fetchMeta from '../../../../misc/fetch-meta'; -import rndstr from 'rndstr'; -import config from '../../../../config'; -import * as ms from 'ms'; -import * as bcrypt from 'bcryptjs'; -import { apiLogger } from '../../logger'; - -export const meta = { - requireCredential: true, - - secure: true, - - limit: { - duration: ms('1hour'), - max: 3 - }, - - params: { - password: { - validator: $.str - }, - - email: { - validator: $.optional.nullable.str - }, - } -}; - -export default define(meta, async (ps, user) => { - // Compare password - const same = await bcrypt.compare(ps.password, user.password); - - if (!same) { - throw new Error('incorrect password'); - } - - await User.update(user._id, { - $set: { - email: ps.email, - emailVerified: false, - emailVerifyCode: null - } - }); - - const iObj = await pack(user._id, user, { - detail: true, - includeSecrets: true - }); - - // Publish meUpdated event - publishMainStream(user._id, 'meUpdated', iObj); - - if (ps.email != null) { - const code = rndstr('a-z0-9', 16); - - await User.update(user._id, { - $set: { - emailVerifyCode: code - } - }); - - const meta = await fetchMeta(); - - const enableAuth = meta.smtpUser != null && meta.smtpUser !== ''; - - const transporter = nodemailer.createTransport({ - host: meta.smtpHost, - port: meta.smtpPort, - secure: meta.smtpSecure, - ignoreTLS: !enableAuth, - auth: enableAuth ? { - user: meta.smtpUser, - pass: meta.smtpPass - } : undefined - }); - - const link = `${config.url}/verify-email/${code}`; - - transporter.sendMail({ - from: meta.email, - to: ps.email, - subject: meta.name, - text: `To verify email, please click this link: ${link}` - }, (error, info) => { - if (error) { - apiLogger.error(error); - return; - } - - apiLogger.info('Message sent: %s', info.messageId); - }); - } - - return iObj; -}); |