| |
| |
|
|
| function _getSummaryClient() { |
| return (typeof getSupabaseClient === 'function') ? getSupabaseClient() : null; |
| } |
|
|
| function _getSummaryUserId() { |
| return window.__bayanAuth && window.__bayanAuth.userId |
| ? window.__bayanAuth.userId |
| : null; |
| } |
|
|
| |
| |
| |
| |
| |
| |
| async function saveSummary(originalText, summaryText) { |
| const client = _getSummaryClient(); |
| const userId = _getSummaryUserId(); |
| if (!client || !userId) return null; |
| try { |
| const { data, error } = await client |
| .from('summaries') |
| .insert({ user_id: userId, original_text: originalText, summary_text: summaryText }) |
| .select('id, created_at') |
| .single(); |
| if (error) throw error; |
| return data; |
| } catch (err) { |
| console.warn('[summaries-api] saveSummary failed:', err.message); |
| return null; |
| } |
| } |
|
|
| |
| |
| |
| |
| async function loadSummaries() { |
| const client = _getSummaryClient(); |
| const userId = _getSummaryUserId(); |
| if (!client || !userId) return []; |
| try { |
| const { data, error } = await client |
| .from('summaries') |
| .select('id, summary_text, original_text, created_at') |
| .eq('user_id', userId) |
| .order('created_at', { ascending: false }) |
| .limit(50); |
| if (error) throw error; |
| return data || []; |
| } catch (err) { |
| console.warn('[summaries-api] loadSummaries failed:', err.message); |
| return []; |
| } |
| } |
|
|
| |
| |
| |
| |
| |
| async function deleteSummary(id) { |
| const client = _getSummaryClient(); |
| if (!client) return false; |
| try { |
| const { error } = await client |
| .from('summaries') |
| .delete() |
| .eq('id', id); |
| if (error) throw error; |
| return true; |
| } catch (err) { |
| console.warn('[summaries-api] deleteSummary failed:', err.message); |
| return false; |
| } |
| } |
|
|