summaryrefslogtreecommitdiff
path: root/src/api/endpoints/aggregation/users/following.ts
diff options
context:
space:
mode:
authortamaina <tamaina@hotmail.co.jp>2018-04-11 20:27:09 +0900
committerGitHub <noreply@github.com>2018-04-11 20:27:09 +0900
commitd43fe853c3605696e2e57e240845d0fc9c284f61 (patch)
tree838914e262c0fca5737588a7bba64e2b9f3d8e5f /src/api/endpoints/aggregation/users/following.ts
parentUpdate README.md (diff)
parentwip #1443 (diff)
downloadmisskey-d43fe853c3605696e2e57e240845d0fc9c284f61.tar.gz
misskey-d43fe853c3605696e2e57e240845d0fc9c284f61.tar.bz2
misskey-d43fe853c3605696e2e57e240845d0fc9c284f61.zip
Merge pull request #1 from syuilo/master
追従
Diffstat (limited to 'src/api/endpoints/aggregation/users/following.ts')
-rw-r--r--src/api/endpoints/aggregation/users/following.ts73
1 files changed, 0 insertions, 73 deletions
diff --git a/src/api/endpoints/aggregation/users/following.ts b/src/api/endpoints/aggregation/users/following.ts
deleted file mode 100644
index 92da7e6921..0000000000
--- a/src/api/endpoints/aggregation/users/following.ts
+++ /dev/null
@@ -1,73 +0,0 @@
-/**
- * Module dependencies
- */
-import $ from 'cafy';
-import User from '../../../models/user';
-import Following from '../../../models/following';
-
-/**
- * Aggregate following of a user
- *
- * @param {any} params
- * @return {Promise<any>}
- */
-module.exports = (params) => new Promise(async (res, rej) => {
- // Get 'user_id' parameter
- const [userId, userIdErr] = $(params.user_id).id().$;
- if (userIdErr) return rej('invalid user_id param');
-
- // Lookup user
- const user = await User.findOne({
- _id: userId
- }, {
- fields: {
- _id: true
- }
- });
-
- if (user === null) {
- return rej('user not found');
- }
-
- const startTime = new Date(new Date().setMonth(new Date().getMonth() - 1));
-
- const following = await Following
- .find({
- follower_id: user._id,
- $or: [
- { deleted_at: { $exists: false } },
- { deleted_at: { $gt: startTime } }
- ]
- }, {
- _id: false,
- follower_id: false,
- followee_id: false
- }, {
- sort: { created_at: -1 }
- });
-
- const graph = [];
-
- for (let i = 0; i < 30; i++) {
- let day = new Date(new Date().setDate(new Date().getDate() - i));
- day = new Date(day.setMilliseconds(999));
- day = new Date(day.setSeconds(59));
- day = new Date(day.setMinutes(59));
- day = new Date(day.setHours(23));
-
- const count = following.filter(f =>
- f.created_at < day && (f.deleted_at == null || f.deleted_at > day)
- ).length;
-
- graph.push({
- date: {
- year: day.getFullYear(),
- month: day.getMonth() + 1, // In JavaScript, month is zero-based.
- day: day.getDate()
- },
- count: count
- });
- }
-
- res(graph);
-});