splash chart data

This commit is contained in:
Ben Wilson
2023-07-10 20:14:54 -04:00
parent 9e4c14aada
commit 95e3bfc378
7 changed files with 132 additions and 8 deletions
@@ -9,8 +9,10 @@ import { ClientStatisticsEntity } from './client-statistics.entity';
export class ClientStatisticsService {
constructor(
@InjectRepository(ClientStatisticsEntity)
private clientStatisticsRepository: Repository<ClientStatisticsEntity>
private clientStatisticsRepository: Repository<ClientStatisticsEntity>,
) {
}
@@ -30,6 +32,38 @@ export class ClientStatisticsService {
.execute();
}
public async getChartDataForSite() {
const query = `
WITH result_set AS (
SELECT
MAX(time) || 'GMT' AS label,
(SUM(difficulty) * 4294967296) /
((JULIANDAY(MAX(time)) - JULIANDAY(MIN(time))) * 24 * 60 * 60 * 1000000000) AS data
FROM
client_statistics_entity AS entry
WHERE
entry.time > datetime("now", "-1 day")
GROUP BY
strftime('%Y-%m-%d %H', time, 'localtime') || (strftime('%M', time, 'localtime') / 10)
ORDER BY
time
)
SELECT *
FROM result_set
WHERE label <> (SELECT MAX(label) FROM result_set);
`;
const result = await this.clientStatisticsRepository.query(query);
return result;
}
public async getHashRateForAddress(address: string) {
const query = `