-- https://www.phpmyadmin.net/
--
-- Waktu pembuatan: 12 Apr 2026 pada 05.52
-- Versi server: 10.4.32-MariaDB
-- Versi PHP: 8.2.12

START TRANSACTION;



--
-- Database: `digishop`
--

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

--
-- Struktur dari tabel `bank_accounts`
--

CREATE TABLE `bank_accounts` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `bank_name` varchar(255) NOT NULL,
  `account_number` varchar(255) NOT NULL,
  `account_name` varchar(255) NOT NULL,
  `logo` varchar(255) DEFAULT NULL,
  `is_active` tinyint(1) NOT NULL DEFAULT 1,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `bank_accounts`
--

INSERT INTO `bank_accounts` (`id`, `bank_name`, `account_number`, `account_name`, `logo`, `is_active`, `created_at`, `updated_at`) VALUES
(1, 'BCA', '9887675', 'Budi Erlangga', 'banks/PA0LdHL0Al0hphlNmWmgCo2dlYMIXDqpfXwqfgsv.png', 1, '2026-03-31 06:49:51', '2026-03-31 06:49:51');

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

--
-- Struktur dari tabel `categories`
--

CREATE TABLE `categories` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `name` varchar(255) NOT NULL,
  `slug` varchar(255) NOT NULL,
  `icon` varchar(255) DEFAULT NULL,
  `description` text DEFAULT NULL,
  `is_active` tinyint(1) NOT NULL DEFAULT 1,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `categories`
--

INSERT INTO `categories` (`id`, `name`, `slug`, `icon`, `description`, `is_active`, `created_at`, `updated_at`) VALUES
(1, 'E-Books', 'e-books', 'book-open', NULL, 1, '2026-03-31 03:33:09', '2026-03-31 04:17:32'),
(2, 'Source Code', 'source-code', 'code-bracket', NULL, 1, '2026-03-31 03:33:09', '2026-03-31 04:17:32'),
(3, 'UI Templates', 'ui-templates', 'squares-2x2', NULL, 1, '2026-03-31 03:33:09', '2026-03-31 04:17:32');

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

--
-- Struktur dari tabel `download_logs`
--

CREATE TABLE `download_logs` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `user_id` bigint(20) UNSIGNED NOT NULL,
  `order_id` bigint(20) UNSIGNED NOT NULL,
  `product_id` bigint(20) UNSIGNED NOT NULL,
  `ip_address` varchar(255) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

--
-- Struktur dari tabel `failed_jobs`
--

CREATE TABLE `failed_jobs` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `uuid` varchar(255) NOT NULL,
  `connection` text NOT NULL,
  `queue` text NOT NULL,
  `payload` longtext NOT NULL,
  `exception` longtext NOT NULL,
  `failed_at` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

--
-- Struktur dari tabel `jobs`
--

CREATE TABLE `jobs` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `queue` varchar(255) NOT NULL,
  `payload` longtext NOT NULL,
  `attempts` tinyint(3) UNSIGNED NOT NULL,
  `reserved_at` int(10) UNSIGNED DEFAULT NULL,
  `available_at` int(10) UNSIGNED NOT NULL,
  `created_at` int(10) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

--
-- Struktur dari tabel `job_batches`
--

