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,7 +1,6 @@
import $ from 'cafy'; import ID, { transform } from '../../../../misc/cafy-id';
import Note, { packMany, INote } from '../../../../models/note';
import { ILocalUser } from '../../../../models/user';
import getParams from '../../get-params';
import define from '../../define';
export const meta = {
desc: {
@@ -29,10 +28,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) => {
// Lookup note
const note = await Note.findOne({
_id: ps.noteId
@@ -67,4 +63,4 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) =
}
res(await packMany(conversation, user));
});
}));

View File

@@ -1,11 +1,10 @@
import $ from 'cafy'; import ID, { transform, transformMany } from '../../../../misc/cafy-id';
const ms = require('ms');
import Note, { INote, isValidText, isValidCw, pack } from '../../../../models/note';
import User, { ILocalUser, IUser } from '../../../../models/user';
import User, { IUser } from '../../../../models/user';
import DriveFile, { IDriveFile } from '../../../../models/drive-file';
import create from '../../../../services/note/create';
import { IApp } from '../../../../models/app';
import getParams from '../../get-params';
import define from '../../define';
export const meta = {
stability: 'stable',
@@ -139,10 +138,7 @@ export const meta = {
}
};
export default (params: any, user: ILocalUser, app: IApp) => new Promise(async (res, rej) => {
const [ps, psErr] = getParams(meta, params);
if (psErr) return rej(psErr);
export default define(meta, (ps, user, app) => new Promise(async (res, rej) => {
let visibleUsers: IUser[] = [];
if (ps.visibleUserIds) {
visibleUsers = await Promise.all(ps.visibleUserIds.map(id => User.findOne({
@@ -229,4 +225,4 @@ export default (params: any, user: ILocalUser, app: IApp) => new Promise(async (
res({
createdNote: noteObj
});
});
}));

View File

@@ -1,8 +1,8 @@
import $ from 'cafy'; import ID, { transform } from '../../../../misc/cafy-id';
import Note from '../../../../models/note';
import deleteNote from '../../../../services/note/delete';
import User, { ILocalUser } from '../../../../models/user';
import getParams from '../../get-params';
import User from '../../../../models/user';
import define from '../../define';
export const meta = {
stability: 'stable',
@@ -28,10 +28,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 note
const note = await Note.findOne({
_id: ps.noteId
@@ -48,4 +45,4 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) =
await deleteNote(await User.findOne({ _id: note.userId }), note);
res();
});
}));

View File

@@ -1,8 +1,7 @@
import $ from 'cafy'; import ID, { transform } from '../../../../../misc/cafy-id';
import Favorite from '../../../../../models/favorite';
import Note from '../../../../../models/note';
import { ILocalUser } from '../../../../../models/user';
import getParams from '../../../get-params';
import define from '../../../define';
export const meta = {
stability: 'stable',
@@ -28,10 +27,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) => {
// Get favoritee
const note = await Note.findOne({
_id: ps.noteId
@@ -60,4 +56,4 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) =
// Send response
res();
});
}));

View File

@@ -1,8 +1,7 @@
import $ from 'cafy'; import ID, { transform } from '../../../../../misc/cafy-id';
import Favorite from '../../../../../models/favorite';
import Note from '../../../../../models/note';
import { ILocalUser } from '../../../../../models/user';
import getParams from '../../../get-params';
import define from '../../../define';
export const meta = {
stability: 'stable',
@@ -28,10 +27,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) => {
// Get favoritee
const note = await Note.findOne({
_id: ps.noteId
@@ -58,4 +54,4 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) =
// Send response
res();
});
}));

View File

@@ -1,8 +1,7 @@
import $ from 'cafy';
import Note from '../../../../models/note';
import { packMany } from '../../../../models/note';
import { ILocalUser } from '../../../../models/user';
import getParams from '../../get-params';
import define from '../../define';
export const meta = {
desc: {
@@ -23,10 +22,7 @@ export const meta = {
}
};
export default async (params: any, user: ILocalUser) => {
const [ps, psErr] = getParams(meta, params);
if (psErr) throw psErr;
export default define(meta, (ps, user) => new Promise(async (res, rej) => {
const day = 1000 * 60 * 60 * 24;
const notes = await Note
@@ -46,5 +42,5 @@ export default async (params: any, user: ILocalUser) => {
}
});
return await packMany(notes, user);
};
res(await packMany(notes, user));
}));

View File

