diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2018-04-08 15:25:17 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2018-04-08 15:25:17 +0900 |
| commit | 6d49edc0ab7af36f5d0d54397ddb1eacbb9c18b4 (patch) | |
| tree | ed5663433c9cf1e78c176ddf731aba79792c07f0 /src | |
| parent | Use id in uri instead of username (diff) | |
| download | sharkey-6d49edc0ab7af36f5d0d54397ddb1eacbb9c18b4.tar.gz sharkey-6d49edc0ab7af36f5d0d54397ddb1eacbb9c18b4.tar.bz2 sharkey-6d49edc0ab7af36f5d0d54397ddb1eacbb9c18b4.zip | |
:v:
Diffstat (limited to 'src')
| -rw-r--r-- | src/remote/resolve-user.ts | 5 | ||||
| -rw-r--r-- | src/server/api/endpoints/users/show.ts | 4 | ||||
| -rw-r--r-- | src/server/webfinger.ts | 9 |
3 files changed, 11 insertions, 7 deletions
diff --git a/src/remote/resolve-user.ts b/src/remote/resolve-user.ts index 9e1ae51952..0e7edd8e12 100644 --- a/src/remote/resolve-user.ts +++ b/src/remote/resolve-user.ts @@ -2,12 +2,17 @@ import { toUnicode, toASCII } from 'punycode'; import User from '../models/user'; import resolvePerson from './activitypub/resolve-person'; import webFinger from './webfinger'; +import config from '../config'; export default async (username, host, option) => { const usernameLower = username.toLowerCase(); const hostLowerAscii = toASCII(host).toLowerCase(); const hostLower = toUnicode(hostLowerAscii); + if (config.host == hostLower) { + return await User.findOne({ usernameLower }); + } + let user = await User.findOne({ usernameLower, hostLower }, option); if (user === null) { diff --git a/src/server/api/endpoints/users/show.ts b/src/server/api/endpoints/users/show.ts index d272ce4639..7e7f5dc488 100644 --- a/src/server/api/endpoints/users/show.ts +++ b/src/server/api/endpoints/users/show.ts @@ -9,10 +9,6 @@ const cursorOption = { fields: { data: false } }; /** * Show a user - * - * @param {any} params - * @param {any} me - * @return {Promise<any>} */ module.exports = (params, me) => new Promise(async (res, rej) => { let user; diff --git a/src/server/webfinger.ts b/src/server/webfinger.ts index fd7ebc3fb5..dbf0999f3e 100644 --- a/src/server/webfinger.ts +++ b/src/server/webfinger.ts @@ -4,9 +4,9 @@ import config from '../config'; import parseAcct from '../acct/parse'; import User from '../models/user'; -const app = express(); +const app = express.Router(); -app.get('/.well-known/webfinger', async (req: express.Request, res: express.Response) => { +app.get('/.well-known/webfinger', async (req, res) => { if (typeof req.query.resource !== 'string') { return res.sendStatus(400); } @@ -38,11 +38,14 @@ app.get('/.well-known/webfinger', async (req: express.Request, res: express.Resp links: [{ rel: 'self', type: 'application/activity+json', - href: `${config.url}/@${user.username}` + href: `${config.url}/users/${user._id}` }, { rel: 'http://webfinger.net/rel/profile-page', type: 'text/html', href: `${config.url}/@${user.username}` + }, { + rel: 'http://ostatus.org/schema/1.0/subscribe', + template: `${config.url}/authorize-follow?acct={uri}` }] }); }); |