Skip to content

Commit 42ba0c5

Browse files
committed
fetch data and display it in a table
1 parent 1c6bd4f commit 42ba0c5

File tree

1 file changed

+20
-18
lines changed

1 file changed

+20
-18
lines changed

lib/commands/analytics/index.js

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ import meow from 'meow'
44
import ora from 'ora'
55

66
import { outputFlags, validationFlags } from '../../flags/index.js'
7-
// import { handleApiCall, handleUnsuccessfulApiResponse } from '../../utils/api-helpers.js'
7+
import { handleApiCall, handleUnsuccessfulApiResponse } from '../../utils/api-helpers.js'
88
import { InputError } from '../../utils/errors.js'
99
import { printFlagList } from '../../utils/formatting.js'
10-
// import { FREE_API_KEY, getDefaultKey, setupSdk } from '../../utils/sdk.js'
10+
import { getDefaultKey, setupSdk } from '../../utils/sdk.js'
1111

1212
/** @type {import('../../utils/meow-with-subcommands').CliSubcommand} */
1313
export const analytics = {
@@ -18,7 +18,6 @@ export const analytics = {
1818
const input = setupCommand(name, analytics.description, argv, importMeta)
1919
if (input) {
2020
const spinner = ora('Fetching analytics data').start()
21-
console.log(input)
2221
if (input.scope === 'org') {
2322
await fetchOrgAnalyticsData(input.time, spinner)
2423
} else {
@@ -94,29 +93,32 @@ function setupCommand (name, description, argv, importMeta) {
9493
}
9594
}
9695

97-
// /**
98-
// * @typedef AnalyticsData
99-
// * @property {import('@socketsecurity/sdk').SocketSdkReturnType<'getOrgAnalytics'>["data"]} data
100-
// */
96+
/**
97+
* @typedef AnalyticsData
98+
* @property {import('@socketsecurity/sdk').SocketSdkReturnType<'getOrgAnalytics'>["data"]} data
99+
*/
101100

102101
/**
103102
* @param {string} time
104103
* @param {import('ora').Ora} spinner
105104
* @returns {Promise<void>}
106105
*/
107-
// * @returns {Promise<void|AnalyticsData>}
108106
async function fetchOrgAnalyticsData (time, spinner) {
109-
// const socketSdk = await setupSdk(getDefaultKey() || FREE_API_KEY)
110-
console.table(time)
111-
console.log(spinner)
107+
const socketSdk = await setupSdk(getDefaultKey())
108+
const result = await handleApiCall(socketSdk.getOrgAnalytics(time), 'fetching analytics data')
112109

113-
// const result = await handleApiCall(socketSdk.getOrgAnalytics(time), 'fetching analytics data')
114-
115-
// if (result.success === false) {
116-
// return handleUnsuccessfulApiResponse('getOrgAnalytics', result, spinner)
117-
// }
110+
if (result.success === false) {
111+
return handleUnsuccessfulApiResponse('getOrgAnalytics', result, spinner)
112+
}
118113

119-
// return {
114+
const formattedData = result.data.map(d => {
115+
const formattedDate = new Date(d.created_at).toLocaleDateString()
116+
return {
117+
...d,
118+
created_at: formattedDate,
119+
}
120+
})
121+
const data = {...formattedData.flat(1)}
120122

121-
// }
123+
console.table(data, ['created_at', 'repository_name', 'total_critical_alerts', 'total_high_alerts', 'total_critical_added', 'total_high_added', 'total_critical_prevented', 'total_high_prevented', 'total_medium_prevented', 'total_low_prevented', 'top_five_alert_types'])
122124
}

0 commit comments

Comments
 (0)