export const generateCLICommands = ( selectedFunction: any, functionUrl: string, anonKey: string ) => { const managementCommands: any = [ { command: `supabase functions deploy ${selectedFunction?.slug}`, description: 'This will overwrite the deployed function with your new function', jsx: () => { return ( <> supabase functions deploy{' '} {selectedFunction?.slug} ) }, comment: 'Deploy a new version', }, { command: `supabase functions delete ${selectedFunction?.slug}`, description: 'This will remove the function and all the logs associated with it', jsx: () => { return ( <> supabase functions delete{' '} {selectedFunction?.slug} ) }, comment: 'Delete the function', }, ] const secretCommands: any = [ { command: `supabase secrets list`, description: 'This will list all the secrets for your project', jsx: () => { return ( <> supabase secrets list ) }, comment: 'View all secrets', }, { command: `supabase secrets set NAME1=VALUE1 NAME2=VALUE2`, description: 'This will set secrets for your project', jsx: () => { return ( <> supabase secrets set NAME1=VALUE1 NAME2=VALUE2 ) }, comment: 'Set secrets for your project', }, { command: `supabase secrets unset NAME1 NAME2 `, description: 'This will delete secrets for your project', jsx: () => { return ( <> supabase secrets unset NAME1 NAME2 ) }, comment: 'Unset secrets for your project', }, ] const invokeCommands: any = [ { command: `curl -L -X POST '${functionUrl}' -H 'Authorization: Bearer ${ anonKey ?? '[YOUR ANON KEY]' }' --data '{"name":"Functions"}'`, description: 'Invokes the hello function', jsx: () => { return ( <> curl -L -X POST '{functionUrl}' -H 'Authorization: Bearer [YOUR ANON KEY]' {`--data '{"name":"Functions"}'`} ) }, comment: 'Invoke your function', }, ] return { managementCommands, secretCommands, invokeCommands } }