예전 배포본(HEAD)의 상세 기능을 새 아키텍처(인증=.NET 백엔드, 데이터=Supabase) 위에 실데이터로 복원. 예전 HEAD는 서명 쿠키를 거부하고 위조 쿠키는 통과시키는 인증 결함이 있었고, 삭제된 페이지 다수는 백엔드 호출 0인 하드코딩 목업이었음. 인증/세션 - 로그인 이메일 전용화(username 폐지), 에러 키별 안내 메시지 - ADMIN_COOKIE_SECURE 옵션: TLS 없는 LAN HTTP 배포에서 Secure 쿠키 유실로 로그인이 유지되지 않던 문제 해결 (login/logout route, admin-session, compose, .env.example) - Supabase 미설정 시 우아한 저하: isSupabaseAdminConfigured + UnavailableAdminPanel 기능 복원 (실데이터) - Release Hub: Forgejo API 실데이터(다운로드 수/SHA-256 체크섬/릴리스 이력) - Ad Monetization: 데스크톱 미디에이션 10개 어댑터 로스터(fail-closed) + ad_reward_claims 통계 - License Issuer: 서버사이드 Ed25519 서명(/api/admin/license, super_admin 전용), 개인키는 ADMIN_LICENSE_PRIVATE_KEY env로만, 발급 감사를 .NET AdminAuditEntries에 기록 - Service Models: STT 7종/LLM 5종 프리셋 드롭다운 + 자동채움 - 대시보드 ARR/MRR KPI: Supabase 구독 실집계(티어 월단가 기반) - 사용자 상세 티어별 기능 배지(pro_plus 조건부) .NET - SuperAdminOnly 정책 추가, /api/admin/license-audit 엔드포인트, LicenseAuditDto
35 lines
921 B
JSON
35 lines
921 B
JSON
{
|
|
"name": "@d3ro/admin",
|
|
"version": "1.0.0",
|
|
"private": true,
|
|
"description": "D3RO Voice Admin CRM — SaaS 관리 도구",
|
|
"scripts": {
|
|
"dev": "next dev --port 3001",
|
|
"build": "next build",
|
|
"start": "next start --port 3001",
|
|
"typecheck": "tsc --noEmit"
|
|
},
|
|
"dependencies": {
|
|
"@d3ro/api-client": "*",
|
|
"@d3ro/core": "*",
|
|
"@d3ro/ui": "*",
|
|
"@emotion/cache": "^11.14.0",
|
|
"@emotion/react": "^11.14.0",
|
|
"@emotion/styled": "^11.14.0",
|
|
"@mui/icons-material": "^7.0.0",
|
|
"@mui/material": "^7.0.0",
|
|
"@mui/material-nextjs": "^7.0.0",
|
|
"@supabase/ssr": "^0.10.0",
|
|
"@supabase/supabase-js": "^2.103.0",
|
|
"lucide-react": "^1.33.0",
|
|
"next": "16.3.1",
|
|
"react": "^19.0.0",
|
|
"react-dom": "^19.0.0",
|
|
"recharts": "^2.15.0"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "^22.13.0",
|
|
"@types/react": "^19.0.0",
|
|
"@types/react-dom": "^19.0.0"
|
|
}
|
|
}
|