Update stats

This commit is contained in:
2021-11-16 18:47:20 +01:00
parent ddccfae270
commit a1986e1feb
2 changed files with 20 additions and 12 deletions

View File

@@ -3,12 +3,12 @@ import CommandsRun from 'App/Models/CommandsRun'
import BuildsRun from 'App/Models/BuildsRun' import BuildsRun from 'App/Models/BuildsRun'
interface Time { interface Time {
total_hours: number hours: number
total_minutes: number minutes: number
total_seconds: number seconds: number
} }
interface Stats { export interface Stats {
range: { range: {
start: string start: string
end: string end: string
@@ -34,19 +34,23 @@ export async function getDevelopmentHours(start: string, end: string): Promise<T
if (!development_time) { if (!development_time) {
return { return {
total_hours: 0, hours: 0,
total_minutes: 0, minutes: 0,
total_seconds: 0, seconds: 0,
} }
} }
let total = 0 let total = 0
development_time.forEach(item => total += item.seconds) development_time.forEach(item => total += item.seconds)
const hours = Math.floor(total / 3600)
const minutes = Math.floor(total / 60) - hours * 60
const seconds = Math.floor(total) - minutes * 60
return { return {
total_hours: Number((total / 3600).toFixed(2)), hours,
total_minutes: Number((total / 60).toFixed(2)), minutes,
total_seconds: Number(total.toFixed(2)), seconds,
} }
} }

View File

@@ -5,7 +5,7 @@ import {
fetchDailyStatistics, fetchDailyStatistics,
fetchMonthlyStatistics, fetchMonthlyStatistics,
fetchStatistics, fetchStatistics,
fetchWeeklyStatistics, fetchWeeklyStatistics, Stats,
} from 'App/Utils/StatsUtils' } from 'App/Utils/StatsUtils'
export async function UpdateGithubReadme(): Promise<void> { export async function UpdateGithubReadme(): Promise<void> {
@@ -26,7 +26,7 @@ export async function UpdateGithubReadme(): Promise<void> {
const new_table = ` const new_table = `
| Title | Daily | Weekly | Monthly | Total | | Title | Daily | Weekly | Monthly | Total |
| :------------------------------------------ | ----------: | ----------: | -----------: | -----------: | | :------------------------------------------ | ----------: | ----------: | -----------: | -----------: |
| :hourglass_flowing_sand: Hours Spent Coding | **${daily_stats.development_time.total_hours}hrs** | **${weekly_stats.development_time.total_hours}hrs** | **${monthly_stats.development_time.total_hours}hrs** | **${total_stats.development_time.total_hours}hrs** | | :hourglass_flowing_sand: Hours Spent Coding | **${getTotalHours(daily_stats)}hrs** | **${getTotalHours(weekly_stats)}hrs** | **${getTotalHours(monthly_stats)}hrs** | **${getTotalHours(total_stats)}hrs** |
| :computer: Terminal Commands | **${daily_stats.commands_ran}** | **${weekly_stats.commands_ran}** | **${monthly_stats.commands_ran}** | **${total_stats.commands_ran}** | | :computer: Terminal Commands | **${daily_stats.commands_ran}** | **${weekly_stats.commands_ran}** | **${monthly_stats.commands_ran}** | **${total_stats.commands_ran}** |
| :hammer: Docker Builds | **${daily_stats.builds_ran}** | **${weekly_stats.builds_ran}** | **${monthly_stats.builds_ran}** | **${total_stats.builds_ran}** |\n` | :hammer: Docker Builds | **${daily_stats.builds_ran}** | **${weekly_stats.builds_ran}** | **${monthly_stats.builds_ran}** | **${total_stats.builds_ran}** |\n`
const new_content = content.replace(old_table, new_table) const new_content = content.replace(old_table, new_table)
@@ -50,3 +50,7 @@ export async function UpdateGithubReadme(): Promise<void> {
Logger.error('Error with updating statistics') Logger.error('Error with updating statistics')
} }
} }
function getTotalHours(stats: Stats): string {
return `${(stats.development_time.hours + stats.development_time.minutes * 60 + stats.development_time.seconds).toFixed(2)}hrs`
}