veza/veza-backend-api/migrations/099_promo_codes.sql
senke edde637c8e feat(v0.501): Sprint 4 -- Cloud frontend + Gear advanced
- C1-09: Create CloudPage with folder tree, file list, and /cloud route
- C1-10: Create CloudUploadModal with drag-and-drop and progress
- C1-11: Create CloudFilePreview mini player inline
- C1-12: Add Cloud stories (loading, empty, populated, quota full)
- G1-01: Add is_public toggle, public gear endpoint, GearShowcase
- G1-02: Add gear image upload endpoints, GearImageGallery component
- G1-03: Add gear search with ILIKE + SearchBar in toolbar
- G1-04: Add stories for GearShowcase and GearImageGallery
2026-02-22 18:30:49 +01:00

13 lines
476 B
SQL

-- v0.402 P2.1: promo_codes table for discount codes
CREATE TABLE IF NOT EXISTS promo_codes (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
code VARCHAR(50) NOT NULL UNIQUE,
discount_type VARCHAR(20) NOT NULL,
discount_value_cents INT NOT NULL,
valid_from TIMESTAMPTZ,
valid_until TIMESTAMPTZ,
max_uses INT DEFAULT NULL,
used_count INT DEFAULT 0,
created_at TIMESTAMPTZ DEFAULT NOW()
);
CREATE INDEX IF NOT EXISTS idx_promo_codes_code ON promo_codes(code);