-- Spec section 5: module x action permission matrix.
-- Modules: dashboard, customers, users, packages, billing, payment, network,
--          mikrotik, radius, olt, whatsapp, tickets, community, tutorials,
--          seo, settings, theme, reports, logs, backup
-- Actions: view, add, edit, delete, export, import, approve, execute, configure

INSERT INTO permissions (module, action, slug, description) VALUES
('dashboard','view','dashboard.view','Melihat dashboard'),

('customers','view','customer.view','Melihat data pelanggan'),
('customers','add','customer.add','Menambah pelanggan'),
('customers','edit','customer.edit','Mengubah data pelanggan'),
('customers','delete','customer.delete','Menghapus pelanggan'),
('customers','export','customer.export','Ekspor data pelanggan'),

('users','view','users.view','Melihat user sistem'),
('users','add','users.add','Menambah user'),
('users','edit','users.edit','Mengubah user'),
('users','delete','users.delete','Menghapus user'),

('packages','view','packages.view','Melihat paket internet'),
('packages','add','packages.add','Menambah paket'),
('packages','edit','packages.edit','Mengubah paket'),
('packages','delete','packages.delete','Menghapus paket'),

('billing','view','billing.view','Melihat tagihan'),
('billing','add','billing.create','Membuat invoice'),
('billing','edit','billing.edit','Mengubah invoice'),
('billing','delete','billing.delete','Menghapus invoice'),
('billing','execute','billing.isolate','Mengisolir pelanggan'),
('billing','execute','billing.restore','Memulihkan layanan pelanggan'),

('payment','view','payment.view','Melihat pembayaran'),
('payment','approve','payment.verify','Verifikasi pembayaran manual'),

('network','view','network.view','Melihat status jaringan'),

('mikrotik','view','mikrotik.view','Melihat perangkat MikroTik'),
('mikrotik','execute','mikrotik.execute','Menjalankan perintah MikroTik'),
('mikrotik','configure','mikrotik.configure','Mengatur konfigurasi MikroTik'),

('radius','view','radius.view','Melihat RADIUS'),
('radius','configure','radius.configure','Mengatur RADIUS'),

('olt','view','olt.view','Melihat OLT'),
('olt','configure','olt.configure','Mengatur konfigurasi OLT'),

('whatsapp','view','whatsapp.view','Melihat log WhatsApp'),
('whatsapp','configure','whatsapp.configure','Mengatur WhatsApp Fonnte'),

('tickets','view','tickets.view','Melihat tiket support'),
('tickets','edit','tickets.edit','Membalas/mengubah tiket'),
('tickets','delete','tickets.delete','Menghapus tiket'),

('community','view','community.view','Melihat community chat'),
('community','execute','community.moderate','Moderasi community chat'),

('tutorials','view','tutorials.view','Melihat tutorial'),
('tutorials','add','tutorials.add','Menambah tutorial'),
('tutorials','edit','tutorials.edit','Mengubah tutorial'),
('tutorials','delete','tutorials.delete','Menghapus tutorial'),

('seo','view','seo.view','Melihat pengaturan SEO'),
('seo','edit','seo.edit','Mengubah pengaturan SEO'),

('settings','view','settings.view','Melihat pengaturan umum'),
('settings','edit','settings.edit','Mengubah pengaturan umum'),

('theme','view','theme.view','Melihat pengaturan tema'),
('theme','edit','theme.edit','Mengubah tema'),

('reports','view','reports.view','Melihat laporan'),
('reports','export','reports.export','Ekspor laporan'),

('logs','view','logs.view','Melihat audit log'),

('backup','view','backup.view','Melihat backup'),
('backup','execute','backup.execute','Membuat/restore backup')

ON DUPLICATE KEY UPDATE description = VALUES(description);
