mirror of
https://github.com/hotomoe/hotomoe
synced 2025-01-19 08:12:51 +09:00
fix(stats): no hard-coded stats
This commit is contained in:
parent
736765488c
commit
352da51413
@ -4,7 +4,7 @@
|
||||
*/
|
||||
|
||||
import { Injectable, Inject } from '@nestjs/common';
|
||||
import { Not, IsNull, DataSource } from 'typeorm';
|
||||
import { Not, IsNull, Like, DataSource } from 'typeorm';
|
||||
import type { MiUser } from '@/models/User.js';
|
||||
import { AppLockService } from '@/core/AppLockService.js';
|
||||
import { DI } from '@/di-symbols.js';
|
||||
@ -37,7 +37,7 @@ export default class UsersChart extends Chart<typeof schema> { // eslint-disable
|
||||
|
||||
protected async tickMajor(): Promise<Partial<KVs<typeof schema>>> {
|
||||
const [localCount, remoteCount] = await Promise.all([
|
||||
this.usersRepository.countBy({ host: IsNull() }),
|
||||
this.usersRepository.countBy({ host: IsNull(), usernameLower: Like("%.%") }),
|
||||
this.usersRepository.countBy({ host: Not(IsNull()) }),
|
||||
]);
|
||||
|
||||
|
@ -71,12 +71,12 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
|
||||
) {
|
||||
super(meta, paramDef, async () => {
|
||||
const notesChart = await this.notesChart.getChart('hour', 1, null);
|
||||
const notesCount = notesChart.local.total[0] + notesChart.remote.total[0];
|
||||
const originalNotesCount = notesChart.local.total[0];
|
||||
const notesCount = originalNotesCount + notesChart.remote.total[0];
|
||||
|
||||
const usersChart = await this.usersChart.getChart('hour', 1, null);
|
||||
const usersCount = usersChart.local.total[0] + usersChart.remote.total[0];
|
||||
const originalUsersCount = usersChart.local.total[0] - 2;
|
||||
const originalUsersCount = usersChart.local.total[0];
|
||||
const usersCount = originalUsersCount + usersChart.remote.total[0];
|
||||
|
||||
const [
|
||||
reactionsCount,
|
||||
|
@ -12,8 +12,8 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||
<div class="icon"><i class="ti ti-users"></i></div>
|
||||
<div class="body">
|
||||
<div class="value">
|
||||
<MkNumber :value="stats.originalUsersCount" style="margin-right: 0.5em;"/>
|
||||
<MkNumberDiff v-tooltip="i18n.ts.dayOverDayChanges" class="diff" :value="usersComparedToThePrevDay"></MkNumberDiff>
|
||||
<MkNumber :value="stats?.originalUsersCount!" style="margin-right: 0.5em;"/>
|
||||
<MkNumberDiff v-tooltip="i18n.ts.dayOverDayChanges" class="diff" :value="usersComparedToThePrevDay!"></MkNumberDiff>
|
||||
</div>
|
||||
<div class="label">Users</div>
|
||||
</div>
|
||||
@ -22,8 +22,8 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||
<div class="icon"><i class="ti ti-pencil"></i></div>
|
||||
<div class="body">
|
||||
<div class="value">
|
||||
<MkNumber :value="stats.originalNotesCount" style="margin-right: 0.5em;"/>
|
||||
<MkNumberDiff v-tooltip="i18n.ts.dayOverDayChanges" class="diff" :value="notesComparedToThePrevDay"></MkNumberDiff>
|
||||
<MkNumber :value="stats?.originalNotesCount!" style="margin-right: 0.5em;"/>
|
||||
<MkNumberDiff v-tooltip="i18n.ts.dayOverDayChanges" class="diff" :value="notesComparedToThePrevDay!"></MkNumberDiff>
|
||||
</div>
|
||||
<div class="label">Notes</div>
|
||||
</div>
|
||||
@ -32,7 +32,7 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||
<div class="icon"><i class="ti ti-planet"></i></div>
|
||||
<div class="body">
|
||||
<div class="value">
|
||||
<MkNumber :value="stats.instances" style="margin-right: 0.5em;"/>
|
||||
<MkNumber :value="stats?.instances!" style="margin-right: 0.5em;"/>
|
||||
</div>
|
||||
<div class="label">Instances</div>
|
||||
</div>
|
||||
@ -85,11 +85,11 @@ onMounted(async () => {
|
||||
onlineUsersCount.value = _onlineUsersCount;
|
||||
|
||||
misskeyApiGet('charts/users', { limit: 2, span: 'day' }).then(chart => {
|
||||
usersComparedToThePrevDay.value = stats.value.originalUsersCount - chart.local.total[1];
|
||||
usersComparedToThePrevDay.value = stats.value?.originalUsersCount! - chart.local.total[1];
|
||||
});
|
||||
|
||||
misskeyApiGet('charts/notes', { limit: 2, span: 'day' }).then(chart => {
|
||||
notesComparedToThePrevDay.value = stats.value.originalNotesCount - chart.local.total[1];
|
||||
notesComparedToThePrevDay.value = stats.value?.originalNotesCount! - chart.local.total[1];
|
||||
});
|
||||
|
||||
fetching.value = false;
|
||||
|
Loading…
Reference in New Issue
Block a user