From 19b9cb105d49e2a00ae19e3dc1f2d36dc394f148 Mon Sep 17 00:00:00 2001 From: Akihiko Odaki Date: Mon, 26 Mar 2018 00:19:07 +0900 Subject: Introduce account document to user document An account document is attached to a user document if an account of the user is on the server. It may be missing if the user is on a remote server. --- src/api/private/signin.ts | 8 ++++---- src/api/private/signup.ts | 40 +++++++++++++++++++++------------------- 2 files changed, 25 insertions(+), 23 deletions(-) (limited to 'src/api/private') diff --git a/src/api/private/signin.ts b/src/api/private/signin.ts index b49d25d99a..ae0be03c73 100644 --- a/src/api/private/signin.ts +++ b/src/api/private/signin.ts @@ -36,7 +36,7 @@ export default async (req: express.Request, res: express.Response) => { }, { fields: { data: false, - profile: false + 'account.profile': false } }); @@ -48,12 +48,12 @@ export default async (req: express.Request, res: express.Response) => { } // Compare password - const same = await bcrypt.compare(password, user.password); + const same = await bcrypt.compare(password, user.account.password); if (same) { - if (user.two_factor_enabled) { + if (user.account.two_factor_enabled) { const verified = (speakeasy as any).totp.verify({ - secret: user.two_factor_secret, + secret: user.account.two_factor_secret, encoding: 'base32', token: token }); diff --git a/src/api/private/signup.ts b/src/api/private/signup.ts index 3df00ae426..902642425c 100644 --- a/src/api/private/signup.ts +++ b/src/api/private/signup.ts @@ -105,38 +105,40 @@ export default async (req: express.Request, res: express.Response) => { // Create account const account: IUser = await User.insert({ - token: secret, avatar_id: null, banner_id: null, created_at: new Date(), description: null, - email: null, followers_count: 0, following_count: 0, - links: null, name: name, - password: hash, posts_count: 0, likes_count: 0, liked_count: 0, drive_capacity: 1073741824, // 1GB username: username, username_lower: username.toLowerCase(), - profile: { - bio: null, - birthday: null, - blood: null, - gender: null, - handedness: null, - height: null, - location: null, - weight: null - }, - settings: { - auto_watch: true - }, - client_settings: { - home: homeData + account: { + token: secret, + email: null, + links: null, + password: hash, + profile: { + bio: null, + birthday: null, + blood: null, + gender: null, + handedness: null, + height: null, + location: null, + weight: null + }, + settings: { + auto_watch: true + }, + client_settings: { + home: homeData + } } }); -- cgit v1.2.3-freya