-- Idempotent starter seed for a NEW database. Geographic records here are a starter subset, not a complete national directory.
INSERT INTO roles (code, name_bn, name_en, description, is_system) VALUES
('super_admin','সুপার অ্যাডমিন','Super Admin','Full platform administration',1),
('admin','অ্যাডমিন','Admin','Operational administration',1),
('seller','সেলার','Seller','Manage own catalog and orders',1),
('reseller','রিসেলার','Reseller','Promote catalog and manage reseller activity',1),
('supplier','সাপ্লায়ার','Supplier','Supply products and stock',1),
('customer','গ্রাহক','Customer','Customer account',1)
ON DUPLICATE KEY UPDATE name_bn=VALUES(name_bn), name_en=VALUES(name_en), description=VALUES(description);

INSERT INTO permissions (code,name_bn,name_en,module) VALUES
('dashboard.view','ড্যাশবোর্ড দেখুন','View dashboard','dashboard'),
('users.view','ব্যবহারকারী দেখুন','View users','users'),
('users.manage','ব্যবহারকারী পরিচালনা','Manage users','users'),
('roles.manage','রোল ও অনুমতি পরিচালনা','Manage roles and permissions','access'),
('catalog.view','পণ্য ক্যাটালগ দেখুন','View catalog','catalog'),
('catalog.manage','পণ্য পরিচালনা','Manage products','catalog'),
('inventory.view','স্টক দেখুন','View inventory','inventory'),
('inventory.manage','স্টক পরিচালনা','Manage inventory','inventory'),
('settings.manage','সেটিংস পরিচালনা','Manage settings','settings'),
('audit.view','অডিট লগ দেখুন','View audit logs','audit')
ON DUPLICATE KEY UPDATE name_bn=VALUES(name_bn), name_en=VALUES(name_en), module=VALUES(module);

-- Admin gets operational permissions; Super Admin gets every permission currently seeded.
INSERT IGNORE INTO role_permissions (role_id,permission_id)
SELECT r.id,p.id FROM roles r JOIN permissions p
WHERE r.code='super_admin';
INSERT IGNORE INTO role_permissions (role_id,permission_id)
SELECT r.id,p.id FROM roles r JOIN permissions p
WHERE r.code='admin' AND p.code IN ('dashboard.view','users.view','catalog.view','catalog.manage','inventory.view','inventory.manage','audit.view');

INSERT INTO categories (parent_id,name_bn,name_en,slug,sort_order,is_active) VALUES
(NULL,'ইলেকট্রনিক্স','Electronics','electronics',1,1),
(NULL,'ফ্যাশন','Fashion','fashion',2,1),
(NULL,'বাড়ি ও জীবনযাপন','Home & Living','home-living',3,1),
(NULL,'সৌন্দর্য ও স্বাস্থ্য','Beauty & Health','beauty-health',4,1),
(NULL,'খেলাধুলা','Sports','sports',5,1),
(NULL,'মোবাইল অ্যাক্সেসরিজ','Mobile Accessories','mobile-accessories',6,1)
ON DUPLICATE KEY UPDATE name_bn=VALUES(name_bn),name_en=VALUES(name_en),is_active=VALUES(is_active);

INSERT INTO bd_divisions (name_bn,name_en,code) VALUES
('ঢাকা','Dhaka','DHA'),('চট্টগ্রাম','Chattogram','CTG'),('রাজশাহী','Rajshahi','RAJ'),('খুলনা','Khulna','KHU'),
('বরিশাল','Barishal','BAR'),('সিলেট','Sylhet','SYL'),('রংপুর','Rangpur','RNG'),('ময়মনসিংহ','Mymensingh','MYM')
ON DUPLICATE KEY UPDATE name_bn=VALUES(name_bn),name_en=VALUES(name_en);

