diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2018-04-02 04:01:34 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2018-04-02 04:01:34 +0900 |
| commit | e8bde94e5bccf1303a1aec2f86544d59452bbb9d (patch) | |
| tree | 50fb517ca91c3ba5e10b2186046880a29137877d /src/server | |
| parent | Fix: Add missing bracket (diff) | |
| download | sharkey-e8bde94e5bccf1303a1aec2f86544d59452bbb9d.tar.gz sharkey-e8bde94e5bccf1303a1aec2f86544d59452bbb9d.tar.bz2 sharkey-e8bde94e5bccf1303a1aec2f86544d59452bbb9d.zip | |
Refactor
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/activitypub/inbox.ts | 7 | ||||
| -rw-r--r-- | src/server/api/bot/core.ts | 10 | ||||
| -rw-r--r-- | src/server/api/endpoints/posts/create.ts | 10 | ||||
| -rw-r--r-- | src/server/api/private/signin.ts | 8 |
4 files changed, 18 insertions, 17 deletions
diff --git a/src/server/activitypub/inbox.ts b/src/server/activitypub/inbox.ts index 6d092e66bf..cb679dbf0e 100644 --- a/src/server/activitypub/inbox.ts +++ b/src/server/activitypub/inbox.ts @@ -1,8 +1,9 @@ import * as bodyParser from 'body-parser'; import * as express from 'express'; import { parseRequest, verifySignature } from 'http-signature'; -import User, { IRemoteAccount } from '../../models/user'; +import User, { IRemoteUser } from '../../models/user'; import queue from '../../queue'; +import parseAcct from '../../common/user/parse-acct'; const app = express(); app.disable('x-powered-by'); @@ -36,13 +37,13 @@ app.post('/@:user/inbox', async (req, res) => { }; } - const user = await User.findOne(query); + const user = await User.findOne(query) as IRemoteUser; if (user === null) { return res.sendStatus(401); } - if (!verifySignature(parsed, (user.account as IRemoteAccount).publicKey.publicKeyPem)) { + if (!verifySignature(parsed, user.account.publicKey.publicKeyPem)) { return res.sendStatus(401); } diff --git a/src/server/api/bot/core.ts b/src/server/api/bot/core.ts index f84f1f5dca..d636cc26e7 100644 --- a/src/server/api/bot/core.ts +++ b/src/server/api/bot/core.ts @@ -1,7 +1,7 @@ import * as EventEmitter from 'events'; import * as bcrypt from 'bcryptjs'; -import User, { ILocalAccount, IUser, init as initUser } from '../../../models/user'; +import User, { IUser, init as initUser, ILocalUser } from '../../../models/user'; import getPostSummary from '../../../common/get-post-summary'; import getUserSummary from '../../../common/user/get-summary'; @@ -198,7 +198,7 @@ abstract class Context extends EventEmitter { } class SigninContext extends Context { - private temporaryUser: IUser = null; + private temporaryUser: ILocalUser = null; public async greet(): Promise<string> { return 'まずユーザー名を教えてください:'; @@ -207,14 +207,14 @@ class SigninContext extends Context { public async q(query: string): Promise<string> { if (this.temporaryUser == null) { // Fetch user - const user: IUser = await User.findOne({ + const user = await User.findOne({ usernameLower: query.toLowerCase(), host: null }, { fields: { data: false } - }); + }) as ILocalUser; if (user === null) { return `${query}というユーザーは存在しませんでした... もう一度教えてください:`; @@ -225,7 +225,7 @@ class SigninContext extends Context { } } else { // Compare password - const same = await bcrypt.compare(query, (this.temporaryUser.account as ILocalAccount).password); + const same = await bcrypt.compare(query, this.temporaryUser.account.password); if (same) { this.bot.signin(this.temporaryUser); diff --git a/src/server/api/endpoints/posts/create.ts b/src/server/api/endpoints/posts/create.ts index 6e7d2329a7..4de9176947 100644 --- a/src/server/api/endpoints/posts/create.ts +++ b/src/server/api/endpoints/posts/create.ts @@ -5,9 +5,9 @@ import $ from 'cafy'; import deepEqual = require('deep-equal'); import html from '../../../../common/text/html'; import parse from '../../../../common/text/parse'; -import { default as Post, IPost, isValidText, isValidCw } from '../../../../models/post'; -import { default as User, ILocalAccount, IUser } from '../../../../models/user'; -import { default as Channel, IChannel } from '../../../../models/channel'; +import Post, { IPost, isValidText, isValidCw } from '../../../../models/post'; +import User, { ILocalUser } from '../../../../models/user'; +import Channel, { IChannel } from '../../../../models/channel'; import Following from '../../../../models/following'; import Mute from '../../../../models/mute'; import DriveFile from '../../../../models/drive-file'; @@ -29,7 +29,7 @@ import config from '../../../../conf'; * @param {any} app * @return {Promise<any>} */ -module.exports = (params, user: IUser, app) => new Promise(async (res, rej) => { +module.exports = (params, user: ILocalUser, app) => new Promise(async (res, rej) => { // Get 'text' parameter const [text, textErr] = $(params.text).optional.string().pipe(isValidText).$; if (textErr) return rej('invalid text'); @@ -400,7 +400,7 @@ module.exports = (params, user: IUser, app) => new Promise(async (res, rej) => { }); // この投稿をWatchする - if ((user.account as ILocalAccount).settings.autoWatch !== false) { + if (user.account.settings.autoWatch !== false) { watch(user._id, reply); } diff --git a/src/server/api/private/signin.ts b/src/server/api/private/signin.ts index 4b70644910..4ad5097e59 100644 --- a/src/server/api/private/signin.ts +++ b/src/server/api/private/signin.ts @@ -1,7 +1,7 @@ import * as express from 'express'; import * as bcrypt from 'bcryptjs'; import * as speakeasy from 'speakeasy'; -import { default as User, ILocalAccount, IUser } from '../../../models/user'; +import User, { ILocalUser } from '../../../models/user'; import Signin, { pack } from '../../../models/signin'; import event from '../../../common/event'; import signin from '../common/signin'; @@ -31,7 +31,7 @@ export default async (req: express.Request, res: express.Response) => { } // Fetch user - const user: IUser = await User.findOne({ + const user = await User.findOne({ usernameLower: username.toLowerCase(), host: null }, { @@ -39,7 +39,7 @@ export default async (req: express.Request, res: express.Response) => { data: false, 'account.profile': false } - }); + }) as ILocalUser; if (user === null) { res.status(404).send({ @@ -48,7 +48,7 @@ export default async (req: express.Request, res: express.Response) => { return; } - const account = user.account as ILocalAccount; + const account = user.account; // Compare password const same = await bcrypt.compare(password, account.password); |