diff --git a/app-9xzmfic2e4g1/src/db/api.ts b/app-9xzmfic2e4g1/src/db/api.ts index 627cd6a..b958f1d 100644 --- a/app-9xzmfic2e4g1/src/db/api.ts +++ b/app-9xzmfic2e4g1/src/db/api.ts @@ -40,7 +40,6 @@ export interface Trip { } const api = { - // Trips async getTrips() { const { data, error } = await supabase .from('trips') @@ -89,7 +88,6 @@ const api = { if (error) throw error; }, - // Edge Functions async generateItinerary(params: { startDate: string; endDate: string; @@ -131,7 +129,6 @@ const api = { // ── Public Guides ────────────────────────────────────────────────────────── - /** Rehber olarak yayınla / yayından kaldır */ async publishGuide(tripId: string, opts: { guide_intro?: string; guide_tips?: string[]; @@ -159,11 +156,10 @@ const api = { if (error) throw error; }, - /** Tüm public rehberleri getir (popülerlik sırasına göre) */ async getPublicGuides(limit = 20) { const { data, error } = await supabase .from('trips') - .select('id, title, destination, start_date, end_date, itinerary, guide_intro, guide_tips, views_count, likes_count, published_at, user_id, profiles(id, username)') + .select('id, title, destination, start_date, end_date, itinerary, guide_intro, guide_tips, views_count, likes_count, published_at, user_id, profiles(id, full_name)') .eq('is_public', true) .order('likes_count', { ascending: false }) .order('views_count', { ascending: false }) @@ -172,21 +168,18 @@ const api = { return data || []; }, - /** Tek bir public rehberi getir + view sayacını artır */ async getPublicGuide(tripId: string) { const { data, error } = await supabase .from('trips') - .select('*, profiles(id, username)') + .select('*, profiles(id, full_name)') .eq('id', tripId) .eq('is_public', true) .single(); if (error) throw error; - // view sayacını artır (fire & forget) supabase.rpc('increment_guide_views', { trip_id: tripId }).then(() => {}); return data; }, - /** Rehberi kopyalayarak kendi tripini oluştur */ async cloneGuide(tripId: string): Promise { const guide = await this.getPublicGuide(tripId); if (!guide) throw new Error('Rehber bulunamadı'); @@ -201,7 +194,6 @@ const api = { return newTrip; }, - /** Beğen / beğeniyi geri al */ async toggleLike(tripId: string): Promise { const { data: { user } } = await supabase.auth.getUser(); if (!user) throw new Error('Giriş gerekli'); @@ -215,14 +207,13 @@ const api = { if (existing) { await supabase.from('guide_likes').delete().eq('user_id', user.id).eq('trip_id', tripId); - return false; // beğeni kaldırıldı + return false; } else { await supabase.from('guide_likes').insert({ user_id: user.id, trip_id: tripId }); - return true; // beğenildi + return true; } }, - /** Kullanıcının beğendiği guide id'leri */ async getMyLikes(): Promise { const { data: { user } } = await supabase.auth.getUser(); if (!user) return []; @@ -232,4 +223,6 @@ const api = { .eq('user_id', user.id); return (data || []).map(r => r.trip_id); }, -}; \ No newline at end of file +}; + +export default api; \ No newline at end of file