-- টেবিল স্ট্রাকচার শুরু --

START TRANSACTION;

-- --------------------------------------------------------

--
-- ৩. টেবিল স্ট্রাকচার: `tasks`
-- মাইক্রো জব বা টাস্কগুলো এখানে থাকবে
--

CREATE TABLE `tasks` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(255) NOT NULL,
  `link` varchar(255) NOT NULL,
  `reward` decimal(10,2) NOT NULL DEFAULT 0.00,
  `image` varchar(255) DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- --------------------------------------------------------

--
-- ৪. টেবিল স্ট্রাকচার: `user_tasks`
-- ইউজাররা যেসব টাস্ক সাবমিট করবে
--

CREATE TABLE `user_tasks` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL,
  `task_id` int(11) NOT NULL,
  `photo1` varchar(255) DEFAULT NULL,
  `photo2` varchar(255) DEFAULT NULL,
  `status` enum('pending','approved','rejected') NOT NULL DEFAULT 'pending',
  `submitted_at` timestamp NOT NULL DEFAULT current_timestamp(),
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- --------------------------------------------------------

--
-- ৫. টেবিল স্ট্রাকচার: `activation_requests`
-- একাউন্ট একটিভ করার রিকোয়েস্টগুলো এখানে থাকবে
--

CREATE TABLE `activation_requests` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL,
  `sender_number` varchar(50) NOT NULL,
  `trx_id` varchar(50) NOT NULL,
  `status` enum('pending','approved','rejected') NOT NULL DEFAULT 'pending',
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `approved_at` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- --------------------------------------------------------

--
-- ৬. টেবিল স্ট্রাকচার: `withdraws`
-- পেমেন্ট বা উইথড্র রিকোয়েস্ট
--

CREATE TABLE `withdraws` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL,
  `amount` decimal(10,2) NOT NULL,
  `method` varchar(20) NOT NULL,
  `number` varchar(20) NOT NULL,
  `wallet_type` varchar(20) DEFAULT 'main',
  `trx_id` varchar(50) DEFAULT NULL,
  `status` enum('pending','approved','rejected') NOT NULL DEFAULT 'pending',
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- --------------------------------------------------------

--
-- ১০. টেবিল স্ট্রাকচার: `typing_job_settings`
-- টাইপিং কাজের কনফিগারেশন
--

CREATE TABLE `typing_job_settings` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `total_lines` int(11) NOT NULL DEFAULT 10,
  `rate_per_line` decimal(10,2) NOT NULL DEFAULT 0.50,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- ডিফল্ট টাইপিং সেটিংস ডাটা
INSERT INTO `typing_job_settings` (`id`, `total_lines`, `rate_per_line`) VALUES
(1, 10, 0.50);

-- --------------------------------------------------------

--
-- ১১. টেবিল স্ট্রাকচার: `user_typing`
-- ইউজার টাইপিং হিস্টোরি
--

CREATE TABLE `user_typing` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL,
  `lines_completed` int(11) NOT NULL,
  `earned` decimal(10,2) NOT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- --------------------------------------------------------

--
-- ১২. টেবিল স্ট্রাকচার: `gift_codes`
-- গিফট কোড ম্যানেজমেন্ট
--

CREATE TABLE `gift_codes` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `code` varchar(50) NOT NULL,
  `amount` decimal(10,2) NOT NULL,
  `max_usage` int(11) NOT NULL DEFAULT 100,
  `current_usage` int(11) NOT NULL DEFAULT 0,
  PRIMARY KEY (`id`),
  UNIQUE KEY `code` (`code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- --------------------------------------------------------

--
-- ১৩. টেবিল স্ট্রাকচার: `gift_code_usage`
-- কে কোন কোড ব্যবহার করেছে
--

CREATE TABLE `gift_code_usage` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL,
  `code_id` int(11) NOT NULL,
  `claimed_at` timestamp NOT NULL DEFAULT current_timestamp(),
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- --------------------------------------------------------

--
-- ১৪. টেবিল স্ট্রাকচার: `salary_requests`
-- মাসিক স্যালারি আবেদন
--

CREATE TABLE `salary_requests` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL,
  `amount` decimal(10,2) NOT NULL,
  `status` enum('pending','paid','rejected') NOT NULL DEFAULT 'pending',
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- --------------------------------------------------------

--
-- ১৫. টেবিল স্ট্রাকচার: `support_messages`
-- সাপোর্ট মেসেজ
--

CREATE TABLE `support_messages` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `fullname` varchar(100) NOT NULL,
  `phone` varchar(20) DEFAULT NULL,
  `email` varchar(100) DEFAULT NULL,
  `message` text NOT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- --------------------------------------------------------

--
-- ১৬. টেবিল স্ট্রাকচার: `admin_settings`
-- জিমেইল এবং রেফার বোনাস কনফিগারেশন (বিবিধ সেটিংস)
--

CREATE TABLE `admin_settings` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `daily_limit` int(11) DEFAULT 100,
  `per_gmail_rate` decimal(10,2) DEFAULT 4.00,
  `setting_key` varchar(100) DEFAULT NULL,
  `setting_value` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `setting_key` (`setting_key`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- ডিফল্ট ডাটা
INSERT INTO `admin_settings` (`id`, `daily_limit`, `per_gmail_rate`, `setting_key`, `setting_value`) VALUES
(1, 100, 4.00, NULL, NULL),
(2, NULL, NULL, 'referral_bonus_amount', '20.00');

COMMIT;