웹페이지 제작 소개 페이지 생성 & 사주 분석 고도화

This commit is contained in:
2026-03-19 07:58:38 +09:00
parent b250d4b50c
commit 7f4fb8027a
15 changed files with 3397 additions and 384 deletions

View File

@@ -1,9 +1,11 @@
import { NextResponse } from 'next/server';
import { createClient } from '@/lib/supabase/server';
import { createAdminClient } from '@/lib/supabase/admin';
/**
* GET /api/subscription
* 내 활성/만료 구독 목록 조회
* - auth 검증은 anon client, DB 조회는 admin client (RLS 우회)
*/
export async function GET() {
const supabase = await createClient();
@@ -12,7 +14,9 @@ export async function GET() {
return NextResponse.json({ error: 'UNAUTHORIZED' }, { status: 401 });
}
const { data, error } = await supabase
// admin client로 RLS 우회 (subscriptions 테이블 SELECT 정책 없을 때도 동작)
const admin = createAdminClient();
const { data, error } = await admin
.from('subscriptions')
.select('id, product_id, status, auto_renew, started_at, expires_at, cancelled_at')
.eq('user_id', user.id)
@@ -20,7 +24,7 @@ export async function GET() {
.limit(20);
if (error) {
return NextResponse.json({ error: 'DB_ERROR' }, { status: 500 });
return NextResponse.json({ error: 'DB_ERROR', detail: error.message }, { status: 500 });
}
return NextResponse.json({ ok: true, subscriptions: data ?? [] });