-- 1. Master service list (Admin manage করে)
CREATE TABLE AddOnService (
id UUID PRIMARY KEY,
name VARCHAR(100), -- "Live Session"
description TEXT,
isActive BOOLEAN DEFAULT true
);
-- 2. Course-এর default services (Teacher set করে)
CREATE TABLE CourseDefaultService (
courseId UUID REFERENCES Course(id),
serviceId UUID REFERENCES AddOnService(id),
isEnabled BOOLEAN DEFAULT true,
PRIMARY KEY (courseId, serviceId)
);
-- 3. Admin force-add (overrides teacher)
CREATE TABLE CourseAdminServiceOffering (
courseId UUID REFERENCES Course(id),
serviceId UUID REFERENCES AddOnService(id),
addedBy UUID REFERENCES User(id),
PRIMARY KEY (courseId, serviceId)
);
-- 4. Prices (per course per service)
CREATE TABLE ServicePrice (
courseId UUID,
serviceId UUID,
price DECIMAL(10,2),
currency VARCHAR(3) DEFAULT 'BDT',
PRIMARY KEY (courseId, serviceId)
);
-- 5. Student selection
CREATE TABLE StudentServiceSelection (
studentId UUID REFERENCES User(id),
courseId UUID,
serviceId UUID,
purchasedAt TIMESTAMP DEFAULT NOW(),
PRIMARY KEY (studentId, courseId, serviceId)
);