mirror of
https://github.com/movie-web/backend.git
synced 2025-09-13 13:03:26 +00:00
24 lines
565 B
TypeScript
24 lines
565 B
TypeScript
import { User } from '@/db/models/User';
|
|
import { Metrics } from '@/modules/metrics';
|
|
import { EntityManager } from '@mikro-orm/postgresql';
|
|
|
|
export async function updateMetrics(em: EntityManager, metrics: Metrics) {
|
|
const users = await em
|
|
.createQueryBuilder(User)
|
|
.groupBy('namespace')
|
|
.count()
|
|
.select(['namespace', 'count'])
|
|
.execute<
|
|
{
|
|
namespace: string;
|
|
count: string;
|
|
}[]
|
|
>();
|
|
|
|
metrics.user.reset();
|
|
|
|
users.forEach((v) => {
|
|
metrics?.user.inc({ namespace: v.namespace }, Number(v.count));
|
|
});
|
|
}
|