Docker images / prepare-release (push) Successful in 10s
Docker images / backend-test (push) Successful in 2m19s
Docker images / frontend-image (push) Successful in 4m47s
Docker images / updater-image (push) Successful in 48s
Docker images / backend-image (push) Successful in 2m53s
Docker images / notify-webhook (push) Skipped
Docker images / publish-release (push) Successful in 13s
Куб IPFIX час+день с AND-слайсами и экраном отчётности /statistics, живой /traffic не меняем. Co-authored-by: Cursor <cursoragent@cursor.com>
21 lines
846 B
TypeScript
21 lines
846 B
TypeScript
import type { StatisticsDto, StatisticsQuery } from "@mmapp/contracts/statistics"
|
|
import { requestJson } from "@/shared/api/http-client"
|
|
|
|
export type { StatisticsDto, StatisticsQuery }
|
|
|
|
export async function getStatistics(
|
|
baseUrl: string,
|
|
query: StatisticsQuery,
|
|
): Promise<StatisticsDto> {
|
|
const params = new URLSearchParams()
|
|
params.set("from", query.from)
|
|
params.set("to", query.to)
|
|
if (query.serverId != null) params.set("serverId", String(query.serverId))
|
|
if (query.userId) params.set("userId", query.userId)
|
|
if (query.iface) params.set("iface", query.iface)
|
|
if (query.country) params.set("country", query.country)
|
|
if (query.service) params.set("service", query.service)
|
|
if (query.asn != null) params.set("asn", String(query.asn))
|
|
return requestJson<StatisticsDto>(baseUrl, `/api/statistics?${params.toString()}`)
|
|
}
|