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

START TRANSACTION;

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

--
-- ১. টেবিল স্ট্রাকচার: `users`
-- ইউজারদের সব তথ্য এবং ব্যালেন্স এখানে থাকবে
--

CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `fullname` varchar(100) NOT NULL,
  `email` varchar(100) NOT NULL,
  `phone` varchar(20) NOT NULL,
  `password` varchar(255) NOT NULL,
  `profile_pic` varchar(255) DEFAULT NULL,
  `balance` decimal(10,2) NOT NULL DEFAULT 0.00,
  `balance_fb` decimal(10,2) NOT NULL DEFAULT 0.00,
  `balance_insta` decimal(10,2) NOT NULL DEFAULT 0.00,
  `balance_gmail` decimal(10,2) NOT NULL DEFAULT 0.00,
  `balance_refer` decimal(10,2) NOT NULL DEFAULT 0.00,
  `typing_balance` decimal(10,2) NOT NULL DEFAULT 0.00,
  `referred_by_id` int(11) NOT NULL DEFAULT 0,
  `is_active` tinyint(1) NOT NULL DEFAULT 0 COMMENT '0=Inactive, 1=Active',
  `status` enum('active','banned') NOT NULL DEFAULT 'active',
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  PRIMARY KEY (`id`),
  UNIQUE KEY `email` (`email`),
  UNIQUE KEY `phone` (`phone`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

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

--
-- ২. টেবিল স্ট্রাকচার: `settings`
-- এডমিন প্যানেলের সব সেটিংস (রেট, পেমেন্ট, মেসেজ) এখানে থাকবে
--

CREATE TABLE `settings` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `bkash_number` varchar(20) DEFAULT NULL,
  `nagad_number` varchar(20) DEFAULT NULL,
  `activation_fee` decimal(10,2) DEFAULT 100.00,
  `max_withdraw` decimal(10,2) DEFAULT 10000.00,
  `facebook_rate` decimal(10,2) DEFAULT 10.00,
  `instagram_rate` decimal(10,2) DEFAULT 5.00,
  `gmail_rate` decimal(10,2) DEFAULT 4.00,
  `gmail_fixed_pass` varchar(50) DEFAULT 'Pass@1234',
  `min_wd_task` decimal(10,2) DEFAULT 50.00,
  `min_wd_fb` decimal(10,2) DEFAULT 100.00,
  `min_wd_insta` decimal(10,2) DEFAULT 100.00,
  `min_wd_gmail` decimal(10,2) DEFAULT 50.00,
  `min_wd_refer` decimal(10,2) DEFAULT 200.00,
  `welcome_title` varchar(100) DEFAULT 'Welcome',
  `welcome_msg` text DEFAULT NULL,
  `welcome_btn_text` varchar(50) DEFAULT 'OK',
  `welcome_btn_link` varchar(255) DEFAULT NULL,
  `status_task` tinyint(1) DEFAULT 1,
  `status_fb` tinyint(1) DEFAULT 1,
  `status_insta` tinyint(1) DEFAULT 1,
  `status_gmail` tinyint(1) DEFAULT 1,
  `status_typing` tinyint(1) DEFAULT 1,
  `status_refer` tinyint(1) DEFAULT 1,
  `gateway_status` tinyint(1) DEFAULT 0 COMMENT '0=Manual, 1=Auto, 2=Both',
  `gateway_api_url` varchar(255) DEFAULT NULL,
  `gateway_api_key` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

--
-- ডিফল্ট সেটিংস ডাটা ইনসার্ট (এটা না থাকলে সাইটে এরর আসবে)
--
INSERT INTO `settings` (`id`, `bkash_number`, `nagad_number`, `activation_fee`, `max_withdraw`, `facebook_rate`, `instagram_rate`, `gmail_rate`, `gmail_fixed_pass`, `min_wd_task`, `min_wd_fb`, `min_wd_insta`, `min_wd_gmail`, `min_wd_refer`, `welcome_title`, `welcome_msg`, `welcome_btn_text`, `gateway_status`) VALUES
(1, '01700000000', '01800000000', 100.00, 5000.00, 10.00, 6.00, 4.00, 'Pass@123', 50.00, 100.00, 100.00, 50.00, 200.00, 'Welcome Bonus', 'আমাদের সাইটে আপনাকে স্বাগতম! {user}', 'ধন্যবাদ', 0);

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

--
-- ৩. টেবিল স্ট্রাকচার: `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;

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

--
-- ৭. টেবিল স্ট্রাকচার: `facebook_sales`
-- ফেসবুক আইডি বিক্রির ডাটা
--

CREATE TABLE `facebook_sales` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL,
  `uid` varchar(100) NOT NULL,
  `gmail` varchar(100) DEFAULT NULL,
  `password` varchar(100) NOT NULL,
  `two_fa` text DEFAULT NULL,
  `screenshot` varchar(255) DEFAULT NULL,
  `rate` decimal(10,2) NOT 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;

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

--
-- ৮. টেবিল স্ট্রাকচার: `instagram_sales`
-- ইনস্টাগ্রাম আইডি বিক্রির ডাটা
--

CREATE TABLE `instagram_sales` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL,
  `username` varchar(100) NOT NULL,
  `email` varchar(100) DEFAULT NULL,
  `password` varchar(100) NOT NULL,
  `two_fa` text DEFAULT NULL,
  `rate` decimal(10,2) NOT 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;

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

--
-- ৯. টেবিল স্ট্রাকচার: `gmail_sales`
-- জিমেইল আইডি বিক্রির ডাটা
--

CREATE TABLE `gmail_sales` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL,
  `gmail` varchar(100) NOT NULL,
  `pass` varchar(100) NOT NULL,
  `rate` decimal(10,2) NOT NULL,
  `status` enum('processing','approved','rejected') NOT NULL DEFAULT 'processing',
  `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;