@@ -2,8 +2,7 @@ import $ from 'cafy'; import ID, { transform } from '../../../../misc/cafy-id';
import Note from '../../../../models/note';
import Mute from '../../../../models/mute';
import { packMany } from '../../../../models/note';
import { ILocalUser } from '../../../../models/user';
import getParams from '../../get-params';
import define from '../../define';
import { countIf } from '../../../../prelude/array';
export const meta = {
@@ -51,13 +50,10 @@ export const meta = {
}
};
export default async (params: any, user: ILocalUser) => {
const [ps, psErr] = getParams(meta, params);
if (psErr) throw psErr;
export default define(meta, (ps, user) => new Promise(async (res, rej) => {
// Check if only one of sinceId, untilId, sinceDate, untilDate specified
if (countIf(x => x != null, [ps.sinceId, ps.untilId, ps.sinceDate, ps.untilDate]) > 1) {
throw 'only one of sinceId, untilId, sinceDate, untilDate can be specified';
return rej('only one of sinceId, untilId, sinceDate, untilDate can be specified');
}
// ミュートしているユーザーを取得
@@ -120,13 +116,11 @@ export default async (params: any, user: ILocalUser) => {
}
//#endregion
// Issue query
const timeline = await Note
.find(query, {
limit: ps.limit,
sort: sort
});
// Serialize
return await packMany(timeline, user);
};
res(await packMany(timeline, user));
}));

View File

@@ -3,8 +3,7 @@ import Note from '../../../../models/note';
import Mute from '../../../../models/mute';
import { getFriends } from '../../common/get-friends';
import { packMany } from '../../../../models/note';
import { ILocalUser } from '../../../../models/user';
import getParams from '../../get-params';
import define from '../../define';
import { countIf } from '../../../../prelude/array';
export const meta = {
@@ -91,13 +90,10 @@ export const meta = {
}
};
export default async (params: any, user: ILocalUser) => {
const [ps, psErr] = getParams(meta, params);
if (psErr) throw psErr;
export default define(meta, (ps, user) => new Promise(async (res, rej) => {
// Check if only one of sinceId, untilId, sinceDate, untilDate specified
if (countIf(x => x != null, [ps.sinceId, ps.untilId, ps.sinceDate, ps.untilDate]) > 1) {
throw 'only one of sinceId, untilId, sinceDate, untilDate can be specified';
return rej('only one of sinceId, untilId, sinceDate, untilDate can be specified');
}
const [followings, mutedUserIds] = await Promise.all([
@@ -246,13 +242,11 @@ export default async (params: any, user: ILocalUser) => {
}
//#endregion
// Issue query
const timeline = await Note
.find(query, {
limit: ps.limit,
sort: sort
});
// Serialize
return await packMany(timeline, user);
};
res(await packMany(timeline, user));
}));

View File

@@ -2,8 +2,7 @@ import $ from 'cafy'; import ID, { transform } from '../../../../misc/cafy-id';
import Note from '../../../../models/note';
import Mute from '../../../../models/mute';
import { packMany } from '../../../../models/note';
import { ILocalUser } from '../../../../models/user';
import getParams from '../../get-params';
import define from '../../define';
import { countIf } from '../../../../prelude/array';
export const meta = {
@@ -66,13 +65,10 @@ export const meta = {
}
};
export default async (params: any, user: ILocalUser) => {
const [ps, psErr] = getParams(meta, params);
if (psErr) throw psErr;
export default define(meta, (ps, user) => new Promise(async (res, rej) => {
// Check if only one of sinceId, untilId, sinceDate, untilDate specified
if (countIf(x => x != null, [ps.sinceId, ps.untilId, ps.sinceDate, ps.untilDate]) > 1) {
throw 'only one of sinceId, untilId, sinceDate, untilDate can be specified';
return rej('only one of sinceId, untilId, sinceDate, untilDate can be specified');
}
// ミュートしているユーザーを取得
@@ -150,13 +146,11 @@ export default async (params: any, user: ILocalUser) => {
}
//#endregion
// Issue query
const timeline = await Note
.find(query, {
limit: ps.limit,
sort: sort
});
// Serialize
return await packMany(timeline, user);
};
res(await packMany(timeline, user));
}));

View File

@@ -2,8 +2,7 @@ import $ from 'cafy'; import ID, { transform } from '../../../../misc/cafy-id';
import Note from '../../../../models/note';
import { getFriendIds } from '../../common/get-friends';
import { packMany } from '../../../../models/note';
import { ILocalUser } from '../../../../models/user';
import getParams from '../../get-params';
import define from '../../define';
import read from '../../../../services/note/read';
export const meta = {
@@ -41,10 +40,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) => {
// Check if both of sinceId and untilId is specified
if (ps.sinceId && ps.untilId) {
return rej('cannot set sinceId and untilId');
@@ -96,4 +92,4 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) =
res(await packMany(mentions, user));
mentions.forEach(note => read(user._id, note._id));
});
}));

