Skip to main content

Settings

Route: /admin/settings
Files:

  • ayts-admin/app/(admin)/settings/page.tsx
  • ayts-admin/app/admin/settings/page.tsx

Auth required: Admin

Purpose

Platform-level configuration that affects all users and vendors.

Settings Sections

Platform Info

  • Site name (default: "AYTS")
  • Contact email
  • Support phone number
  • Platform logo

Business Rules

  • Commission rate (default: 3%)
  • Maximum delivery radius (km)
  • Minimum order amount (₱)
  • Delivery fee structure

Notifications

  • Email notifications enabled/disabled
  • SMS notifications enabled/disabled
  • Push notifications enabled/disabled

Maintenance Mode

  • Toggle maintenance mode (shows splash to customers)
  • Maintenance message

Payment Configuration

  • COD enabled/disabled
  • GCash enabled/disabled
  • Maya enabled/disabled

Data Fetching

// Get settings
GET /api/admin/settings

// Update settings
PATCH /api/admin/settings
{ siteName, contactEmail, commissionRate, ... }
Settings API not implemented

GET /api/admin/settings currently returns 404 Not Found. The route is defined but the underlying handler and database table (platform_settings) may not exist yet.

Implementation Status

SettingStatus
Settings page UI✅ Exists
GET /api/admin/settings❌ Returns 404
PATCH /api/admin/settings❌ Not verified
platform_settings DB table⚠️ Needs verification

How to Fix

  1. Verify or create a platform_settings table in Supabase
  2. Implement the route handler in ayts-api/src/routes/admin.ts
  3. Return a single settings row (upsert pattern)
CREATE TABLE platform_settings (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
site_name TEXT DEFAULT 'AYTS',
contact_email TEXT,
commission_rate DECIMAL(5,4) DEFAULT 0.03,
cod_enabled BOOLEAN DEFAULT true,
gcash_enabled BOOLEAN DEFAULT true,
maya_enabled BOOLEAN DEFAULT true,
maintenance_mode BOOLEAN DEFAULT false,
maintenance_message TEXT,
updated_at TIMESTAMPTZ DEFAULT now()
);