CREATE TABLE `job_batches` (
  `id` varchar(255) NOT NULL,
  `name` varchar(255) NOT NULL,
  `total_jobs` int(11) NOT NULL,
  `pending_jobs` int(11) NOT NULL,
  `failed_jobs` int(11) NOT NULL,
  `failed_job_ids` longtext NOT NULL,
  `options` mediumtext DEFAULT NULL,
  `cancelled_at` int(11) DEFAULT NULL,
  `created_at` int(11) NOT NULL,
  `finished_at` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

--
-- Struktur dari tabel `migrations`
--

CREATE TABLE `migrations` (
  `id` int(10) UNSIGNED NOT NULL,
  `migration` varchar(255) NOT NULL,
  `batch` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `migrations`
--

INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES
(1, '0001_01_01_000000_create_users_table', 1),
(2, '0001_01_01_000001_create_cache_table', 1),
(3, '0001_01_01_000002_create_jobs_table', 1),
(4, '2026_03_31_111743_create_permission_tables', 1),
(5, '2026_03_31_112306_create_categories_table', 2),
(6, '2026_03_31_112308_create_products_table', 2),
(7, '2026_03_31_112309_create_bank_accounts_table', 2),
(8, '2026_03_31_112310_create_orders_table', 2),
(9, '2026_03_31_112311_create_payment_proofs_table', 2),
(10, '2026_03_31_112312_create_download_logs_table', 2),
(11, '2026_03_31_112313_create_settings_table', 2),
(12, '2026_04_01_035724_add_content_to_products_table', 3),
(13, '2026_04_01_050224_add_footer_settings_to_settings_table', 4),
(14, '2026_04_01_055537_create_pages_table', 4),
(15, '2026_04_11_125621_add_details_to_products_table', 5),
(16, '2026_04_11_131208_create_testimonials_table', 6),
(17, '2026_04_11_145626_create_videos_table', 7);

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

--
-- Struktur dari tabel `model_has_permissions`
--

CREATE TABLE `model_has_permissions` (
  `permission_id` bigint(20) UNSIGNED NOT NULL,
  `model_type` varchar(255) NOT NULL,
  `model_id` bigint(20) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

--
-- Struktur dari tabel `model_has_roles`
--

CREATE TABLE `model_has_roles` (
  `role_id` bigint(20) UNSIGNED NOT NULL,
  `model_type` varchar(255) NOT NULL,
  `model_id` bigint(20) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `model_has_roles`
--

INSERT INTO `model_has_roles` (`role_id`, `model_type`, `model_id`) VALUES
(1, 'App\\Models\\User', 1),
(2, 'App\\Models\\User', 2),
(2, 'App\\Models\\User', 5);

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

--
-- Struktur dari tabel `orders`
--

CREATE TABLE `orders` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `user_id` bigint(20) UNSIGNED NOT NULL,
  `product_id` bigint(20) UNSIGNED DEFAULT NULL,
  `order_code` varchar(255) NOT NULL,
  `amount` decimal(12,2) NOT NULL,
  `status` enum('pending','paid','cancelled') NOT NULL DEFAULT 'pending',
  `method` enum('bank_transfer','whatsapp') NOT NULL DEFAULT 'bank_transfer',
  `whatsapp_sent_at` timestamp NULL DEFAULT NULL,
  `paid_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `orders`
--

INSERT INTO `orders` (`id`, `user_id`, `product_id`, `order_code`, `amount`, `status`, `method`, `whatsapp_sent_at`, `paid_at`, `created_at`, `updated_at`) VALUES
(1, 4, 2, 'ORD-RQWVSDOQ', 150000.00, 'paid', 'bank_transfer', NULL, '2026-03-31 19:22:19', '2026-03-31 19:11:56', '2026-03-31 19:22:19'),
(2, 4, 1, 'ORD-MS5WDSMP', 50000.00, 'pending', 'bank_transfer', NULL, NULL, '2026-03-31 20:06:25', '2026-03-31 20:06:25'),
(3, 4, 3, 'ORD-JJY1XVS2', 200000.00, 'pending', 'bank_transfer', NULL, NULL, '2026-03-31 20:12:17', '2026-03-31 20:12:17'),
(4, 4, 3, 'ORD-VUHY5RA0', 200000.00, 'pending', 'bank_transfer', NULL, NULL, '2026-03-31 20:14:24', '2026-03-31 20:14:24');

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

--
-- Struktur dari tabel `pages`
--

CREATE TABLE `pages` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `title` varchar(255) NOT NULL,
  `slug` varchar(255) NOT NULL,
  `content` longtext DEFAULT NULL,
  `meta_description` varchar(300) DEFAULT NULL,
  `status` enum('draft','published') NOT NULL DEFAULT 'draft',
  `show_in_footer` tinyint(1) NOT NULL DEFAULT 0,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `pages`
--

INSERT INTO `pages` (`id`, `title`, `slug`, `content`, `meta_description`, `status`, `show_in_footer`, `created_at`, `updated_at`) VALUES
(2, 'Syarat & Ketentuan', 'syarat-ketentuan', '\n<h2>Penerimaan Syarat & Ketentuan</h2>\n<p>Dengan mengakses, mendaftar, atau melakukan pembelian di <strong>DigiShop</strong>, Anda setuju untuk terikat oleh Syarat dan Ketentuan berikut.</p>\n\n<h3>1. Ketentuan Akun</h3>\n<ul>\n    <li>Anda wajib memberikan informasi data diri berupa nama dan email yang valid saat mendaftar.</li>\n    <li>Keamanan <em>password</em> akun sepenuhnya adalah tanggung jawab Anda.</li>\n    <li>DigiShop berhak membekukan akun yang terbukti melakukan aktivitas kecurangan, spam, atau pelanggaran hukum.</li>\n</ul>\n\n<h3>2. Aturan Pembelian & Pengunduhan</h3>\n<ul>\n    <li>Semua produk berupa barang digital (Source Code, Template, Aplikasi). Pastikan untuk membaca deskripsi sebelum membeli.</li>\n    <li>Pembayaran dilakukan melalui gerbang pembayaran resmi. Setelah status pembayaran berhasil, *link* unduhan/akses produk akan otomatis terbuka di <em>Dashboard</em> Anda.</li>\n</ul>\n\n<h3>3. Kebijakan Refund (Pengembalian Dana)</h3>\n<p>Karena sifat produk digital yang tidak dapat \"dikembalikan\" seperti barang fisik, <strong>semua penjualan adalah final dan tidak dapat di-refund</strong>, KECUALI:</p>\n<ul>\n    <li>Produk yang diunduh terbukti rusak file-nya dan tidak bisa diperbaiki oleh tim kami.</li>\n    <li>Detail fitur pada deskripsi sama sekali tidak sesuai dengan apa yang Anda dapatkan di dalam file sumber.</li>\n</ul>\n', 'Syarat dan ketentuan umum penggunaan layanan dan pembelian produk di DigiShop.', 'published', 1, '2026-03-31 22:52:57', '2026-03-31 22:52:57'),
(3, 'Panduan Lisensi', 'panduan-lisensi', '\n<h2>Memahami Lisensi DigiShop</h2>\n<p>Hal terpenting sebelum menggunakan produk dari DigiShop adalah memahami Hak Cipta dan Lisensi Penggunaan untuk menghindari masalah legalitas di kemudian hari.</p>\n\n<h3>1. Regular License (Lisensi Personal/Reguler)</h3>\n<p>Lisensi ini diperuntukkan bagi penggunaan tunggal pada satu proyek / domain utama.</p>\n<ul>\n    <li>✅ Boleh digunakan untuk proyek pribadi atau satu proyek klien (dibuat khusus).</li>\n    <li>✅ Boleh dimodifikasi bentuk kode sumbernya agar sesuai kebutuhan.</li>\n    <li>❌ <strong>TIDAK BOLEH</strong> mendistribusikan ulang (dijual kembali) produk ini ke marketplace lain.</li>\n    <li>❌ <strong>TIDAK BOLEH</strong> membagikan produk ini secara gratis (sistem patungan/nulled).</li>\n</ul>\n\n<h3>2. Extended License (Lisensi Developer)</h3>\n<p>Bagi Anda pengembang aplikasi yang ingin meraup untung dari karya turunan, silakan gunakan lisensi Extended.</p>\n<ul>\n    <li>✅ Boleh mengembangkan aplikasi turunan dari source code untuk dijual kembali sebagai SaaS atau Service (*Software as a Service*).</li>\n    <li>✅ Tetap terikat aturan larangan berjualan reselling *source code* mentah di pesaing marketplace.</li>\n</ul>\n<blockquote>Silakan hubungi admin kami via WhatsApp jika Anda ingin upgrade lisensi produk bawaan.</blockquote>\n', 'Pelajari perbedaan jenis-jenis lisensi produk digital yang berlaku di platform kami demi kenyamanan hak cipta bersama.', 'published', 1, '2026-03-31 22:52:57', '2026-03-31 22:52:57'),
(4, 'Kebijakan Privasi', 'kebijakan-privasi', '\n<h2>Privasi Anda Adalah Prioritas Kami</h2>\n<p>Situs ini dikelola oleh tim DigiShop. Kami sangat menghargai privasi dan keamanan data Anda. Kami tidak akan membagikan eksploitasi data kepada pihak ketiga yang berafiliasi secara ilegal.</p>\n\n<h3>Data yang Kami Kumpulkan</h3>\n<p>Kami hanya mengumpulkan data esensial yang menunjang fungsionalitas aplikasi dan layanan pelanggan:</p>\n<ol>\n    <li><strong>Data Identitas:</strong> Nama lengkap, Email, dan Nomor Telepon (Hanya jika dimasukkan).</li>\n    <li><strong>Data Transaksi:</strong> Riwayat Invoice, pembelian file, dan metode bayar. (Catatan: Kami tidak menyimpan detail kartu kredit/debit karena ditangani penuh oleh pihak *Payment Gateway*).</li>\n</ol>\n\n<h3>Penggunaan Data</h3>\n<p>Bila diperlukan, kami akan menggunakan email Anda untuk meneruskan informasi rilis terbaru alat (*freemium updates*), perbaikan keamanan kritis, dan layanan pengingat tagihan saja.</p>\n<hr>\n<p>Dengan tetap mengakses situs web DigiShop, Anda menyatakan menyetujui semua klausul dalam Kebijakan Privasi ini. Kebijakan ini dapat berubah sewaktu-waktu seiring pembaruan UU PDP di Indonesia.</p>\n', 'Pahami bagaimana DigiShop menjaga dan merawat data pribadi Anda secara aman.', 'published', 1, '2026-03-31 22:52:57', '2026-03-31 22:52:57'),
(5, 'FAQ & Bantuan', 'faq', '\n<h2>Tanya Jawab (FAQ)</h2>\n<p>Berikut adalah berbagai jawaban dari pertanyaan yang paling sering diajukan pelanggan kepada tim *customer service* kami.</p>\n\n<h3>Pemesanan & Download</h3>\n<p><strong>Tanya: Bagaimana cara mendapatkan produk setelah membayar?</strong></p>\n<p><em>Jawab: Jika Anda membayar menggunakan Payment Gateway (Otomatis), maka segera setelah sukses, Anda bisa ke menu <strong>Dashboard &gt; Riwayat Pesanan</strong>, lalu klik tombol Download berwarna biru.</em></p>\n\n<p><strong>Tanya: Apakah link download punya batas waktu?</strong></p>\n<p><em>Jawab: Tidak. Semenjak Anda membelinya, file akan tersimpan selamanya di riwayat akun selagi layanan kami berdiri. Anda bebas mendownload ulang kapan pun jika kehilangan file di laptop Anda.</em></p>\n\n<h3>Bantuan Teknis & Garansi</h3>\n<p><strong>Tanya: Apakah saya dibantu install / upload ke hosting?</strong></p>\n<p><em>Jawab: Ya. Kami memberikan 1x Free setup ke Shared Hosting atau VPS Anda. Jika gagal karena environment server berbeda, Anda boleh mengajukan tanya-jawab sampai tuntas.</em></p>\n\n<p><strong>Tanya: Bagaimana mendapatkan info Update Sistem?</strong></p>\n<p><em>Jawab: Anda cukup memantau nomor versi di halaman riwayat order. Bila Anda kesulitan memperbarui (upgrade sistem tanpa menimpa database lama), kami sangat menyarankan untuk menggunakan jasa tim teknis kami via WhatsApp CS.</em></p>\n', 'Daftar pertanyaan yang paling sering ditanyakan oleh pelanggan kami. Temukan jawabannya di sini.', 'published', 1, '2026-03-31 22:52:57', '2026-03-31 22:52:57');

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

--
-- Struktur dari tabel `payment_proofs`
--

CREATE TABLE `payment_proofs` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `order_id` bigint(20) UNSIGNED NOT NULL,
  `image_path` varchar(255) NOT NULL,
  `note` text DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `payment_proofs`
--

INSERT INTO `payment_proofs` (`id`, `order_id`, `image_path`, `note`, `created_at`, `updated_at`) VALUES
(1, 1, 'proofs/nkckvMBSTlRqYighHpEmb8gff7NQNtB9Hb2WcsWJ.png', 'No rekening atas nama Asma', '2026-03-31 19:11:56', '2026-03-31 19:11:56'),
(2, 2, 'proofs/iPJY376I79dqWpWflvpKipdK1m41S44czyxtbdBv.png', NULL, '2026-03-31 20:06:25', '2026-03-31 20:06:25'),
(3, 3, 'proofs/LmLaiDcgj5bbXKrGs3ZzWjlM4a0O4UWN475Y7lDV.png', 'Rekening pembayaran atas nama Rahmat', '2026-03-31 20:12:17', '2026-03-31 20:12:17'),
(4, 4, 'proofs/NaCDNbSJ0MBWLxvpuP38vkdfvLKICr1PeaFeBfYc.png', NULL, '2026-03-31 20:14:24', '2026-03-31 20:14:24');

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

--
-- Struktur dari tabel `permissions`
--

CREATE TABLE `permissions` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `name` varchar(255) NOT NULL,
  `guard_name` varchar(255) NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `permissions`
--

INSERT INTO `permissions` (`id`, `name`, `guard_name`, `created_at`, `updated_at`) VALUES
(1, 'view products', 'web', '2026-03-31 03:33:07', '2026-03-31 03:33:07'),
(2, 'manage products', 'web', '2026-03-31 03:33:07', '2026-03-31 03:33:07'),
(3, 'manage orders', 'web', '2026-03-31 03:33:07', '2026-03-31 03:33:07'),
(4, 'manage users', 'web', '2026-03-31 03:33:07', '2026-03-31 03:33:07'),
(5, 'manage settings', 'web', '2026-03-31 03:33:07', '2026-03-31 03:33:07'),
(6, 'download product', 'web', '2026-03-31 03:33:07', '2026-03-31 03:33:07');

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

--
-- Struktur dari tabel `products`
--

CREATE TABLE `products` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `category_id` bigint(20) UNSIGNED DEFAULT NULL,
  `name` varchar(255) NOT NULL,
  `slug` varchar(255) NOT NULL,
  `description` text DEFAULT NULL,
  `content` longtext DEFAULT NULL,
  `version` varchar(255) DEFAULT NULL,
  `format` varchar(255) DEFAULT NULL,
  `framework` varchar(255) DEFAULT NULL,
  `warranty_info` text DEFAULT NULL,
  `price` decimal(12,2) NOT NULL DEFAULT 0.00,
  `thumbnail` varchar(255) DEFAULT NULL,
  `drive_link` varchar(255) DEFAULT NULL,
  `is_active` tinyint(1) NOT NULL DEFAULT 1,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `products`
--

INSERT INTO `products` (`id`, `category_id`, `name`, `slug`, `description`, `content`, `version`, `format`, `framework`, `warranty_info`, `price`, `thumbnail`, `drive_link`, `is_active`, `created_at`, `updated_at`) VALUES
(1, 2, 'DIGISHOP Market Place', 'digishop-market-place', 'Source code untuk jualan produk digital simpel dan keren.', '<h2 class=\"text-2xl font-bold text-gray-900 mb-6\">🚀 Bangun Marketplace Produk Digital Anda Senidiri dalam Semalam!</h2>\r\n\r\n<p class=\"mb-4\">Ingin punya website seperti Envato, Creative Market, atau Gumroad milik Anda sendiri? <strong>DIGI SHOP</strong> adalah solusi <em>all-in-one</em> Source Code Laravel untuk membangun platform penjualan produk digital yang modern, cepat, dan profesional.</p>\r\n\r\n<p class=\"mb-8\">Source code ini dirancang khusus untuk Anda yang ingin fokus berjualan—biarkan sistem kami yang mengurus teknisnya secara otomatis!</p>\r\n\r\n<hr class=\"my-10 border-gray-100\">\r\n\r\n<h3 class=\"text-xl font-bold text-gray-900 mb-6 font-primary\">🛠️ Modern Tech Stack (Engine Masa Depan)</h3>\r\n<p class=\"mb-4 text-gray-600\">Dibuat dengan teknologi terbaru yang memastikan aplikasi Anda aman, ringan, dan mudah dikembangkan oleh developer mana pun.</p>\r\n\r\n<ul class=\"space-y-3 mb-8\">\r\n    <li class=\"flex items-start\">\r\n        <span class=\"mr-2\">✅</span>\r\n        <span><strong>Backend: Laravel 12 (Stable)</strong> – Framework PHP terbaik di dunia untuk keamanan dan performa maksimal.</span>\r\n    </li>\r\n    <li class=\"flex items-start\">\r\n        <span class=\"mr-2\">✅</span>\r\n        <span><strong>Frontend: Tailwind CSS</strong> – Desain premium yang super bersih, ringan, dan 100% responsif di semua perangkat.</span>\r\n    </li>\r\n    <li class=\"flex items-start\">\r\n        <span class=\"mr-2\">✅</span>\r\n        <span><strong>Interactivity: Alpine.js</strong> – Memastikan interaksi user (seperti chat & popup) berjalan sangat mulus tanpa beban berat.</span>\r\n    </li>\r\n    <li class=\"flex items-start\">\r\n        <span class=\"mr-2\">✅</span>\r\n        <span><strong>SEO Ready</strong> – Dilengkapi standar JSON-LD Structured Data agar produk Anda langsung muncul cantik di Google.</span>\r\n    </li>\r\n</ul>\r\n\r\n<hr class=\"my-10 border-gray-100\">\r\n\r\n<h3 class=\"text-xl font-bold text-gray-900 mb-6\">💎 Fitur Unggulan Siap Pakai</h3>\r\n<p class=\"mb-4 text-gray-600\">DIGI SHOP tidak hanya sekadar script, ini adalah ekosistem bisnis digital lengkap:</p>\r\n\r\n<div class=\"grid grid-cols-1 md:grid-cols-2 gap-4 mb-8\">\r\n    <div class=\"bg-gray-50 p-5 rounded-2xl border border-gray-100\">\r\n        <p class=\"font-bold text-indigo-600 mb-2\">🎨 Multi-Theme System</p>\r\n        <p class=\"text-sm text-gray-500\">Ubah tampilan website secara instan! Tersedia pilihan tema warna (Emerald, Violet, Red, Orange) hanya dengan sekali klik di admin panel.</p>\r\n    </div>\r\n    <div class=\"bg-gray-50 p-5 rounded-2xl border border-gray-100\">\r\n        <p class=\"font-bold text-indigo-600 mb-2\">💳 Manajemen Bank & Pembayaran</p>\r\n        <p class=\"text-sm text-gray-500\">Kelola banyak rekening bank sekaligus. Dilengkapi sistem upload bukti transfer untuk proses verifikasi manual yang terstruktur.</p>\r\n    </div>\r\n    <div class=\"bg-gray-50 p-5 rounded-2xl border border-gray-100\">\r\n        <p class=\"font-bold text-indigo-600 mb-2\">🔐 Secure Digital Download</p>\r\n        <p class=\"text-sm text-gray-500\">File produk aman! Hanya pembeli yang sudah dikonfirmasi pembayarannya yang bisa mendownload file asli dengan log aktivitas lengkap.</p>\r\n    </div>\r\n    <div class=\"bg-gray-50 p-5 rounded-2xl border border-gray-100\">\r\n        <p class=\"font-bold text-indigo-600 mb-2\">📊 Dashboard Admin Powerfull</p>\r\n        <p class=\"text-sm text-gray-500\">Kelola kategori, testimonial, video showcase, hingga optimasi database (Clear Cache & Backup) langsung dari satu tempat.</p>\r\n    </div>\r\n</div>\r\n\r\n<ul class=\"space-y-3 mb-10\">\r\n    <li class=\"flex items-start\">\r\n        <span class=\"mr-2\">📌</span>\r\n        <span><strong>WhatsApp Floating Support</strong> – Memudahkan calon pembeli bertanya langsung ke Anda lewat chat widget yang estetik.</span>\r\n    </li>\r\n    <li class=\"flex items-start\">\r\n        <span class=\"mr-2\">📌</span>\r\n        <span><strong>Manajemen Video Showcase</strong> – Tampilkan demo video produk Anda di homepage untuk meningkatkan kepercayaan pembeli.</span>\r\n    </li>\r\n    <li class=\"flex items-start\">\r\n        <span class=\"mr-2\">📌</span>\r\n        <span><strong>Maintenance Mode</strong> – Matikan website sementara saat update dengan satu tombol di admin.</span>\r\n    </li>\r\n</ul>\r\n\r\n<div class=\"bg-indigo-600 p-8 rounded-3xl text-center text-white shadow-xl\">\r\n    <p class=\"text-lg font-bold mb-2\">Dapatkan Akses Penuh Sekarang!</p>\r\n    <p class=\"text-sm opacity-90 mb-6\">Lupakan pembuatan dari awal. Hemat ribuan jam pengerjaan dan ratusan juta biaya development dengan source code ini.</p>\r\n    <p class=\"text-3xl font-extrabold mb-0 underline decoration-yellow-400 decoration-4 underline-offset-8\">Milikilah DIGI SHOP Hari Ini juga!</p>\r\n</div>', 'v.1.0', 'Zip', 'Laravel 12', NULL, 200000.00, 'products/PtJNRzlgnrsgn83Fql1FOOOjClsNuYn95FpnzXfa.png', 'https://drive.google.com/file/d/123456789/view', 1, '2026-03-31 03:33:09', '2026-04-11 19:31:08'),
(2, 2, 'Premium Landing Page Template', 'premium-landing-page-template', 'A clean premium tailwind landing page.', NULL, NULL, NULL, NULL, NULL, 150000.00, 'products/arn03EnakJ5uslwJe04PU67ZvDpxUGt9jtQw0Wua.png', 'https://drive.google.com/file/d/987654321/view', 1, '2026-03-31 03:33:09', '2026-03-31 19:42:22'),
(3, 2, 'CMSNusantara', 'cmsnusantara', 'CMS Website sekolah berbasis php nattive', '<section style=\"font-family: Arial, sans-serif; line-height:1.6; color:#333; max-width:900px; margin:auto;\">\r\n\r\n  <h1 style=\"font-size:32px; color:#0b5ed7;\">CMS Website Sekolah SMA + PPDB Online</h1>\r\n  <p style=\"font-size:18px;\">\r\n    Solusi lengkap untuk sekolah yang ingin tampil profesional di era digital. \r\n    Dilengkapi sistem <strong>PPDB Online</strong>, ringan, cepat, dan siap digunakan bahkan di shared hosting sekalipun.\r\n  </p>\r\n\r\n  <hr>\r\n\r\n  <h2>🚀 Kenapa CMS Ini Layak Anda Gunakan?</h2>\r\n  <ul>\r\n    <li>✅ Dibangun dengan <strong>Native PHP (Framework Custom)</strong> – cepat & fleksibel</li>\r\n    <li>✅ Struktur mirip Laravel – mudah dikembangkan developer</li>\r\n    <li>✅ Super ringan & optimal untuk shared hosting</li>\r\n    <li>✅ SEO Friendly – mudah muncul di Google</li>\r\n    <li>✅ Clean Code & mudah maintenance</li>\r\n  </ul>\r\n\r\n  <hr>\r\n\r\n  <h2>🎯 Fitur Utama</h2>\r\n  <ul>\r\n    <li>📌 Website profil sekolah lengkap</li>\r\n    <li>📌 Sistem PPDB Online (pendaftaran siswa baru)</li>\r\n    <li>📌 Manajemen berita & pengumuman</li>\r\n    <li>📌 Galeri foto & kegiatan sekolah</li>\r\n    <li>📌 Manajemen data guru & siswa</li>\r\n    <li>📌 Dashboard admin modern & mudah digunakan</li>\r\n  </ul>\r\n\r\n  <hr>\r\n\r\n  <h2>⚙️ Mudah Install & Siap Pakai</h2>\r\n  <p>\r\n    Tidak perlu server mahal atau setup rumit. CMS ini dirancang agar:\r\n  </p>\r\n  <ul>\r\n    <li>✔ Bisa diinstall di <strong>shared hosting</strong></li>\r\n    <li>✔ Panduan instalasi lengkap step-by-step</li>\r\n    <li>✔ Disediakan solusi untuk error umum saat instalasi</li>\r\n    <li>✔ Cocok untuk pemula maupun developer</li>\r\n  </ul>\r\n\r\n  <hr>\r\n\r\n  <h2>📦 Sistem Delivery Otomatis</h2>\r\n  <p>\r\n    Setelah pembelian berhasil, Anda langsung mendapatkan akses ke produk melalui:\r\n  </p>\r\n  <ul>\r\n    <li>🔐 Dashboard user di website penjualan</li>\r\n    <li>📥 Download file CMS secara instan</li>\r\n    <li>📘 Akses panduan instalasi & dokumentasi</li>\r\n  </ul>\r\n\r\n  <hr>\r\n\r\n  <h2>💡 Kenapa Ini Berbeda?</h2>\r\n  <p>\r\n    CMS ini bukan sekadar script biasa. Ini adalah produk yang dirancang untuk:\r\n  </p>\r\n  <ul>\r\n    <li>🔥 Digunakan secara komersial</li>\r\n    <li>🔥 Stabil untuk jangka panjang</li>\r\n    <li>🔥 Fleksibel dikembangkan sesuai kebutuhan sekolah</li>\r\n  </ul>\r\n\r\n  <hr>\r\n\r\n  <h2 style=\"color:#198754;\">🎁 Bonus</h2>\r\n  <ul>\r\n    <li>✔ Dokumentasi lengkap</li>\r\n    <li>✔ Panduan troubleshooting</li>\r\n    <li>✔ Struktur kode siap dikembangkan</li>\r\n  </ul>\r\n\r\n  <hr>\r\n\r\n  <h2 style=\"color:#dc3545;\">⚡ Siap Go Digital Sekarang?</h2>\r\n  <p style=\"font-size:18px;\">\r\n    Tingkatkan citra sekolah Anda dengan website profesional + sistem PPDB online yang modern.\r\n  </p>\r\n</section>', 'v.5.0', 'Zip', 'Native Php', NULL, 150000.00, 'products/0nli4DSnOfkV2Nq0YKkctgbqqOWrSZVWNTaPqmCh.png', 'https://drive.google.com/file/d/987654321/view', 1, '2026-03-31 20:11:05', '2026-04-11 19:14:09');

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

--
-- Struktur dari tabel `roles`
--

CREATE TABLE `roles` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `name` varchar(255) NOT NULL,
  `guard_name` varchar(255) NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `roles`
--

INSERT INTO `roles` (`id`, `name`, `guard_name`, `created_at`, `updated_at`) VALUES
(1, 'admin', 'web', '2026-03-31 03:33:07', '2026-03-31 03:33:07'),
(2, 'user', 'web', '2026-03-31 03:33:07', '2026-03-31 03:33:07');

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

--
-- Struktur dari tabel `role_has_permissions`
--

CREATE TABLE `role_has_permissions` (
  `permission_id` bigint(20) UNSIGNED NOT NULL,
  `role_id` bigint(20) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `role_has_permissions`
--

INSERT INTO `role_has_permissions` (`permission_id`, `role_id`) VALUES
(1, 1),
(1, 2),
(2, 1),
(3, 1),
(4, 1),
(5, 1),
(6, 1),
(6, 2);

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

--
-- Struktur dari tabel `sessions`
--

CREATE TABLE `sessions` (
  `id` varchar(255) NOT NULL,
  `user_id` bigint(20) UNSIGNED DEFAULT NULL,
  `ip_address` varchar(45) DEFAULT NULL,
  `user_agent` text DEFAULT NULL,
  `payload` longtext NOT NULL,
  `last_activity` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `sessions`
--

INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES
('NBN1wTM9e1LQkkMjh3NXQBpXvbAe5xMo0qNlkUpI', 1, '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36', 'YTo0OntzOjY6Il90b2tlbiI7czo0MDoiUms3MTBRWHJhNWpPNDV5aVBDUDk0T2xHZzVia3oyYWR6SDlWeUx1RiI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6NDI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9hZG1pbi9zZXR0aW5ncy92aWRlbyI7czo1OiJyb3V0ZSI7czoyMDoiYWRtaW4uc2V0dGluZ3MudmlkZW8iO31zOjY6Il9mbGFzaCI7YToyOntzOjM6Im9sZCI7YTowOnt9czozOiJuZXciO2E6MDp7fX1zOjUwOiJsb2dpbl93ZWJfNTliYTM2YWRkYzJiMmY5NDAxNTgwZjAxNGM3ZjU4ZWE0ZTMwOTg5ZCI7aToxO30=', 1775920669),
('YgnK18XWTZJhz7NThpQLDoyAgMVy3gJXKeIorND9', 1, '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36', 'YTo0OntzOjY6Il90b2tlbiI7czo0MDoiYWZvRTdXa0N1NVFVSTlzV1AxRjRiMGd3SVY1UjNGdHJrMGF4RG5JeSI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6Mjc6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9hZG1pbiI7czo1OiJyb3V0ZSI7czoxNToiYWRtaW4uZGFzaGJvYXJkIjt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319czo1MDoibG9naW5fd2ViXzU5YmEzNmFkZGMyYjJmOTQwMTU4MGYwMTRjN2Y1OGVhNGUzMDk4OWQiO2k6MTt9', 1775965532);

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

--
-- Struktur dari tabel `testimonials`
--

CREATE TABLE `testimonials` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `product_id` bigint(20) UNSIGNED NOT NULL,
  `name` varchar(255) NOT NULL,
  `avatar` varchar(255) DEFAULT NULL,
  `rating` tinyint(4) NOT NULL DEFAULT 5,
  `content` text NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Dumping data untuk tabel `testimonials`
--

INSERT INTO `testimonials` (`id`, `product_id`, `name`, `avatar`, `rating`, `content`, `created_at`, `updated_at`) VALUES
(1, 3, 'Tacademy', 'avatars/F2HIxjkM5YsH3NuqUTdtFmh29guDDSg6HlLTPVQl.png', 5, '\"E-book ini daging banget! Isinya praktis, to the point, dan langsung bisa saya terapkan buat nambah follower dalam 3 hari. Worth it banget!\"', '2026-04-11 05:18:38', '2026-04-11 05:18:38'),
(2, 3, 'Tacademy', 'avatars/3kGT7A5kIvIA1AOuMSqXEvKtO9RPXIi3Do3FJRoK.png', 5, '\"E-book ini daging banget! Isinya praktis, to the point, dan langsung bisa saya terapkan buat nambah follower dalam 3 hari. Worth it banget!\"', '2026-04-11 05:19:08', '2026-04-11 05:19:08');

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

--
-- Struktur dari tabel `videos`
--

CREATE TABLE `videos` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `title` varchar(255) NOT NULL,
  `description` varchar(255) DEFAULT NULL,
  `source_type` enum('youtube','upload') NOT NULL DEFAULT 'youtube',
  `youtube_id` varchar(255) DEFAULT NULL,
  `file_path` varchar(255) DEFAULT NULL,
  `sort_order` smallint(5) UNSIGNED NOT NULL DEFAULT 0,
  `is_active` tinyint(1) NOT NULL DEFAULT 1,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Indexes for dumped tables
--

--
-- Indeks untuk tabel `bank_accounts`
--
ALTER TABLE `bank_accounts`
  ADD PRIMARY KEY (`id`);

--
-- Indeks untuk tabel `categories`
--
ALTER TABLE `categories`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `categories_slug_unique` (`slug`);

--
-- Indeks untuk tabel `download_logs`
--
ALTER TABLE `download_logs`
  ADD PRIMARY KEY (`id`),
  ADD KEY `download_logs_user_id_foreign` (`user_id`),
  ADD KEY `download_logs_order_id_foreign` (`order_id`),
  ADD KEY `download_logs_product_id_foreign` (`product_id`);

--
-- Indeks untuk tabel `failed_jobs`
--
ALTER TABLE `failed_jobs`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `failed_jobs_uuid_unique` (`uuid`);

--
-- Indeks untuk tabel `jobs`
--
ALTER TABLE `jobs`
  ADD PRIMARY KEY (`id`),
  ADD KEY `jobs_queue_index` (`queue`);

--
-- Indeks untuk tabel `job_batches`
--
ALTER TABLE `job_batches`
  ADD PRIMARY KEY (`id`);

--
-- Indeks untuk tabel `migrations`
--
ALTER TABLE `migrations`
  ADD PRIMARY KEY (`id`);

--
-- Indeks untuk tabel `model_has_permissions`
--
ALTER TABLE `model_has_permissions`
  ADD PRIMARY KEY (`permission_id`,`model_id`,`model_type`),
  ADD KEY `model_has_permissions_model_id_model_type_index` (`model_id`,`model_type`);

--
-- Indeks untuk tabel `model_has_roles`
--
ALTER TABLE `model_has_roles`
  ADD PRIMARY KEY (`role_id`,`model_id`,`model_type`),
  ADD KEY `model_has_roles_model_id_model_type_index` (`model_id`,`model_type`);

--
-- Indeks untuk tabel `orders`
--
ALTER TABLE `orders`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `orders_order_code_unique` (`order_code`),
  ADD KEY `orders_user_id_foreign` (`user_id`),
  ADD KEY `orders_product_id_foreign` (`product_id`);

--
-- Indeks untuk tabel `pages`
--
ALTER TABLE `pages`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `pages_slug_unique` (`slug`);

--
-- Indeks untuk tabel `payment_proofs`
--
ALTER TABLE `payment_proofs`
  ADD PRIMARY KEY (`id`),
  ADD KEY `payment_proofs_order_id_foreign` (`order_id`);

--
-- Indeks untuk tabel `permissions`
--
ALTER TABLE `permissions`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `permissions_name_guard_name_unique` (`name`,`guard_name`);

--
-- Indeks untuk tabel `products`
--
ALTER TABLE `products`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `products_slug_unique` (`slug`),
  ADD KEY `products_category_id_foreign` (`category_id`);

--
-- Indeks untuk tabel `roles`
--
ALTER TABLE `roles`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `roles_name_guard_name_unique` (`name`,`guard_name`);

--
-- Indeks untuk tabel `role_has_permissions`
--
ALTER TABLE `role_has_permissions`
  ADD PRIMARY KEY (`permission_id`,`role_id`),
  ADD KEY `role_has_permissions_role_id_foreign` (`role_id`);

--
-- Indeks untuk tabel `sessions`
--
ALTER TABLE `sessions`
  ADD PRIMARY KEY (`id`),
  ADD KEY `sessions_user_id_index` (`user_id`),
  ADD KEY `sessions_last_activity_index` (`last_activity`);

--
-- Indeks untuk tabel `testimonials`
--
ALTER TABLE `testimonials`
  ADD PRIMARY KEY (`id`),
  ADD KEY `testimonials_product_id_foreign` (`product_id`);

--
-- Indeks untuk tabel `videos`
--
ALTER TABLE `videos`
  ADD PRIMARY KEY (`id`);

--
-- AUTO_INCREMENT untuk tabel yang dibuang
--

--
-- AUTO_INCREMENT untuk tabel `bank_accounts`
--
ALTER TABLE `bank_accounts`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT untuk tabel `categories`
--
ALTER TABLE `categories`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;

--
-- AUTO_INCREMENT untuk tabel `download_logs`
--
ALTER TABLE `download_logs`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT untuk tabel `failed_jobs`
--
ALTER TABLE `failed_jobs`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT untuk tabel `jobs`
--
ALTER TABLE `jobs`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT untuk tabel `migrations`
--
ALTER TABLE `migrations`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=18;

--
-- AUTO_INCREMENT untuk tabel `orders`
--
ALTER TABLE `orders`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

--
-- AUTO_INCREMENT untuk tabel `pages`
--
ALTER TABLE `pages`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;

--
-- AUTO_INCREMENT untuk tabel `payment_proofs`
--
ALTER TABLE `payment_proofs`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

--
-- AUTO_INCREMENT untuk tabel `permissions`
--
ALTER TABLE `permissions`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;

--
-- AUTO_INCREMENT untuk tabel `products`
--
ALTER TABLE `products`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;

--
-- AUTO_INCREMENT untuk tabel `roles`
--
ALTER TABLE `roles`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

--
-- AUTO_INCREMENT untuk tabel `testimonials`
--
ALTER TABLE `testimonials`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

--
-- AUTO_INCREMENT untuk tabel `videos`
--
ALTER TABLE `videos`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- Ketidakleluasaan untuk tabel pelimpahan (Dumped Tables)
--

--
-- Ketidakleluasaan untuk tabel `download_logs`
--
ALTER TABLE `download_logs`
  ADD CONSTRAINT `download_logs_order_id_foreign` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `download_logs_product_id_foreign` FOREIGN KEY (`product_id`) REFERENCES `products` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `download_logs_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `model_has_permissions`
--
ALTER TABLE `model_has_permissions`
  ADD CONSTRAINT `model_has_permissions_permission_id_foreign` FOREIGN KEY (`permission_id`) REFERENCES `permissions` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `model_has_roles`
--
ALTER TABLE `model_has_roles`
  ADD CONSTRAINT `model_has_roles_role_id_foreign` FOREIGN KEY (`role_id`) REFERENCES `roles` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `orders`
--
ALTER TABLE `orders`
  ADD CONSTRAINT `orders_product_id_foreign` FOREIGN KEY (`product_id`) REFERENCES `products` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `orders_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `payment_proofs`
--
ALTER TABLE `payment_proofs`
  ADD CONSTRAINT `payment_proofs_order_id_foreign` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `products`
--
ALTER TABLE `products`
  ADD CONSTRAINT `products_category_id_foreign` FOREIGN KEY (`category_id`) REFERENCES `categories` (`id`) ON DELETE SET NULL;

--
-- Ketidakleluasaan untuk tabel `role_has_permissions`
--
ALTER TABLE `role_has_permissions`
  ADD CONSTRAINT `role_has_permissions_permission_id_foreign` FOREIGN KEY (`permission_id`) REFERENCES `permissions` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `role_has_permissions_role_id_foreign` FOREIGN KEY (`role_id`) REFERENCES `roles` (`id`) ON DELETE CASCADE;

--
-- Ketidakleluasaan untuk tabel `testimonials`
--
ALTER TABLE `testimonials`
  ADD CONSTRAINT `testimonials_product_id_foreign` FOREIGN KEY (`product_id`) REFERENCES `products` (`id`) ON DELETE CASCADE;
COMMIT;