View File

@@ -1,8 +1,7 @@
import $ from 'cafy';
import Vote from '../../../../../models/poll-vote';
import Note, { pack } from '../../../../../models/note';
import { ILocalUser } from '../../../../../models/user';
import getParams from '../../../get-params';
import define from '../../../define';
export const meta = {
desc: {
@@ -25,10 +24,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) => {
// Get votes
const votes = await Vote.find({
userId: user._id
@@ -64,4 +60,4 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) =
res(await Promise.all(notes.map(note => pack(note, user, {
detail: true
}))));
});
}));

View File

@@ -5,8 +5,7 @@ import Watching from '../../../../../models/note-watching';
import watch from '../../../../../services/note/watch';
import { publishNoteStream } from '../../../../../stream';
import notify from '../../../../../notify';
import { ILocalUser } from '../../../../../models/user';
import getParams from '../../../get-params';
import define from '../../../define';
export const meta = {
desc: {
@@ -30,10 +29,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) => {
// Get votee
const note = await Note.findOne({
_id: ps.noteId
@@ -114,4 +110,4 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) =
if (user.settings.autoWatch !== false) {
watch(user._id, note);
}
});
}));

View File

@@ -1,8 +1,7 @@
import $ from 'cafy'; import ID, { transform } from '../../../../misc/cafy-id';
import Note from '../../../../models/note';
import Reaction, { pack } from '../../../../models/note-reaction';
import { ILocalUser } from '../../../../models/user';
import getParams from '../../get-params';
import define from '../../define';
export const meta = {
desc: {
@@ -44,10 +43,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) => {
// Check if both of sinceId and untilId is specified
if (ps.sinceId && ps.untilId) {
return rej('cannot set sinceId and untilId');
@@ -90,4 +86,4 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) =
// Serialize
res(await Promise.all(reactions.map(reaction => pack(reaction, user))));
});
}));

View File

@@ -2,8 +2,7 @@ import $ from 'cafy'; import ID, { transform } from '../../../../../misc/cafy-id
import Note from '../../../../../models/note';
import create from '../../../../../services/note/reaction/create';
import { validateReaction } from '../../../../../models/note-reaction';
import { ILocalUser } from '../../../../../models/user';
import getParams from '../../../get-params';
import define from '../../../define';
export const meta = {
stability: 'stable',
@@ -35,10 +34,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 reactee
const note = await Note.findOne({
_id: ps.noteId
@@ -59,4 +55,4 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) =
}
res();
});
}));

View File

@@ -1,8 +1,7 @@
import $ from 'cafy'; import ID, { transform } from '../../../../../misc/cafy-id';
import Reaction from '../../../../../models/note-reaction';
import Note from '../../../../../models/note';
import { ILocalUser } from '../../../../../models/user';
import getParams from '../../../get-params';
import define from '../../../define';
export const meta = {
desc: {
@@ -22,10 +21,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 unreactee
const note = await Note.findOne({
_id: ps.noteId
@@ -64,4 +60,4 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) =
Note.update({ _id: note._id }, {
$inc: dec
});
});
}));

View File

@@ -1,7 +1,6 @@
import $ from 'cafy'; import ID, { transform } from '../../../../misc/cafy-id';
import Note, { packMany } from '../../../../models/note';
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) => {
// Check if both of sinceId and untilId is specified
if (ps.sinceId && ps.untilId) {
return rej('cannot set sinceId and untilId');
@@ -78,4 +74,4 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) =
});
res(await packMany(renotes, user));
});
}));

View File

@@ -1,7 +1,6 @@
import $ from 'cafy'; import ID, { transform } from '../../../../misc/cafy-id';
import Note, { packMany } from '../../../../models/note';
import { ILocalUser } from '../../../../models/user';
import getParams from '../../get-params';
import define from '../../define';
export const meta = {
desc: {
@@ -29,10 +28,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) => {
// Lookup note
const note = await Note.findOne({
_id: ps.noteId
@@ -45,4 +41,4 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) =
const ids = (note._replyIds || []).slice(ps.offset, ps.offset + ps.limit);
res(await packMany(ids, user));
});
}));

