import { WebClient } from '@slack/web-api' export default defineEventHandler(async (event) => { const config = useRuntimeConfig() if (!config.slackBotToken) { return { success: false, error: 'Slack bot token not configured' } } const client = new WebClient(config.slackBotToken) try { // Test basic API access const authTest = await client.auth.test() console.log('Auth test result:', authTest) // Test if admin API is available let adminApiAvailable = false let adminError = null try { // Try to call admin.users.list to test admin API access await client.admin.users.list({ limit: 1 }) adminApiAvailable = true } catch (error: any) { adminError = error.data?.error || error.message console.log('Admin API test failed:', adminError) } // Test channel access if channel ID is configured let channelAccess = false let channelError = null if (config.slackVettingChannelId) { try { const channelInfo = await client.conversations.info({ channel: config.slackVettingChannelId }) channelAccess = !!channelInfo.channel } catch (error: any) { channelError = error.data?.error || error.message } } return { success: true, botInfo: { user: authTest.user, team: authTest.team, url: authTest.url }, adminApiAvailable, adminError: adminApiAvailable ? null : adminError, channelAccess, channelError: channelAccess ? null : channelError, channelId: config.slackVettingChannelId || 'Not configured' } } catch (error: any) { return { success: false, error: error.data?.error || error.message || 'Unknown error' } } })