@gameroom/cli
Version:
A command line tool for Gameroom
30 lines (24 loc) • 1.04 kB
JavaScript
const {
enums: { timecard_status },
models: { User, Timecard }
} = require('@gameroom/kit'),
{ dateLocaleString, grGreen, printTable } = require('../helpers'),
{ spinner } = require('../refs')
module.exports = async () => {
spinner.text = `generating ${grGreen('timeclock')}`
spinner.start()
// console.log(typeof timecard_status.started)
const filter = { key: 'status', value: 0 }
const timecards = await Timecard.get({ filter })
const keys = ['name', 'email', 'started at', 'hours'], table = []
for (const timecard of timecards) {
const user = await User.find(timecard.user_id)
if (!user) spinner.fail(`${grGreen('user')} ${timecard.user_id} not found`)
const hours = Math.abs((Date.now() / 1000) - timecard.started_at) / 3600
table.push([`${user.first_name} ${user.last_name}`, user.email, timecard.started_at.toDate().toLocaleTimeString(), hours.toFixed(2)])
}
spinner.succeed(`generated ${grGreen('timeclock')}`).stop()
console.log()
table.push([])
printTable(table, keys)
}