summaryrefslogtreecommitdiff
path: root/src/services/chart/charts/classes/active-users.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/services/chart/charts/classes/active-users.ts')
-rw-r--r--src/services/chart/charts/classes/active-users.ts18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/services/chart/charts/classes/active-users.ts b/src/services/chart/charts/classes/active-users.ts
index 5128150de6..4820f8281b 100644
--- a/src/services/chart/charts/classes/active-users.ts
+++ b/src/services/chart/charts/classes/active-users.ts
@@ -18,6 +18,18 @@ export default class ActiveUsersChart extends Chart<ActiveUsersLog> {
}
@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>> {
return {};
}
@@ -25,11 +37,11 @@ export default class ActiveUsersChart extends Chart<ActiveUsersLog> {
@autobind
public async update(user: User) {
const update: Obj = {
- count: 1
+ users: [user.id]
};
- await this.incIfUnique({
+ await this.inc({
[Users.isLocalUser(user) ? 'local' : 'remote']: update
- }, 'users', user.id);
+ });
}
}