INSERT INTO bd_districts (division_id,name_bn,name_en,code)
SELECT d.id, x.name_bn, x.name_en, x.code FROM (
 SELECT 'DHA' div_code,'ঢাকা' name_bn,'Dhaka' name_en,'DHA-DHA' code UNION ALL
 SELECT 'DHA','গাজীপুর','Gazipur','DHA-GAZ' UNION ALL SELECT 'DHA','নারায়ণগঞ্জ','Narayanganj','DHA-NAR' UNION ALL
 SELECT 'CTG','চট্টগ্রাম','Chattogram','CTG-CTG' UNION ALL SELECT 'CTG','কক্সবাজার','Cox\'s Bazar','CTG-COX' UNION ALL
 SELECT 'RAJ','রাজশাহী','Rajshahi','RAJ-RAJ' UNION ALL SELECT 'RAJ','বগুড়া','Bogura','RAJ-BOG' UNION ALL
 SELECT 'KHU','খুলনা','Khulna','KHU-KHU' UNION ALL SELECT 'KHU','যশোর','Jashore','KHU-JAS' UNION ALL
 SELECT 'BAR','বরিশাল','Barishal','BAR-BAR' UNION ALL SELECT 'BAR','পটুয়াখালী','Patuakhali','BAR-PAT' UNION ALL
 SELECT 'SYL','সিলেট','Sylhet','SYL-SYL' UNION ALL SELECT 'SYL','মৌলভীবাজার','Moulvibazar','SYL-MOU' UNION ALL
 SELECT 'RNG','রংপুর','Rangpur','RNG-RNG' UNION ALL SELECT 'RNG','দিনাজপুর','Dinajpur','RNG-DIN' UNION ALL
 SELECT 'MYM','ময়মনসিংহ','Mymensingh','MYM-MYM' UNION ALL SELECT 'MYM','জামালপুর','Jamalpur','MYM-JAM'
) x JOIN bd_divisions d ON d.code=x.div_code
ON DUPLICATE KEY UPDATE name_bn=VALUES(name_bn),name_en=VALUES(name_en);

INSERT INTO bd_upazilas (district_id,name_bn,name_en,code)
SELECT d.id,x.name_bn,x.name_en,x.code FROM (
 SELECT 'DHA-DHA' district_code,'সাভার' name_bn,'Savar' name_en,'DHA-DHA-SAV' code UNION ALL
 SELECT 'DHA-GAZ','টঙ্গী','Tongi','DHA-GAZ-TON' UNION ALL
 SELECT 'DHA-NAR','সিদ্ধিরগঞ্জ','Siddhirganj','DHA-NAR-SID' UNION ALL
 SELECT 'CTG-CTG','পটিয়া','Patiya','CTG-CTG-PAT' UNION ALL
 SELECT 'CTG-COX','উখিয়া','Ukhia','CTG-COX-UKH' UNION ALL
 SELECT 'RAJ-RAJ','পবা','Paba','RAJ-RAJ-PAB' UNION ALL
 SELECT 'RAJ-BOG','শেরপুর','Sherpur','RAJ-BOG-SHE' UNION ALL
 SELECT 'KHU-KHU','দাকোপ','Dacope','KHU-KHU-DAC' UNION ALL
 SELECT 'KHU-JAS','ঝিকরগাছা','Jhikargachha','KHU-JAS-JHI' UNION ALL
 SELECT 'BAR-BAR','বাবুগঞ্জ','Babuganj','BAR-BAR-BAB' UNION ALL
 SELECT 'BAR-PAT','কলাপাড়া','Kalapara','BAR-PAT-KAL' UNION ALL
 SELECT 'SYL-SYL','গোলাপগঞ্জ','Golapganj','SYL-SYL-GOL' UNION ALL
 SELECT 'SYL-MOU','শ্রীমঙ্গল','Sreemangal','SYL-MOU-SRE' UNION ALL
 SELECT 'RNG-RNG','পীরগঞ্জ','Pirganj','RNG-RNG-PIR' UNION ALL
 SELECT 'RNG-DIN','বিরল','Biral','RNG-DIN-BIR' UNION ALL
 SELECT 'MYM-MYM','ত্রিশাল','Trishal','MYM-MYM-TRI' UNION ALL
 SELECT 'MYM-JAM','ইসলামপুর','Islampur','MYM-JAM-ISL'
) x JOIN bd_districts d ON d.code=x.district_code
ON DUPLICATE KEY UPDATE name_bn=VALUES(name_bn),name_en=VALUES(name_en);

INSERT INTO settings (setting_key,setting_value,value_type,is_public,description) VALUES
('site.name',JSON_QUOTE('ResellBD'),'string',1,'Public site name'),
('site.default_currency',JSON_QUOTE('BDT'),'string',1,'Currency code; money is stored in paisa'),
('site.timezone',JSON_QUOTE('Asia/Dhaka'),'string',1,'Application display timezone')
ON DUPLICATE KEY UPDATE setting_value=VALUES(setting_value),value_type=VALUES(value_type),is_public=VALUES(is_public);
