@@ -4,10 +4,10 @@ import meow from 'meow'
44import ora from 'ora'
55
66import { outputFlags , validationFlags } from '../../flags/index.js'
7- // import { handleApiCall, handleUnsuccessfulApiResponse } from '../../utils/api-helpers.js'
7+ import { handleApiCall , handleUnsuccessfulApiResponse } from '../../utils/api-helpers.js'
88import { InputError } from '../../utils/errors.js'
99import { 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 } */
1313export 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> }
108106async 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