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

@@ -1,5 +1,5 @@
import React from 'react';
import { supabaseAdmin } from '@/lib/supabase-admin';
import { db } from '@/lib/db';
import {
TrendingUp,
TrendingDown,
@@ -21,30 +21,23 @@ async function getMerchantData(identifier: string) {
const isUUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(identifier);
// Fetch merchant details
const query = supabaseAdmin
.from('merchants')
.select('*');
const mQueryText = isUUID
? 'SELECT * FROM merchants WHERE id = $1 LIMIT 1'
: 'SELECT * FROM merchants WHERE short_id = $1 LIMIT 1';
const mResult = await db.query(mQueryText, [identifier]);
const merchant = mResult.rows[0];
if (isUUID) {
query.eq('id', identifier);
} else {
query.eq('short_id', identifier);
}
const { data: merchant, error: mError } = await query.single();
if (mError || !merchant) return null;
if (!merchant) return null;
const id = merchant.id; // Always use UUID for internal lookups
// Fetch merchant transactions
const { data: transactions, error: tError } = await supabaseAdmin
.from('transactions')
.select('*')
.eq('merchant_id', id)
.order('created_at', { ascending: false });
if (tError) return null;
const tResult = await db.query(
'SELECT * FROM transactions WHERE merchant_id = $1 ORDER BY created_at DESC',
[id]
);
const transactions = tResult.rows;
const successfulTransactions = transactions.filter(t => t.status === 'succeeded');
const totalRevenue = successfulTransactions.reduce((acc, t) => acc + Number(t.amount), 0);