nxtgauge-backend-rust/crates/db/migrations/20260402120000_reviews_admin_fields.up.sql
Ashwin Kumar d900c361d8 Add reviews, coupons, discounts, pricing packages, and reports handlers
- handlers/reviews.rs: admin CRUD for /api/admin/reviews (list, create, patch status, delete)
- handlers/coupons.rs: admin CRUD for /api/admin/coupons and /api/admin/discounts
- handlers/pricing.rs: admin CRUD for /api/admin/tracecoin-packages + /api/admin/reports/{users,revenue}
- handlers/dashboard.rs: replace all hardcoded fake data with real DB queries (registrations per day, revenue per week, live KPIs including pending approvals and total revenue)
- Migrations: extend reviews table (nullable FKs + admin fields), add coupons.title/role_keys, create discounts table
- gateway: route new admin paths to users service

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 18:09:50 +02:00

13 lines
682 B
SQL

-- Extend reviews table to support admin-created reviews and admin moderation
ALTER TABLE reviews
ALTER COLUMN lead_request_id DROP NOT NULL,
ALTER COLUMN customer_id DROP NOT NULL,
ALTER COLUMN professional_id DROP NOT NULL,
ADD COLUMN IF NOT EXISTS title VARCHAR(255),
ADD COLUMN IF NOT EXISTS subject_type VARCHAR(50) NOT NULL DEFAULT 'PLATFORM',
ADD COLUMN IF NOT EXISTS subject_id VARCHAR(255),
ADD COLUMN IF NOT EXISTS reviewer_name VARCHAR(255),
ADD COLUMN IF NOT EXISTS status VARCHAR(20) NOT NULL DEFAULT 'PUBLISHED';
-- Sync status with is_published for existing rows
UPDATE reviews SET status = CASE WHEN is_published THEN 'PUBLISHED' ELSE 'HIDDEN' END;