import { supabaseService } from '@/hooks/supabaseService'; export const useTeams = () => { // 获取团队列表 const fetchTeams = async (params = {}) => { try { const result = await SupabaseService.select('teams', { select: ` id, name, description, attributes, created_at, updated_at, avatar_url, team_membership!inner ( id, user_id, role, is_creator, users ( id, email ) ) `, filter: { deleted_at: { is: null }, ...(params.search ? { name: { ilike: `%${params.search}%` } } : {}) }, order: { column: params.field || 'created_at', ascending: params.order === 'ascend' }, page: params.current || 1, pageSize: params.pageSize || 10 }); return result; } catch (error) { console.error('获取团队列表失败:', error); throw error; } }; // 创建团队 const createTeam = async (values) => { try { const newTeam = await supabaseService.insert('teams', { name: values.name, description: values.description }); // 创建团队成员关系 await supabaseService.insert('team_membership', { team_id: newTeam[0].id, user_id: values.userId, role: 'OWNER', is_creator: true, id: newTeam[0].id }); return newTeam[0]; } catch (error) { console.error('创建团队失败:', error); throw error; } }; // 更新团队 const updateTeam = async (id, values) => { try { const result = await supabaseService.update('teams', { id }, values ); return result[0]; } catch (error) { console.error('更新团队失败:', error); throw error; } }; // 删除团队 const deleteTeam = async (id) => { try { await supabaseService.delete('teams', { id }); } catch (error) { console.error('删除团队失败:', error); throw error; } }; return { fetchTeams, createTeam, updateTeam, deleteTeam, }; };