import { Request, Response } from 'express';
import axios from 'axios';

export const GetSpeechMaticToken = async (req: Request, res: Response) => { 
    try {
        const response = await axios.post('https://mp.speechmatics.com/v1/api_keys?type=rt', {
            ttl: 1800,
            client_ref: req.user?.id || `session_${Date.now()}`,
            description: 'Trackex Speech Transcription - 30min session'
        }, {
            headers: {
              'Content-Type': 'application/json',
              'Authorization': `Bearer ${process.env.SPEECHMATICS_API_KEY}`
            }
        });
          
        const data = response.data;
          
          res.json({ 
            token: data.key_value,
            expires_in: 1800,
            type: 'rt'
          });
    } catch (err) {
        console.error('Error creating follow up:', err);
        res.status(500).json({
            success: false,
            error: err instanceof Error ? err.message : 'Unknown error'
        });
    }
}