Skip to main content
Glama

Chicken Business Management MCP Server

by PSYGER02
dataFixService.ts3.17 kB
import { supabase } from '../src/supabaseConfig'; import { safeLog } from '../utils/securityUtils'; /** * Fix missing worker names in existing records */ export const fixWorkerNames = async (): Promise<void> => { try { // Get all user profiles const { data: profiles, error: profileError } = await supabase .from('user_profiles') .select('id, display_name, email'); if (profileError) { safeLog.warn('Could not fetch user profiles', profileError.message); return; } if (!profiles || profiles.length === 0) { safeLog.info('No user profiles found'); return; } // Fix sales records const { data: sales, error: salesError } = await supabase .from('sales') .select('id, worker_id, worker_name') .or('worker_name.is.null,worker_name.eq.Unknown,worker_name.eq.Worker'); if (!salesError && sales) { for (const sale of sales) { const profile = profiles.find(p => p.id === sale.worker_id); if (profile) { const workerName = profile.display_name || profile.email?.split('@')[0] || 'Worker'; await supabase .from('sales') .update({ worker_name: workerName }) .eq('id', sale.id); } } safeLog.info(`Fixed ${sales.length} sales records`); } // Fix expense records const { data: expenses, error: expenseError } = await supabase .from('expenses') .select('id, worker_id, worker_name') .or('worker_name.is.null,worker_name.eq.Unknown,worker_name.eq.Worker'); if (!expenseError && expenses) { for (const expense of expenses) { const profile = profiles.find(p => p.id === expense.worker_id); if (profile) { const workerName = profile.display_name || profile.email?.split('@')[0] || 'Worker'; await supabase .from('expenses') .update({ worker_name: workerName }) .eq('id', expense.id); } } safeLog.info(`Fixed ${expenses.length} expense records`); } } catch (error) { safeLog.error('Error fixing worker names', error); } }; /** * Ensure user profile exists for current user */ export const ensureUserProfile = async (): Promise<void> => { try { const { data: { user } } = await supabase.auth.getUser(); if (!user) return; // Check if profile exists const { data: profile, error } = await supabase .from('user_profiles') .select('id') .eq('id', user.id) .single(); if (error && error.code === 'PGRST116') { // Profile doesn't exist, create it const { error: insertError } = await supabase .from('user_profiles') .insert({ id: user.id, email: user.email, display_name: user.email?.split('@')[0] || 'User', role: 'owner' // Default to owner for existing users }); if (insertError) { safeLog.warn('Could not create user profile', insertError.message); } else { safeLog.info('Created user profile'); } } } catch (error) { safeLog.error('Error ensuring user profile', error); } };

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/PSYGER02/mcpserver'

If you have feedback or need assistance with the MCP directory API, please join our Discord server