This commit is contained in:
syuilo
2018-11-02 13:47:44 +09:00
parent ddc3c5ba68
commit 174f8022eb
131 changed files with 512 additions and 917 deletions

View File

@ -1,9 +1,9 @@
import $ from 'cafy'; import ID, { transform } from '../../../../misc/cafy-id';
import User, { ILocalUser } from '../../../../models/user';
import User from '../../../../models/user';
import Following from '../../../../models/following';
import { pack } from '../../../../models/user';
import { getFriendIds } from '../../common/get-friends';
import getParams from '../../get-params';
import define from '../../define';
export const meta = {
desc: {
@ -37,10 +37,7 @@ export const meta = {
}
};
export default (params: any, me: ILocalUser) => new Promise(async (res, rej) => {
const [ps, psErr] = getParams(meta, params);
if (psErr) return rej(psErr);
export default define(meta, (ps, me) => new Promise(async (res, rej) => {
// Lookup user
const user = await User.findOne({
_id: ps.userId
@ -95,4 +92,4 @@ export default (params: any, me: ILocalUser) => new Promise(async (res, rej) =>
users: users,
next: inStock ? following[following.length - 1]._id : null,
});
});
}));

View File

@ -1,9 +1,9 @@
import $ from 'cafy'; import ID, { transform } from '../../../../misc/cafy-id';
import User, { ILocalUser } from '../../../../models/user';
import User from '../../../../models/user';
import Following from '../../../../models/following';
import { pack } from '../../../../models/user';
import { getFriendIds } from '../../common/get-friends';
import getParams from '../../get-params';
import define from '../../define';
export const meta = {
desc: {
@ -37,10 +37,7 @@ export const meta = {
}
};
export default (params: any, me: ILocalUser) => new Promise(async (res, rej) => {
const [ps, psErr] = getParams(meta, params);
if (psErr) return rej(psErr);
export default define(meta, (ps, me) => new Promise(async (res, rej) => {
// Lookup user
const user = await User.findOne({
_id: ps.userId
@ -95,4 +92,4 @@ export default (params: any, me: ILocalUser) => new Promise(async (res, rej) =>
users: users,
next: inStock ? following[following.length - 1]._id : null,
});
});
}));

View File

@ -1,7 +1,7 @@
import $ from 'cafy'; import ID, { transform } from '../../../../misc/cafy-id';
import Note from '../../../../models/note';
import User, { pack, ILocalUser } from '../../../../models/user';
import getParams from '../../get-params';
import User, { pack } from '../../../../models/user';
import define from '../../define';
export const meta = {
requireCredential: false,
@ -19,10 +19,7 @@ export const meta = {
}
};
export default (params: any, me: ILocalUser) => new Promise(async (res, rej) => {
const [ps, psErr] = getParams(meta, params);
if (psErr) return rej(psErr);
export default define(meta, (ps, me) => new Promise(async (res, rej) => {
// Lookup user
const user = await User.findOne({
_id: ps.userId
@ -104,4 +101,4 @@ export default (params: any, me: ILocalUser) => new Promise(async (res, rej) =>
})));
res(repliesObj);
});
}));

View File

@ -1,7 +1,6 @@
import $ from 'cafy';
import UserList, { pack } from '../../../../../models/user-list';
import { ILocalUser } from '../../../../../models/user';
import getParams from '../../../get-params';
import define from '../../../define';
export const meta = {
desc: {
@ -20,10 +19,7 @@ export const meta = {
}
};
export default async (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
const [ps, psErr] = getParams(meta, params);
if (psErr) return rej(psErr);
export default define(meta, (ps, user) => new Promise(async (res, rej) => {
// insert
const userList = await UserList.insert({
createdAt: new Date(),
@ -34,4 +30,4 @@ export default async (params: any, user: ILocalUser) => new Promise(async (res,
// Response
res(await pack(userList));
});
}));

View File

@ -1,8 +1,7 @@
import $ from 'cafy';
import ID, { transform } from '../../../../../misc/cafy-id';
import UserList from '../../../../../models/user-list';
import { ILocalUser } from '../../../../../models/user';
import getParams from '../../../get-params';
import define from '../../../define';
export const meta = {
desc: {
@ -26,10 +25,7 @@ export const meta = {
}
};
export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
const [ps, psErr] = getParams(meta, params);
if (psErr) return rej(psErr);
export default define(meta, (ps, user) => new Promise(async (res, rej) => {
const userList = await UserList.findOne({
_id: ps.listId,
userId: user._id
@ -44,4 +40,4 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) =
});
res();
});
}));

View File

@ -1,5 +1,5 @@
import UserList, { pack } from '../../../../../models/user-list';
import { ILocalUser } from '../../../../../models/user';
import define from '../../../define';
export const meta = {
desc: {
@ -11,11 +11,11 @@ export const meta = {
kind: 'account-read'
};
export default async (params: any, me: ILocalUser) => new Promise(async (res, rej) => {
export default define(meta, (ps, me) => new Promise(async (res, rej) => {
// Fetch lists
const userLists = await UserList.find({
userId: me._id,
});
res(await Promise.all(userLists.map(x => pack(x))));
});
}));

View File

@ -1,11 +1,11 @@
import $ from 'cafy'; import ID, { transform } from '../../../../../misc/cafy-id';
import UserList from '../../../../../models/user-list';
import User, { pack as packUser, isRemoteUser, getGhost, ILocalUser } from '../../../../../models/user';
import User, { pack as packUser, isRemoteUser, getGhost } from '../../../../../models/user';
import { publishUserListStream } from '../../../../../stream';
import ap from '../../../../../remote/activitypub/renderer';
import renderFollow from '../../../../../remote/activitypub/renderer/follow';
import { deliver } from '../../../../../queue';
import getParams from '../../../get-params';
import define from '../../../define';
export const meta = {
desc: {
@ -30,10 +30,7 @@ export const meta = {
}
};
export default async (params: any, me: ILocalUser) => new Promise(async (res, rej) => {
const [ps, psErr] = getParams(meta, params);
if (psErr) return rej(psErr);
export default define(meta, (ps, me) => new Promise(async (res, rej) => {
// Fetch the list
const userList = await UserList.findOne({
_id: ps.listId,
@ -74,4 +71,4 @@ export default async (params: any, me: ILocalUser) => new Promise(async (res, re
const content = ap(renderFollow(ghost, user));
deliver(ghost, content, user.inbox);
}
});
}));

View File

@ -1,7 +1,6 @@
import $ from 'cafy'; import ID, { transform } from '../../../../../misc/cafy-id';
import UserList, { pack } from '../../../../../models/user-list';
import { ILocalUser } from '../../../../../models/user';
import getParams from '../../../get-params';
import define from '../../../define';
export const meta = {
desc: {
@ -21,10 +20,7 @@ export const meta = {
}
};
export default async (params: any, me: ILocalUser) => new Promise(async (res, rej) => {
const [ps, psErr] = getParams(meta, params);
if (psErr) return rej(psErr);
export default define(meta, (ps, me) => new Promise(async (res, rej) => {
// Fetch the list
const userList = await UserList.findOne({
_id: ps.listId,
@ -36,4 +32,4 @@ export default async (params: any, me: ILocalUser) => new Promise(async (res, re
}
res(await pack(userList));
});
}));

View File

@ -1,8 +1,7 @@
import $ from 'cafy';
import ID, { transform } from '../../../../../misc/cafy-id';
import UserList, { pack } from '../../../../../models/user-list';
import { ILocalUser } from '../../../../../models/user';
import getParams from '../../../get-params';
import define from '../../../define';
export const meta = {
desc: {
@ -34,10 +33,7 @@ export const meta = {
}
};
export default (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
const [ps, psErr] = getParams(meta, params);
if (psErr) return rej(psErr);
export default define(meta, (ps, user) => new Promise(async (res, rej) => {
// Fetch the list
const userList = await UserList.findOne({
_id: ps.listId,
@ -57,4 +53,4 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) =
// Response
res(await pack(userList._id));
});
}));

View File

@ -1,8 +1,8 @@
import $ from 'cafy'; import ID, { transform } from '../../../../misc/cafy-id';
import getHostLower from '../../common/get-host-lower';
import Note, { packMany } from '../../../../models/note';
import User, { ILocalUser } from '../../../../models/user';
import getParams from '../../get-params';
import User from '../../../../models/user';
import define from '../../define';
import { countIf } from '../../../../prelude/array';
export const meta = {
@ -126,10 +126,7 @@ export const meta = {
}
};
export default (params: any, me: ILocalUser) => new Promise(async (res, rej) => {
const [ps, psErr] = getParams(meta, params);
if (psErr) return rej(psErr);
export default define(meta, (ps, me) => new Promise(async (res, rej) => {
if (ps.userId === undefined && ps.username === undefined) {
return rej('userId or username is required');
}
@ -215,4 +212,4 @@ export default (params: any, me: ILocalUser) => new Promise(async (res, rej) =>
// Serialize
res(await packMany(notes, me));
});
}));

View File

@ -1,11 +1,11 @@
const ms = require('ms');
import $ from 'cafy';
import User, { pack, ILocalUser } from '../../../../models/user';
import User, { pack } from '../../../../models/user';
import { getFriendIds } from '../../common/get-friends';
import Mute from '../../../../models/mute';
import * as request from 'request';
import config from '../../../../config';
import getParams from '../../get-params';
import define from '../../define';
export const meta = {
desc: {
@ -29,22 +29,19 @@ export const meta = {
}
};
export default (params: any, me: ILocalUser) => new Promise(async (res, rej) => {
const [ps, psErr] = getParams(meta, params);
if (psErr) return rej(psErr);
export default define(meta, (ps, me) => new Promise(async (res, rej) => {
if (config.user_recommendation && config.user_recommendation.external) {
const userName = me.username;
const hostName = config.hostname;
const limit = params.limit;
const offset = params.offset;
const limit = ps.limit;
const offset = ps.offset;
const timeout = config.user_recommendation.timeout;
const engine = config.user_recommendation.engine;
const url = engine
.replace('{{host}}', hostName)
.replace('{{user}}', userName)
.replace('{{limit}}', limit)
.replace('{{offset}}', offset);
.replace('{{limit}}', limit.toString())
.replace('{{offset}}', offset.toString());
request({
url: url,
@ -89,4 +86,4 @@ export default (params: any, me: ILocalUser) => new Promise(async (res, rej) =>
res(await Promise.all(users.map(user => pack(user, me, { detail: true }))));
}
});
}));

View File

@ -1,6 +1,6 @@
import $ from 'cafy'; import ID, { transform, ObjectId } from '../../../../misc/cafy-id';
import { ILocalUser, getRelation } from '../../../../models/user';
import getParams from '../../get-params';
import { getRelation } from '../../../../models/user';
import define from '../../define';
export const meta = {
desc: {
@ -20,13 +20,10 @@ export const meta = {
}
};
export default (params: any, me: ILocalUser) => new Promise(async (res, rej) => {
const [ps, psErr] = getParams(meta, params);
if (psErr) return rej(psErr);
export default define(meta, (ps, me) => new Promise(async (res, rej) => {
const ids = Array.isArray(ps.userId) ? ps.userId : [ps.userId];
const relations = await Promise.all(ids.map(id => getRelation(me._id, id)));
res(Array.isArray(ps.userId) ? relations : relations[0]);
});
}));

View File

@ -1,7 +1,7 @@
import $ from 'cafy';
const escapeRegexp = require('escape-regexp');
import User, { pack, ILocalUser, validateUsername, IUser } from '../../../../models/user';
import getParams from '../../get-params';
import User, { pack, validateUsername, IUser } from '../../../../models/user';
import define from '../../define';
export const meta = {
desc: {
@ -44,13 +44,7 @@ export const meta = {
},
};
/**
* Search a user
*/
export default (params: any, me: ILocalUser) => new Promise(async (res, rej) => {
const [ps, psErr] = getParams(meta, params);
if (psErr) return rej(psErr);
export default define(meta, (ps, me) => new Promise(async (res, rej) => {
const isUsername = validateUsername(ps.query.replace('@', ''));
let users: IUser[] = [];
@ -158,4 +152,4 @@ export default (params: any, me: ILocalUser) => new Promise(async (res, rej) =>
// Serialize
res(await Promise.all(users.map(user => pack(user, me, { detail: true }))));
});
}));

View File

@ -1,7 +1,7 @@
import $ from 'cafy'; import ID, { transform, transformMany } from '../../../../misc/cafy-id';
import User, { pack, ILocalUser, isRemoteUser } from '../../../../models/user';
import User, { pack, isRemoteUser } from '../../../../models/user';
import resolveRemoteUser from '../../../../remote/resolve-user';
import getParams from '../../get-params';
import define from '../../define';
const cursorOption = { fields: { data: false } };
@ -39,10 +39,7 @@ export const meta = {
}
};
export default (params: any, me: ILocalUser) => new Promise(async (res, rej) => {
const [ps, psErr] = getParams(meta, params);
if (psErr) return rej(psErr);
export default define(meta, (ps, me) => new Promise(async (res, rej) => {
let user;
if (ps.userIds) {
@ -87,4 +84,4 @@ export default (params: any, me: ILocalUser) => new Promise(async (res, rej) =>
}
}
}
});
}));