Ads Manager MCP Server

by amekala
Verified
import { createClient } from '@supabase/supabase-js'; import * as dotenv from 'dotenv'; // Load environment variables dotenv.config(); // Validate environment variables const supabaseUrl = process.env.SUPABASE_URL; const supabaseKey = process.env.SUPABASE_KEY; if (!supabaseUrl || !supabaseKey) { throw new Error('Missing Supabase environment variables. Please check your .env file.'); } // Create Supabase client export const supabase = createClient(supabaseUrl, supabaseKey, { auth: { persistSession: false, } }); // Function to validate an API key against the database export async function validateApiKey(apiKey: string): Promise<{ valid: boolean, advertiserId?: string, error?: string }> { try { const { data, error } = await supabase .from('api_keys') .select('advertiser_id, active') .eq('key', apiKey) .single(); if (error) { return { valid: false, error: 'Invalid API key' }; } if (!data || !data.active) { return { valid: false, error: 'API key is inactive or invalid' }; } return { valid: true, advertiserId: data.advertiser_id }; } catch (error) { console.error('Error validating API key:', error); return { valid: false, error: 'Error validating API key' }; } }