USE payflow;
INSERT INTO admins(mobile,pin_hash,name,role_name) VALUES ('01700000000', '$2y$10$5G5xjVv9GqHj6b8q8xK9Ue1bJkQjZ1t1y0c9o1bJrQn7d9r8hQk9a', 'Super Admin','super_admin');
-- The hash above is intentionally replaced below with a known bcrypt hash for 12345.
UPDATE admins SET pin_hash='$2y$10$4K8h5mG7Gm2fQe4JtXQ0eO4x0uQyZQJ9k6qj3sK7JfX9Yy3yY5Q7a' WHERE mobile='01700000000';

INSERT INTO users(mobile,pin_hash,name,status,kyc_status) VALUES
('01700000001', '$2y$10$4K8h5mG7Gm2fQe4JtXQ0eO4x0uQyZQJ9k6qj3sK7JfX9Yy3yY5Q7a','Demo User','active','approved'),
('01700000002', '$2y$10$4K8h5mG7Gm2fQe4JtXQ0eO4x0uQyZQJ9k6qj3sK7JfX9Yy3yY5Q7a','Pending User','pending_kyc','pending'),
('01700000003', '$2y$10$4K8h5mG7Gm2fQe4JtXQ0eO4x0uQyZQJ9k6qj3sK7JfX9Yy3yY5Q7a','Second User','active','approved');
INSERT INTO wallets(user_id,balance) VALUES (1,25000),(2,0),(3,12000);

INSERT INTO agents(mobile,pin_hash,name,status,cash_float,emoney_balance) VALUES
('01800000001','$2y$10$4K8h5mG7Gm2fQe4JtXQ0eO4x0uQyZQJ9k6qj3sK7JfX9Yy3yY5Q7a','Demo Agent','active',50000,25000),
('01800000002','$2y$10$4K8h5mG7Gm2fQe4JtXQ0eO4x0uQyZQJ9k6qj3sK7JfX9Yy3yY5Q7a','Second Agent','active',30000,18000);

INSERT INTO biller_categories(name) VALUES ('Mobile'),('Electricity'),('Gas'),('Water'),('Internet'),('TV'),('Education');
INSERT INTO fees(type,flat_amount,pct) VALUES ('send_money',5,0),('cash_out',0,1.85),('bill_pay',0,0);
INSERT INTO limits(kyc_level,daily,monthly,per_txn) VALUES ('unverified',5000,10000,2000),('verified',50000,300000,25000),('premium',200000,1000000,100000);
INSERT INTO settings(`key`,value) VALUES ('cash_out_code_expiry','300'),('maintenance_mode','0');

INSERT INTO transactions(ref,type,status,amount,actor_id) VALUES
('PFSEED0001','send_money','success',500,1),('PFSEED0002','send_money','success',1200,3),('PFSEED0003','send_money','success',300,1);
INSERT INTO transaction_entries(transaction_id,wallet_id,direction,amount) VALUES
(1,1,'debit',500),(1,3,'credit',500),(2,3,'debit',1200),(2,1,'credit',1200),(3,1,'debit',300),(3,3,'credit',300);
