This commit is contained in:
syuilo 2018-02-04 14:52:33 +09:00
parent 2cb0511dba
commit bcd65d290d
23 changed files with 48 additions and 43 deletions

View File

@ -35,10 +35,13 @@ module.exports = (params) => new Promise(async (res, rej) => {
{ deleted_at: { $gt: startTime } }
]
}, {
_id: false,
post_id: false
}, {
sort: { created_at: -1 }
sort: {
_id: -1
},
fields: {
_id: false,
post_id: false
}
});
const graph = [];

View File

@ -17,11 +17,14 @@ module.exports = params => new Promise(async (res, rej) => {
const users = await User
.find({}, {
_id: false,
created_at: true,
deleted_at: true
}, {
sort: { created_at: -1 }
sort: {
_id: -1
},
fields: {
_id: false,
created_at: true,
deleted_at: true
}
});
const graph = [];

View File

@ -3,8 +3,7 @@
*/
import rndstr from 'rndstr';
import $ from 'cafy';
import App from '../../models/app';
import { isValidNameId }, { pack } from '../../models/app';
import App, { isValidNameId, pack } from '../../models/app';
/**
* @swagger

View File

@ -2,7 +2,7 @@
* Module dependencies
*/
import $ from 'cafy';
import { default as Channel, IChannel }, { pack } from '../../models/channel';
import Channel, { IChannel, pack } from '../../models/channel';
/**
* Show a channel

View File

@ -2,7 +2,7 @@
* Module dependencies
*/
import $ from 'cafy';
import { validateFileName }, { pack } from '../../../models/drive-file';
import { validateFileName, pack } from '../../../models/drive-file';
import create from '../../../common/add-file-to-drive';
/**

View File

@ -3,8 +3,7 @@
*/
import $ from 'cafy';
import DriveFolder from '../../../models/drive-folder';
import DriveFile from '../../../models/drive-file';
import { validateFileName }, { pack } from '../../../models/drive-file';
import DriveFile, { validateFileName, pack } from '../../../models/drive-file';
import { publishDriveStream } from '../../../event';
/**

View File

@ -3,7 +3,7 @@
*/
import * as URL from 'url';
import $ from 'cafy';
import { validateFileName }, { pack } from '../../../models/drive-file';
import { validateFileName, pack } from '../../../models/drive-file';
import create from '../../../common/add-file-to-drive';
import * as debug from 'debug';
import * as tmp from 'tmp';

View File

@ -2,8 +2,7 @@
* Module dependencies
*/
import $ from 'cafy';
import DriveFolder from '../../../models/drive-folder';
import { isValidFolderName }, { pack } from '../../../models/drive-folder';
import DriveFolder, { isValidFolderName, pack } from '../../../models/drive-folder';
import { publishDriveStream } from '../../../event';
/**

View File

@ -2,8 +2,7 @@
* Module dependencies
*/
import $ from 'cafy';
import DriveFolder from '../../../models/drive-folder';
import { isValidFolderName }, { pack } from '../../../models/drive-folder';
import DriveFolder, { isValidFolderName, pack } from '../../../models/drive-folder';
import { publishDriveStream } from '../../../event';
/**

View File

@ -2,11 +2,10 @@
* Module dependencies
*/
import $ from 'cafy';
import User from '../../models/user';
import User, { pack as packUser } from '../../models/user';
import Following from '../../models/following';
import notify from '../../common/notify';
import event from '../../event';
import serializeUser from '../../serializers/user';
/**
* Follow a user
@ -77,8 +76,8 @@ module.exports = (params, user) => new Promise(async (res, rej) => {
});
// Publish follow event
event(follower._id, 'follow', await serializeUser(followee, follower));
event(followee._id, 'followed', await serializeUser(follower, followee));
event(follower._id, 'follow', await packUser(followee, follower));
event(followee._id, 'followed', await packUser(follower, followee));
// Notify
notify(followee._id, follower._id, 'follow');

View File

@ -2,10 +2,9 @@
* Module dependencies
*/
import $ from 'cafy';
import User from '../../models/user';
import User, { pack as packUser } from '../../models/user';
import Following from '../../models/following';
import event from '../../event';
import serializeUser from '../../serializers/user';
/**
* Unfollow a user
@ -78,5 +77,5 @@ module.exports = (params, user) => new Promise(async (res, rej) => {
});
// Publish follow event
event(follower._id, 'unfollow', await serializeUser(followee, follower));
event(follower._id, 'unfollow', await packUser(followee, follower));
});

View File

@ -2,8 +2,7 @@
* Module dependencies
*/
import $ from 'cafy';
import User from '../../models/user';
import { isValidName, isValidDescription, isValidLocation, isValidBirthday }, { pack } from '../../models/user';
import User, { isValidName, isValidDescription, isValidLocation, isValidBirthday, pack } from '../../models/user';
import event from '../../event';
import config from '../../../conf';

View File

@ -3,13 +3,12 @@
*/
import $ from 'cafy';
import Reaction from '../../../models/post-reaction';
import Post from '../../../models/post';
import Post, { pack as packPost } from '../../../models/post';
import { pack as packUser } from '../../../models/user';
import Watching from '../../../models/post-watching';
import notify from '../../../common/notify';
import watch from '../../../common/watch-post';
import { publishPostStream, pushSw } from '../../../event';
import serializePost from '../../../serializers/post';
import serializeUser from '../../../serializers/user';
/**
* React to a post
@ -90,8 +89,8 @@ module.exports = (params, user) => new Promise(async (res, rej) => {
});
pushSw(post.user_id, 'reaction', {
user: await serializeUser(user, post.user_id),
post: await serializePost(post, post.user_id),
user: await packUser(user, post.user_id),
post: await packPost(post, post.user_id),
reaction: reaction
});

View File

@ -2,8 +2,8 @@
* Module dependencies
*/
import $ from 'cafy';
import Post from '../../models/post';
import User, { pack } from '../../models/user';
import Post, { pack } from '../../models/post';
import User from '../../models/user';
/**
* Get posts of a user

View File

@ -51,7 +51,7 @@ async function byNative(res, rej, me, query, offset, max) {
// Serialize
res(await Promise.all(users.map(async user =>
await serialize(user, me, { detail: true }))));
await pack(user, me, { detail: true }))));
}
// Search by Elasticsearch

View File

@ -14,6 +14,7 @@ export type IApp = {
_id: mongo.ObjectID;
created_at: Date;
user_id: mongo.ObjectID;
secret: string;
};
export function isValidNameId(nameId: string): boolean {

View File

@ -23,6 +23,7 @@ export type IDriveFile = {
uploadDate: Date;
md5: string;
filename: string;
contentType: string;
metadata: {
properties: any;
user_id: mongodb.ObjectID;

View File

@ -9,6 +9,9 @@ export default PostReaction;
export interface IPostReaction {
_id: mongo.ObjectID;
created_at: Date;
deleted_at: Date;
reaction: string;
}
/**

View File

@ -25,10 +25,12 @@ export type IPost = {
media_ids: mongo.ObjectID[];
reply_id: mongo.ObjectID;
repost_id: mongo.ObjectID;
poll: {}; // todo
poll: any; // todo
text: string;
user_id: mongo.ObjectID;
app_id: mongo.ObjectID;
category: string;
is_category_verified: boolean;
};
/**

View File

@ -42,6 +42,7 @@ export function isValidBirthday(birthday: string): boolean {
export type IUser = {
_id: mongo.ObjectID;
created_at: Date;
deleted_at: Date;
email: string;
followers_count: number;
following_count: number;

View File

@ -2,8 +2,7 @@ import * as uuid from 'uuid';
import * as express from 'express';
import * as bcrypt from 'bcryptjs';
import recaptcha = require('recaptcha-promise');
import { default as User, IUser } from '../models/user';
import { validateUsername, validatePassword }, { pack } from '../models/user';
import User, { IUser, validateUsername, validatePassword, pack } from '../models/user';
import generateUserToken from '../common/generate-native-user-token';
import config from '../../conf';

View File

@ -163,7 +163,7 @@ module.exports = (app: express.Application) => {
res.send(`Twitter: @${result.screenName} を、Misskey: @${user.username} に接続しました!`);
// Publish i updated event
event(user._id, 'i_updated', await serialize(user, user, {
event(user._id, 'i_updated', await pack(user, user, {
detail: true,
includeSecrets: true
}));

View File

@ -4,7 +4,7 @@ import * as debug from 'debug';
import User from '../models/user';
import Mute from '../models/mute';
import serializePost from '../serializers/post';
import { pack as packPost } from '../models/post';
import readNotification from '../common/read-notification';
const log = debug('misskey');
@ -49,7 +49,7 @@ export default async function(request: websocket.request, connection: websocket.
case 'post-stream':
const postId = channel.split(':')[2];
log(`RECEIVED: ${postId} ${data} by @${user.username}`);
const post = await serializePost(postId, user, {
const post = await packPost(postId, user, {
detail: true
});
connection.send(JSON.stringify({