Loading mock/src/api/network/index.ts +2 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ import networkFlagHandler from "./flag/index.js"; import networkCountryHandler from "./country/index.js"; import networkUserHandler from "./user/index.js"; import networkOnionServicesRouter from "./onion-services/index.js"; import networkPerformanceRouter from "./performance/index.js"; const networkHandler = express.Router(); Loading @@ -13,6 +14,7 @@ networkHandler.use("/traffic", networkTrafficRouter); networkHandler.use("/flag", networkFlagHandler); networkHandler.use("/country", networkCountryHandler); networkHandler.use("/user", networkUserHandler); networkHandler.use("/performance", networkPerformanceRouter); networkHandler.use("/onion-services", networkOnionServicesRouter); export default networkHandler; mock/src/api/network/performance/file-download-time/data.json 0 → 100644 +109 −0 Original line number Diff line number Diff line { "performanceTrend": [ { "date": 1704067200000, "opDe8a": 150, "opDe8aRange": [120, 180], "opDe8aConflux": 140, "opDe8aConfluxRange": [110, 170], "opHk8a": 160, "opHk8aRange": [130, 190], "opHk8aConflux": 155, "opHk8aConfluxRange": [125, 185], "opUs8a": 170, "opUs8aRange": [140, 200], "opUs8aConflux": 165, "opUs8aConfluxRange": [135, 195] }, { "date": 1704153600000, "opDe8a": 155, "opDe8aRange": [125, 185], "opDe8aConflux": 145, "opDe8aConfluxRange": [115, 175], "opHk8a": 165, "opHk8aRange": [135, 195], "opHk8aConflux": 160, "opHk8aConfluxRange": [130, 190], "opUs8a": 175, "opUs8aRange": [145, 205], "opUs8aConflux": 170, "opUs8aConfluxRange": [140, 200] }, { "date": 1704240000000, "opDe8a": 160, "opDe8aRange": [130, 190], "opDe8aConflux": 150, "opDe8aConfluxRange": [120, 180], "opHk8a": 170, "opHk8aRange": [140, 200], "opHk8aConflux": 165, "opHk8aConfluxRange": [135, 195], "opUs8a": 180, "opUs8aRange": [150, 210], "opUs8aConflux": 175, "opUs8aConfluxRange": [145, 205] }, { "date": 1704326400000, "opDe8a": 165, "opDe8aRange": [135, 195], "opDe8aConflux": 155, "opDe8aConfluxRange": [125, 185], "opHk8a": 175, "opHk8aRange": [145, 205], "opHk8aConflux": 170, "opHk8aConfluxRange": [140, 200], "opUs8a": 185, "opUs8aRange": [155, 215], "opUs8aConflux": 180, "opUs8aConfluxRange": [150, 210] }, { "date": 1704412800000, "opDe8a": 170, "opDe8aRange": [140, 200], "opDe8aConflux": 160, "opDe8aConfluxRange": [130, 190], "opHk8a": 180, "opHk8aRange": [150, 210], "opHk8aConflux": 175, "opHk8aConfluxRange": [145, 205], "opUs8a": 190, "opUs8aRange": [160, 220], "opUs8aConflux": 185, "opUs8aConfluxRange": [155, 215] }, { "date": 1704499200000, "opDe8a": 175, "opDe8aRange": [145, 205], "opDe8aConflux": 165, "opDe8aConfluxRange": [135, 195], "opHk8a": 185, "opHk8aRange": [155, 215], "opHk8aConflux": 180, "opHk8aConfluxRange": [150, 210], "opUs8a": 195, "opUs8aRange": [165, 225], "opUs8aConflux": 190, "opUs8aConfluxRange": [160, 220] }, { "date": 1704585600000, "opDe8a": 180, "opDe8aRange": [150, 210], "opDe8aConflux": 170, "opDe8aConfluxRange": [140, 200], "opHk8a": 190, "opHk8aRange": [160, 220], "opHk8aConflux": 185, "opHk8aConfluxRange": [155, 215], "opUs8a": 200, "opUs8aRange": [170, 230], "opUs8aConflux": 195, "opUs8aConfluxRange": [165, 225] } ] } mock/src/api/network/performance/file-download-time/index.ts 0 → 100644 +22 −0 Original line number Diff line number Diff line import fileDownloadTime from "./data.json" with { type: "json" }; import express from "express"; import type { Request } from "express"; import type { GetFileDownloadTimeSearchParams, GetFileDownloadTimeResponse, } from "@model/network/performance/file-download-time.js"; const fileDownloadTimeHandler = express.Router(); fileDownloadTimeHandler.get( "/", ( req: Request<unknown, unknown, unknown, GetFileDownloadTimeSearchParams>, res, ) => { const response = fileDownloadTime as GetFileDownloadTimeResponse; res.status(200).send(response); }, ); export default fileDownloadTimeHandler; mock/src/api/network/performance/index.ts 0 → 100644 +8 −0 Original line number Diff line number Diff line import express from "express"; import fileDownloadTimeHandler from "./file-download-time/index.js"; const networkPerformanceRouter = express.Router(); networkPerformanceRouter.use("/file-download-time", fileDownloadTimeHandler); export default networkPerformanceRouter; model/network/performance/file-download-time.ts 0 → 100644 +26 −0 Original line number Diff line number Diff line export interface FileDownloadTime { date: number; opDe8a: number; opDe8aRange: RangeValue; opDe8aConflux: number; opDe8aConfluxRange: RangeValue; opHk8a: number; opHk8aRange: RangeValue; opHk8aConflux: number; opHk8aConfluxRange: RangeValue; opUs8a: number; opUs8aRange: RangeValue; opUs8aConflux: number; opUs8aConfluxRange: RangeValue; } export interface GetFileDownloadTimeResponse { performanceTrend: FileDownloadTime[]; } export type RangeValue = [number, number]; export interface GetFileDownloadTimeSearchParams { startDate: string; endDate: string; } Loading
mock/src/api/network/index.ts +2 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ import networkFlagHandler from "./flag/index.js"; import networkCountryHandler from "./country/index.js"; import networkUserHandler from "./user/index.js"; import networkOnionServicesRouter from "./onion-services/index.js"; import networkPerformanceRouter from "./performance/index.js"; const networkHandler = express.Router(); Loading @@ -13,6 +14,7 @@ networkHandler.use("/traffic", networkTrafficRouter); networkHandler.use("/flag", networkFlagHandler); networkHandler.use("/country", networkCountryHandler); networkHandler.use("/user", networkUserHandler); networkHandler.use("/performance", networkPerformanceRouter); networkHandler.use("/onion-services", networkOnionServicesRouter); export default networkHandler;
mock/src/api/network/performance/file-download-time/data.json 0 → 100644 +109 −0 Original line number Diff line number Diff line { "performanceTrend": [ { "date": 1704067200000, "opDe8a": 150, "opDe8aRange": [120, 180], "opDe8aConflux": 140, "opDe8aConfluxRange": [110, 170], "opHk8a": 160, "opHk8aRange": [130, 190], "opHk8aConflux": 155, "opHk8aConfluxRange": [125, 185], "opUs8a": 170, "opUs8aRange": [140, 200], "opUs8aConflux": 165, "opUs8aConfluxRange": [135, 195] }, { "date": 1704153600000, "opDe8a": 155, "opDe8aRange": [125, 185], "opDe8aConflux": 145, "opDe8aConfluxRange": [115, 175], "opHk8a": 165, "opHk8aRange": [135, 195], "opHk8aConflux": 160, "opHk8aConfluxRange": [130, 190], "opUs8a": 175, "opUs8aRange": [145, 205], "opUs8aConflux": 170, "opUs8aConfluxRange": [140, 200] }, { "date": 1704240000000, "opDe8a": 160, "opDe8aRange": [130, 190], "opDe8aConflux": 150, "opDe8aConfluxRange": [120, 180], "opHk8a": 170, "opHk8aRange": [140, 200], "opHk8aConflux": 165, "opHk8aConfluxRange": [135, 195], "opUs8a": 180, "opUs8aRange": [150, 210], "opUs8aConflux": 175, "opUs8aConfluxRange": [145, 205] }, { "date": 1704326400000, "opDe8a": 165, "opDe8aRange": [135, 195], "opDe8aConflux": 155, "opDe8aConfluxRange": [125, 185], "opHk8a": 175, "opHk8aRange": [145, 205], "opHk8aConflux": 170, "opHk8aConfluxRange": [140, 200], "opUs8a": 185, "opUs8aRange": [155, 215], "opUs8aConflux": 180, "opUs8aConfluxRange": [150, 210] }, { "date": 1704412800000, "opDe8a": 170, "opDe8aRange": [140, 200], "opDe8aConflux": 160, "opDe8aConfluxRange": [130, 190], "opHk8a": 180, "opHk8aRange": [150, 210], "opHk8aConflux": 175, "opHk8aConfluxRange": [145, 205], "opUs8a": 190, "opUs8aRange": [160, 220], "opUs8aConflux": 185, "opUs8aConfluxRange": [155, 215] }, { "date": 1704499200000, "opDe8a": 175, "opDe8aRange": [145, 205], "opDe8aConflux": 165, "opDe8aConfluxRange": [135, 195], "opHk8a": 185, "opHk8aRange": [155, 215], "opHk8aConflux": 180, "opHk8aConfluxRange": [150, 210], "opUs8a": 195, "opUs8aRange": [165, 225], "opUs8aConflux": 190, "opUs8aConfluxRange": [160, 220] }, { "date": 1704585600000, "opDe8a": 180, "opDe8aRange": [150, 210], "opDe8aConflux": 170, "opDe8aConfluxRange": [140, 200], "opHk8a": 190, "opHk8aRange": [160, 220], "opHk8aConflux": 185, "opHk8aConfluxRange": [155, 215], "opUs8a": 200, "opUs8aRange": [170, 230], "opUs8aConflux": 195, "opUs8aConfluxRange": [165, 225] } ] }
mock/src/api/network/performance/file-download-time/index.ts 0 → 100644 +22 −0 Original line number Diff line number Diff line import fileDownloadTime from "./data.json" with { type: "json" }; import express from "express"; import type { Request } from "express"; import type { GetFileDownloadTimeSearchParams, GetFileDownloadTimeResponse, } from "@model/network/performance/file-download-time.js"; const fileDownloadTimeHandler = express.Router(); fileDownloadTimeHandler.get( "/", ( req: Request<unknown, unknown, unknown, GetFileDownloadTimeSearchParams>, res, ) => { const response = fileDownloadTime as GetFileDownloadTimeResponse; res.status(200).send(response); }, ); export default fileDownloadTimeHandler;
mock/src/api/network/performance/index.ts 0 → 100644 +8 −0 Original line number Diff line number Diff line import express from "express"; import fileDownloadTimeHandler from "./file-download-time/index.js"; const networkPerformanceRouter = express.Router(); networkPerformanceRouter.use("/file-download-time", fileDownloadTimeHandler); export default networkPerformanceRouter;
model/network/performance/file-download-time.ts 0 → 100644 +26 −0 Original line number Diff line number Diff line export interface FileDownloadTime { date: number; opDe8a: number; opDe8aRange: RangeValue; opDe8aConflux: number; opDe8aConfluxRange: RangeValue; opHk8a: number; opHk8aRange: RangeValue; opHk8aConflux: number; opHk8aConfluxRange: RangeValue; opUs8a: number; opUs8aRange: RangeValue; opUs8aConflux: number; opUs8aConfluxRange: RangeValue; } export interface GetFileDownloadTimeResponse { performanceTrend: FileDownloadTime[]; } export type RangeValue = [number, number]; export interface GetFileDownloadTimeSearchParams { startDate: string; endDate: string; }