diff options
Diffstat (limited to 'packages/backend/src/services/chart/charts/active-users.ts')
| -rw-r--r-- | packages/backend/src/services/chart/charts/active-users.ts | 35 |
1 files changed, 6 insertions, 29 deletions
diff --git a/packages/backend/src/services/chart/charts/active-users.ts b/packages/backend/src/services/chart/charts/active-users.ts index 9490101e36..9e5c332d3b 100644 --- a/packages/backend/src/services/chart/charts/active-users.ts +++ b/packages/backend/src/services/chart/charts/active-users.ts @@ -1,51 +1,28 @@ import autobind from 'autobind-decorator'; -import Chart, { Obj, DeepPartial } from '../core'; +import Chart, { KVs } from '../core'; import { User } from '@/models/entities/user'; -import { SchemaType } from '@/misc/schema'; import { Users } from '@/models/index'; import { name, schema } from './entities/active-users'; -type ActiveUsersLog = SchemaType<typeof schema>; - /** * アクティブユーザーに関するチャート */ // eslint-disable-next-line import/no-default-export -export default class ActiveUsersChart extends Chart<ActiveUsersLog> { +export default class ActiveUsersChart extends Chart<typeof schema> { constructor() { super(name, schema); } @autobind - protected genNewLog(latest: ActiveUsersLog): DeepPartial<ActiveUsersLog> { - return {}; - } - - @autobind - protected aggregate(logs: ActiveUsersLog[]): ActiveUsersLog { - return { - local: { - users: logs.reduce((a, b) => a.concat(b.local.users), [] as ActiveUsersLog['local']['users']), - }, - remote: { - users: logs.reduce((a, b) => a.concat(b.remote.users), [] as ActiveUsersLog['remote']['users']), - }, - }; - } - - @autobind - protected async fetchActual(): Promise<DeepPartial<ActiveUsersLog>> { + protected async queryCurrentState(): Promise<Partial<KVs<typeof schema>>> { return {}; } @autobind public async update(user: { id: User['id'], host: User['host'] }): Promise<void> { - const update: Obj = { - users: [user.id], - }; - - await this.inc({ - [Users.isLocalUser(user) ? 'local' : 'remote']: update, + await this.commit({ + 'local.users': Users.isLocalUser(user) ? [user.id] : [], + 'remote.users': Users.isLocalUser(user) ? [] : [user.id], }); } } |