Merge branch 'fix/stats_api' into 'develop'

fix(backend): mastodon stats conflate all indexed users and statuses

Co-authored-by: 老周部落 <laozhoubuluo@gmail.com>

Closes #10759

See merge request firefish/firefish!10684
This commit is contained in:
naskya 2024-03-01 16:54:25 +00:00
commit d61462b892

View file

@ -1,13 +1,19 @@
import { Entity } from "megalodon";
import config from "@/config/index.js";
import { fetchMeta } from "@/misc/fetch-meta.js";
import { Users, Notes } from "@/models/index.js";
import { IsNull } from "typeorm";
import { MAX_NOTE_TEXT_LENGTH, FILE_TYPE_BROWSERSAFE } from "@/const.js";
export async function getInstance(
response: Entity.Instance,
contact: Entity.Account,
) {
const meta = await fetchMeta(true);
const [meta, totalUsers, totalStatuses] = await Promise.all([
fetchMeta(),
Users.count({ where: { host: IsNull() } }),
Notes.count({ where: { userHost: IsNull() } }),
]);
return {
uri: response.uri,
@ -21,8 +27,8 @@ export async function getInstance(
version: `3.0.0 (compatible; Firefish ${config.version})`,
urls: response.urls,
stats: {
user_count: response.stats.user_count,
status_count: response.stats.status_count,
user_count: totalUsers,
status_count: totalStatuses,
domain_count: response.stats.domain_count,
},
thumbnail: response.thumbnail || "/static-assets/transparent.png",