feat(speedtest): results table + repo
This commit is contained in:
9
lib/db/migrations/013_speedtest.sql
Normal file
9
lib/db/migrations/013_speedtest.sql
Normal file
@@ -0,0 +1,9 @@
|
||||
-- 013_speedtest.sql
|
||||
CREATE TABLE speedtest_results (
|
||||
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
down_mbps numeric NOT NULL,
|
||||
up_mbps numeric NOT NULL,
|
||||
ping_ms numeric,
|
||||
ran_at timestamptz NOT NULL DEFAULT now()
|
||||
);
|
||||
CREATE INDEX idx_speedtest_ran_at ON speedtest_results (ran_at DESC);
|
||||
12
lib/db/repos/speedtest.js
Normal file
12
lib/db/repos/speedtest.js
Normal file
@@ -0,0 +1,12 @@
|
||||
import { pool } from '../pool.js';
|
||||
export async function record({ down_mbps, up_mbps, ping_ms = null }) {
|
||||
const { rows } = await pool.query(
|
||||
`INSERT INTO speedtest_results (down_mbps, up_mbps, ping_ms) VALUES ($1,$2,$3) RETURNING *`,
|
||||
[down_mbps, up_mbps, ping_ms]);
|
||||
return rows[0];
|
||||
}
|
||||
export async function history(limit = 30) {
|
||||
const { rows } = await pool.query(
|
||||
`SELECT * FROM speedtest_results ORDER BY ran_at DESC LIMIT $1`, [limit]);
|
||||
return rows;
|
||||
}
|
||||
Reference in New Issue
Block a user