summaryrefslogtreecommitdiff
path: root/packages/backend/src/services/chart/charts/active-users.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/backend/src/services/chart/charts/active-users.ts')
-rw-r--r--packages/backend/src/services/chart/charts/active-users.ts35
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],
});
}
}