Kristinephone - Supabase Setup
Följ dessa steg för att initiera databasen:
Gå till Supabase SQL Editor, klistra in denna SQL och klicka Run:
-- Create Products table CREATE TABLE IF NOT EXISTS products ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), name TEXT NOT NULL, category TEXT NOT NULL, price DECIMAL(10, 2) NOT NULL, description TEXT, image_url TEXT, stock_quantity INTEGER DEFAULT 0, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); -- Create Orders table CREATE TABLE IF NOT EXISTS orders ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), product_id UUID NOT NULL REFERENCES products(id) ON DELETE CASCADE, customer_name TEXT NOT NULL, customer_email TEXT NOT NULL, customer_phone TEXT NOT NULL, quantity INTEGER NOT NULL, total_price DECIMAL(10, 2) NOT NULL, status TEXT DEFAULT 'pending', created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); -- Create Contact Requests table CREATE TABLE IF NOT EXISTS contact_requests ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), name TEXT NOT NULL, email TEXT NOT NULL, phone TEXT, message TEXT NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); -- Create Repair Requests table CREATE TABLE IF NOT EXISTS repair_requests ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), name TEXT NOT NULL, email TEXT NOT NULL, phone TEXT NOT NULL, device_type TEXT NOT NULL, description TEXT NOT NULL, status TEXT DEFAULT 'pending', created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); -- Create Admin Users table CREATE TABLE IF NOT EXISTS admin_users ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), email TEXT UNIQUE NOT NULL, password_hash TEXT NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); -- Enable Row Level Security ALTER TABLE products ENABLE ROW LEVEL SECURITY; ALTER TABLE orders ENABLE ROW LEVEL SECURITY; ALTER TABLE contact_requests ENABLE ROW LEVEL SECURITY; ALTER TABLE repair_requests ENABLE ROW LEVEL SECURITY; ALTER TABLE admin_users ENABLE ROW LEVEL SECURITY; -- RLS Policies for Products (public read, admin write) CREATE POLICY "products_select_public" ON products FOR SELECT USING (true); CREATE POLICY "products_insert_admin" ON products FOR INSERT WITH CHECK (true); CREATE POLICY "products_update_admin" ON products FOR UPDATE USING (true); CREATE POLICY "products_delete_admin" ON products FOR DELETE USING (true); -- RLS Policies for Orders (public insert, admin read) CREATE POLICY "orders_insert_public" ON orders FOR INSERT WITH CHECK (true); CREATE POLICY "orders_select_admin" ON orders FOR SELECT USING (true); -- RLS Policies for Contact Requests CREATE POLICY "contact_requests_insert_public" ON contact_requests FOR INSERT WITH CHECK (true); CREATE POLICY "contact_requests_select_admin" ON contact_requests FOR SELECT USING (true); -- RLS Policies for Repair Requests CREATE POLICY "repair_requests_insert_public" ON repair_requests FOR INSERT WITH CHECK (true); CREATE POLICY "repair_requests_select_admin" ON repair_requests FOR SELECT USING (true); -- RLS Policies for Admin Users CREATE POLICY "admin_users_select_self" ON admin_users FOR SELECT USING (true);
Efter Steg 1, klistra in denna SQL i samma SQL Editor och klicka Run:
-- Seed initial products for Kristinephone
INSERT INTO products (name, description, price, category, image_url, stock_quantity) VALUES
('iPhone 15 Pro Max', 'Senaste iPhone-modellen med titanramdesign, A17 Pro-chip och fantastisk kamera', 14995.00, 'Telefon', '/iphone-15-pro.png', 5),
('Samsung Galaxy S24 Ultra', 'Flaggskeppet från Samsung med S Pen, kraftfull prestanda och enastående skärm', 13995.00, 'Telefon', '/samsung-galaxy-s24.png', 3),
('MacBook Air M3', 'Ultratunna laptopen med Apple M3-chip, perfekt för arbete och studier', 15995.00, 'Dator', '/macbook-air-m3.jpg', 2),
('iPad Pro 12.9"', 'Professionell surfplatta med M2-chip och fantastisk Liquid Retina XDR-skärm', 12995.00, 'Surfplatta', '/ipad-pro.png', 4),
('iPhone 13', 'Pålitlig iPhone med utmärkt kamera och prestanda', 7995.00, 'Telefon', '/iphone-15-pro.png', 8),
('Samsung Galaxy Tab S9', 'Premium Android-surfplatta med AMOLED-skärm och S Pen', 6995.00, 'Surfplatta', '/samsung-galaxy-s24.png', 3),
('AirPods Pro 2', 'Trådlösa hörlurar med brusreducering och fantastiskt ljud', 2795.00, 'Tillbehör', '/placeholder.svg', 10),
('Dell XPS 15', 'Kraftfull Windows-laptop för krävande arbete', 18995.00, 'Dator', '/placeholder.svg', 2);Klicka knappen nedan för att verifiera att databasen är initialiserad: