Refactor: Fully migrated to direct PostgreSQL, implemented Public API v1, fixed Vercel deployment conflicts, and updated documentation

This commit is contained in:
mstfyldz
2026-03-12 21:54:57 +03:00
parent 321f25a15c
commit 515d513c1f
29 changed files with 1002 additions and 675 deletions

View File

@@ -9,19 +9,17 @@ import {
Smartphone,
Calendar
} from 'lucide-react';
import { supabaseAdmin } from '@/lib/supabase-admin';
import { db } from '@/lib/db';
import { format, subDays } from 'date-fns';
import { tr } from 'date-fns/locale';
import AnalyticsBarChart from '@/components/admin/AnalyticsBarChart';
import QueryRangeSelector from '@/components/admin/QueryRangeSelector';
async function getAnalyticsData(rangeDays: number = 12) {
const { data: transactions, error } = await supabaseAdmin
.from('transactions')
.select('*')
.order('created_at', { ascending: true });
const result = await db.query('SELECT * FROM transactions ORDER BY created_at ASC');
const transactions = result.rows;
if (error || !transactions) return null;
if (!transactions) return null;
const successfulTransactions = transactions.filter(t => t.status === 'succeeded');
const totalRevenue = successfulTransactions.reduce((acc, t) => acc + Number(t.amount), 0);

View File

@@ -8,17 +8,15 @@ import {
MoreHorizontal,
ArrowUpRight
} from 'lucide-react';
import { supabaseAdmin } from '@/lib/supabase-admin';
import { db } from '@/lib/db';
import CustomerSearch from '@/components/admin/CustomerSearch';
async function getFilteredCustomers(queryText?: string) {
const { data: transactions, error } = await supabaseAdmin
.from('transactions')
.select('*')
.order('created_at', { ascending: false });
const result = await db.query('SELECT * FROM transactions ORDER BY created_at DESC');
const transactions = result.rows;
if (error || !transactions) return null;
if (!transactions) return null;
// Group transactions by name or phone
const customerMap = new Map();

View File

@@ -1,5 +1,5 @@
import React from 'react';
import { supabaseAdmin } from '@/lib/supabase-admin';
import { db } from '@/lib/db';
import {
TrendingUp,
TrendingDown,
@@ -15,12 +15,10 @@ import TransactionChart from '@/components/admin/TransactionChart';
import QueryRangeSelector from '@/components/admin/QueryRangeSelector';
async function getStats(rangeDays: number = 30) {
const { data: transactions, error } = await supabaseAdmin
.from('transactions')
.select('*')
.order('created_at', { ascending: false });
const result = await db.query('SELECT * FROM transactions ORDER BY created_at DESC');
const transactions = result.rows;
if (error || !transactions) return null;
if (!transactions) return null;
const successfulTransactions = transactions.filter(t => t.status === 'succeeded');
const totalRevenue = successfulTransactions.reduce((acc, t) => acc + Number(t.amount), 0);