diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2021-04-17 15:30:26 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2021-04-17 15:30:26 +0900 |
| commit | 68571d8f577e0a9eb8679e8dd30e11d8b1709340 (patch) | |
| tree | 623ad0865b76cdb8a4551042530655ef7c22c754 /src/server/api/endpoints/get-online-users-count.ts | |
| parent | Improve client (diff) | |
| download | sharkey-68571d8f577e0a9eb8679e8dd30e11d8b1709340.tar.gz sharkey-68571d8f577e0a9eb8679e8dd30e11d8b1709340.tar.bz2 sharkey-68571d8f577e0a9eb8679e8dd30e11d8b1709340.zip | |
Implement user online status
Resolve #7422
Fix #7424
Diffstat (limited to 'src/server/api/endpoints/get-online-users-count.ts')
| -rw-r--r-- | src/server/api/endpoints/get-online-users-count.ts | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/server/api/endpoints/get-online-users-count.ts b/src/server/api/endpoints/get-online-users-count.ts index 150ac9e365..a13363055f 100644 --- a/src/server/api/endpoints/get-online-users-count.ts +++ b/src/server/api/endpoints/get-online-users-count.ts @@ -1,6 +1,7 @@ +import { USER_ONLINE_THRESHOLD } from '@/const'; +import { Users } from '@/models'; +import { MoreThan } from 'typeorm'; import define from '../define'; -import { redisClient } from '../../../db/redis'; -import config from '@/config'; export const meta = { tags: ['meta'], @@ -11,12 +12,12 @@ export const meta = { } }; -export default define(meta, (ps, user) => { - return new Promise((res, rej) => { - redisClient.pubsub('numsub', config.host, (_, x) => { - res({ - count: x[1] - }); - }); +export default define(meta, async () => { + const count = await Users.count({ + lastActiveDate: MoreThan(new Date(Date.now() - USER_ONLINE_THRESHOLD)) }); + + return { + count + }; }); |