View File

@@ -1,10 +1,9 @@
import $ from 'cafy';
import * as mongo from 'mongodb';
import Note from '../../../../models/note';
import { ILocalUser } from '../../../../models/user';
import { packMany } from '../../../../models/note';
import es from '../../../../db/elasticsearch';
import getParams from '../../get-params';
import define from '../../define';
export const meta = {
desc: {
@@ -31,10 +30,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 (es == null) return rej('searching not available');
es.search({
@@ -79,4 +75,4 @@ export default (params: any, me: ILocalUser) => new Promise(async (res, rej) =>
res(await packMany(notes, me));
});
});
}));

View File

@@ -1,10 +1,9 @@
import $ from 'cafy'; import ID, { transform } from '../../../../misc/cafy-id';
import Note from '../../../../models/note';
import { ILocalUser } from '../../../../models/user';
import Mute from '../../../../models/mute';
import { getFriendIds } from '../../common/get-friends';
import { packMany } from '../../../../models/note';
import getParams from '../../get-params';
import define from '../../define';
export const meta = {
desc: {
@@ -103,10 +102,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) => {
const q: any = {
$and: [ps.tag ? {
tagsLower: ps.tag.toLowerCase()
@@ -322,4 +318,4 @@ export default (params: any, me: ILocalUser) => new Promise(async (res, rej) =>
// Serialize
res(await packMany(notes, me));
});
}));

View File

@@ -1,7 +1,6 @@
import $ from 'cafy'; import ID, { transform } from '../../../../misc/cafy-id';
import Note, { pack } from '../../../../models/note';
import { ILocalUser } from '../../../../models/user';
import getParams from '../../get-params';
import define from '../../define';
export const meta = {
stability: 'stable',
@@ -25,10 +24,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) => {
// Get note
const note = await Note.findOne({
_id: ps.noteId
@@ -42,4 +38,4 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) =
res(await pack(note, user, {
detail: true
}));
});
}));

View File

@@ -3,8 +3,7 @@ import Note from '../../../../models/note';
import Mute from '../../../../models/mute';
import { getFriends } from '../../common/get-friends';
import { packMany } from '../../../../models/note';
import { ILocalUser } from '../../../../models/user';
import getParams from '../../get-params';
import define from '../../define';
import { countIf } from '../../../../prelude/array';
export const meta = {
@@ -94,13 +93,11 @@ export const meta = {
}
};
export default async (params: any, user: ILocalUser) => {
const [ps, psErr] = getParams(meta, params);
if (psErr) throw psErr;
export default define(meta, (ps, user) => new Promise(async (res, rej) => {
// Check if only one of sinceId, untilId, sinceDate, untilDate specified
if (countIf(x => x != null, [ps.sinceId, ps.untilId, ps.sinceDate, ps.untilDate]) > 1) {
throw 'only one of sinceId, untilId, sinceDate, untilDate can be specified';
rej('only one of sinceId, untilId, sinceDate, untilDate can be specified');
return;
}
const [followings, mutedUserIds] = await Promise.all([
@@ -251,5 +248,5 @@ export default async (params: any, user: ILocalUser) => {
});
// Serialize
return await packMany(timeline, user);
};
res(await packMany(timeline, user));
}));

View File

@@ -3,8 +3,7 @@ import Note from '../../../../models/note';
import Mute from '../../../../models/mute';
import { packMany } from '../../../../models/note';
import UserList from '../../../../models/user-list';
import { ILocalUser } from '../../../../models/user';
import getParams from '../../get-params';
import define from '../../define';
export const meta = {
desc: {
@@ -101,10 +100,7 @@ export const meta = {
}
};
export default async (params: any, user: ILocalUser) => {
const [ps, psErr] = getParams(meta, params);
if (psErr) throw psErr;
export default define(meta, (ps, user) => new Promise(async (res, rej) => {
const [list, mutedUserIds] = await Promise.all([
// リストを取得
// Fetch the list
@@ -120,7 +116,8 @@ export default async (params: any, user: ILocalUser) => {
]);
if (list.userIds.length == 0) {
return [];
res([]);
return;
}
//#region Construct query
@@ -258,5 +255,5 @@ export default async (params: any, user: ILocalUser) => {
});
// Serialize
return await packMany(timeline, user);
};
res(await packMany(timeline, user));
}));