fix(api): передавать происхождение метрик оптимизатора OSPF

This commit is contained in:
Denozordec committed 2026-10-01 00:50:17 +07:00
1 parent 255f272fab
commit 7077844655
13 files changed
+96 -9

No files matched your search

+2
View File
@@ -9,3 +9,5 @@ export * from "./users.js"
export * from "./traffic-flow.js"
export * from "./geoip.js"
export * from "./statistics.js"
export * from "./ospf-optimizer.js"
+9
View File
@@ -0,0 +1,9 @@
import {z} from "zod"
export const ospfOptimizerMetricSchema=z.object({
value:z.number().finite().nonnegative().nullable(),
source:z.enum(["speed-probe","interface-traffic","unknown"]),
sourceId:z.string().min(1).nullable(),
measuredAt:z.string().datetime({offset:true}).nullable(),
}).refine(metric=>metric.value===null ? metric.source==="unknown"&&metric.sourceId===null&&metric.measuredAt===null : metric.source!=="unknown"&&metric.sourceId!==null)
export const ospfOptimizerObservedSchema=z.object({ping:ospfOptimizerMetricSchema,dl:ospfOptimizerMetricSchema,ul:ospfOptimizerMetricSchema}).refine(observed=>observed.ping.source!=="interface-traffic")
export type OspfOptimizerObserved=z.infer<typeof ospfOptimizerObservedSchema>