| Server IP : 69.72.244.102 / Your IP : 216.73.216.164 Web Server : LiteSpeed System : Linux s3434.fra1.stableserver.net 4.18.0-513.24.1.lve.2.el8.x86_64 #1 SMP Fri May 24 12:42:50 UTC 2024 x86_64 User : konzalta ( 1271) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/konzalta/soko.chat/database/ |
Upload File : |
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(150),
phone VARCHAR(30) UNIQUE,
email VARCHAR(150) UNIQUE,
password_hash VARCHAR(255),
role ENUM('admin','moderator','visitor','contributor') DEFAULT 'visitor',
status ENUM('active','blocked') DEFAULT 'active',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE counties (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL UNIQUE,
slug VARCHAR(120) NOT NULL UNIQUE,
region VARCHAR(100) NULL,
status ENUM('active','inactive') DEFAULT 'active'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE categories (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
slug VARCHAR(120) NOT NULL UNIQUE,
sort_order INT DEFAULT 0,
status ENUM('active','inactive') DEFAULT 'active'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE deals (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
slug VARCHAR(255) NOT NULL UNIQUE,
county_id INT NULL,
category_id INT NULL,
location VARCHAR(150),
price VARCHAR(100),
public_summary TEXT,
redacted_summary TEXT,
full_details TEXT NOT NULL,
contact_name VARCHAR(150),
contact_phone VARCHAR(50),
source_whatsapp_number VARCHAR(50),
submitter_name VARCHAR(150),
submitter_phone VARCHAR(50),
submitter_email VARCHAR(150),
verification_status ENUM('unverified','basic_checked','verified','suspicious') DEFAULT 'unverified',
status ENUM('pending','published','rejected','expired','flagged') DEFAULT 'pending',
unlock_fee DECIMAL(10,2) DEFAULT 10.00,
recommended_unlock_fee DECIMAL(10,2) DEFAULT NULL,
pricing_reason TEXT NULL,
views_count INT DEFAULT 0,
unlock_attempts_count INT DEFAULT 0,
unlocks_count INT DEFAULT 0,
reports_count INT DEFAULT 0,
created_by INT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
expires_at TIMESTAMP NULL,
FOREIGN KEY (county_id) REFERENCES counties(id) ON DELETE SET NULL,
FOREIGN KEY (category_id) REFERENCES categories(id) ON DELETE SET NULL,
INDEX idx_status_created (status, created_at),
INDEX idx_county_category_status (county_id, category_id, status),
INDEX idx_category_status (category_id, status)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE payments (
id INT AUTO_INCREMENT PRIMARY KEY,
deal_id INT NOT NULL,
phone VARCHAR(30) NOT NULL,
amount DECIMAL(10,2) NOT NULL,
merchant_request_id VARCHAR(100),
checkout_request_id VARCHAR(100),
mpesa_receipt_number VARCHAR(100),
status ENUM('pending','successful','failed','cancelled','expired') DEFAULT 'pending',
raw_callback LONGTEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
paid_at TIMESTAMP NULL,
FOREIGN KEY (deal_id) REFERENCES deals(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE unlocks (
id INT AUTO_INCREMENT PRIMARY KEY,
deal_id INT NOT NULL,
payment_id INT NULL,
phone VARCHAR(30) NOT NULL,
unlock_token VARCHAR(100) NOT NULL UNIQUE,
expires_at TIMESTAMP NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (deal_id) REFERENCES deals(id) ON DELETE CASCADE,
FOREIGN KEY (payment_id) REFERENCES payments(id) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE reports (
id INT AUTO_INCREMENT PRIMARY KEY,
deal_id INT NOT NULL,
user_phone VARCHAR(30),
reason VARCHAR(255),
details TEXT,
status ENUM('new','reviewed','resolved','dismissed') DEFAULT 'new',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (deal_id) REFERENCES deals(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE whatsapp_inbox (
id INT AUTO_INCREMENT PRIMARY KEY,
wa_message_id VARCHAR(150) UNIQUE,
from_phone VARCHAR(50),
profile_name VARCHAR(150),
message_type VARCHAR(50),
message_text TEXT,
raw_payload LONGTEXT,
processing_status ENUM('new','converted_to_deal','ignored','failed') DEFAULT 'new',
deal_id INT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
processed_at TIMESTAMP NULL,
FOREIGN KEY (deal_id) REFERENCES deals(id) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
INSERT INTO counties (name, slug, region) VALUES
('Baringo','baringo','Rift Valley'),('Bomet','bomet','Rift Valley'),('Bungoma','bungoma','Western'),('Busia','busia','Western'),('Elgeyo Marakwet','elgeyo-marakwet','Rift Valley'),('Embu','embu','Eastern'),('Garissa','garissa','North Eastern'),('Homa Bay','homa-bay','Nyanza'),('Isiolo','isiolo','Eastern'),('Kajiado','kajiado','Rift Valley'),('Kakamega','kakamega','Western'),('Kericho','kericho','Rift Valley'),('Kiambu','kiambu','Central'),('Kilifi','kilifi','Coast'),('Kirinyaga','kirinyaga','Central'),('Kisii','kisii','Nyanza'),('Kisumu','kisumu','Nyanza'),('Kitui','kitui','Eastern'),('Kwale','kwale','Coast'),('Laikipia','laikipia','Rift Valley'),('Lamu','lamu','Coast'),('Machakos','machakos','Eastern'),('Makueni','makueni','Eastern'),('Mandera','mandera','North Eastern'),('Marsabit','marsabit','Eastern'),('Meru','meru','Eastern'),('Migori','migori','Nyanza'),('Mombasa','mombasa','Coast'),('Murang’a','muranga','Central'),('Nairobi','nairobi','Nairobi'),('Nakuru','nakuru','Rift Valley'),('Nandi','nandi','Rift Valley'),('Narok','narok','Rift Valley'),('Nyamira','nyamira','Nyanza'),('Nyandarua','nyandarua','Central'),('Nyeri','nyeri','Central'),('Samburu','samburu','Rift Valley'),('Siaya','siaya','Nyanza'),('Taita Taveta','taita-taveta','Coast'),('Tana River','tana-river','Coast'),('Tharaka Nithi','tharaka-nithi','Eastern'),('Trans Nzoia','trans-nzoia','Rift Valley'),('Turkana','turkana','Rift Valley'),('Uasin Gishu','uasin-gishu','Rift Valley'),('Vihiga','vihiga','Western'),('Wajir','wajir','North Eastern'),('West Pokot','west-pokot','Rift Valley');
INSERT INTO categories (name, slug, sort_order) VALUES
('Rentals / Housing','rentals-housing',1),
('Jobs / Gigs','jobs-gigs',2),
('For Sale','for-sale',3),
('Business Stock / Wholesale','business-stock-wholesale',4),
('Vehicles / Motorbikes','vehicles-motorbikes',5),
('Land / Property','land-property',6),
('Farm Produce / Agribusiness','farm-produce-agribusiness',7),
('Services','services',8),
('Tenders / Supply Leads','tenders-supply-leads',9),
('Community','community',10);
-- Default admin password: admin123
INSERT INTO users (name, email, password_hash, role, status)
VALUES ('Soko Admin','admin@soko.chat','$2y$10$jOCdgTNzpSLV1x5YnIod9e5lQghsYxuG2IRnUQVo9pDoUwb.v8pO2','admin','active');