71 lines
4.8 KiB
SQL
71 lines
4.8 KiB
SQL
-- seed2.sql
|
|
-- 1. ROLES & CATEGORIES
|
|
INSERT INTO roles (id, name, description) VALUES
|
|
(1, 'admin', 'Administrator with full access'),
|
|
(2, 'manager', 'Manager for verification and approval'),
|
|
(3, 'user', 'Regular user (student)');
|
|
INSERT INTO categories (id, name, slug, description) VALUES
|
|
(1, 'Pakaian', 'pakaian', 'Baju, celana, jaket, dll'),
|
|
(2, 'Alat Makan', 'alat-makan', 'Botol, tupperware, dll'),
|
|
(3, 'Aksesoris', 'aksesoris', 'Jam tangan, kacamata, perhiasan'),
|
|
(4, 'Elektronik', 'elektronik', 'HP, laptop, charger, dll'),
|
|
(5, 'Alat Tulis', 'alat-tulis', 'Pulpen, buku, pensil, dll'),
|
|
(6, 'Lainnya', 'lainnya', 'Barang lain yang tidak masuk kategori');
|
|
-- 2. USERS (Explicit IDs 1-10)
|
|
INSERT INTO users (id, name, email, password, nrp, phone, role_id, status, last_login) VALUES
|
|
(1, 'Admin', 'admin@lostandfound.com', '$2a$10$zhRlU9e1v6T2x4/bPwOZNOAqSktHjj6QFgXV3i2/0pITlKasUpv4G', '0001', '081234567890', 1, 'active', NULL),
|
|
(2, 'Pak Budi', 'manager1@lostandfound.com', '$2a$10$zhRlU9e1v6T2x4/bPwOZNOAqSktHjj6QFgXV3i2/0pITlKasUpv4G', '2234567890', '081234567891', 2, 'active', NULL),
|
|
(3, 'Bu Siti', 'manager2@lostandfound.com', '$2a$10$zhRlU9e1v6T2x4/bPwOZNOAqSktHjj6QFgXV3i2/0pITlKasUpv4G', '2234567891', '081234567892', 2, 'active', NULL),
|
|
(4, 'Ahmad Rizki', 'ahmad@student.com', '$2a$10$zhRlU9e1v6T2x4/bPwOZNOAqSktHjj6QFgXV3i2/0pITlKasUpv4G', '5025211004', '081234567893', 3, 'active', '2024-02-12 09:15:00'),
|
|
(5, 'Siti Nurhaliza', 'siti@student.com', '$2a$10$zhRlU9e1v6T2x4/bPwOZNOAqSktHjj6QFgXV3i2/0pITlKasUpv4G', '5025211005', '081234567894', 3, 'active', '2024-02-11 14:20:00'),
|
|
(6, 'Budi Santoso', 'budi@student.com', '$2a$10$zhRlU9e1v6T2x4/bPwOZNOAqSktHjj6QFgXV3i2/0pITlKasUpv4G', '5025211008', '081234567895', 3, 'active', '2024-02-08 16:30:00'),
|
|
(7, 'Dewi Lestari', 'dewi@student.com', '$2a$10$zhRlU9e1v6T2x4/bPwOZNOAqSktHjj6QFgXV3i2/0pITlKasUpv4G', '5025211009', '081234567896', 3, 'active', '2024-01-15 11:00:00'),
|
|
(8, 'Pak Joko', 'manager3@lostandfound.com', '$2a$10$zhRlU9e1v6T2x4/bPwOZNOAqSktHjj6QFgXV3i2/0pITlKasUpv4G', '2234567892', '081234567898', 2, 'active', '2024-02-11 08:30:00'),
|
|
(9, 'Rina Melati', 'rina@student.com', '$2a$10$zhRlU9e1v6T2x4/bPwOZNOAqSktHjj6QFgXV3i2/0pITlKasUpv4G', '5025211006', '081234567899', 3, 'active', '2024-02-10 13:20:00'),
|
|
(10, 'Fajar Ramadhan', 'fajar@student.com', '$2a$10$zhRlU9e1v6T2x4/bPwOZNOAqSktHjj6QFgXV3i2/0pITlKasUpv4G', '5025211007', '081234567800', 3, 'active', '2024-02-09 10:45:00');
|
|
-- 1. Insert Permissions
|
|
INSERT INTO permissions (id, slug, name, description) VALUES
|
|
(1, 'item:read', 'View Items', 'Melihat daftar barang (public/dashboard)'),
|
|
(2, 'item:create', 'Create Item', 'Melaporkan barang temuan/hilang'),
|
|
(3, 'item:update', 'Update Item', 'Mengedit data barang'),
|
|
(4, 'item:delete', 'Delete Item', 'Menghapus data barang'),
|
|
(5, 'item:verify', 'Verify Item', 'Verifikasi detail barang (lihat detail rahasia)'),
|
|
(6, 'claim:read', 'View Claims', 'Melihat daftar klaim'),
|
|
(7, 'claim:create', 'Create Claim', 'Mengajukan klaim barang'),
|
|
(8, 'claim:approve', 'Approve Claim', 'Menyetujui klaim (verifikasi fisik)'),
|
|
(9, 'claim:reject', 'Reject Claim', 'Menolak klaim'),
|
|
(10, 'user:read', 'View Users', 'Melihat daftar pengguna'),
|
|
(11, 'user:update', 'Update User Role', 'Mengubah role pengguna'),
|
|
(12, 'user:block', 'Block/Unblock User', 'Memblokir atau membuka blokir user'),
|
|
(13, 'report:export', 'Export Report', 'Export laporan ke PDF/Excel'),
|
|
(14, 'audit:read', 'View Audit Log', 'Melihat log aktivitas sistem'),
|
|
(15, 'category:manage', 'Manage Categories', 'Membuat, edit, hapus kategori');
|
|
-- 2. Assign Permissions to Roles
|
|
-- Role ID 1: Admin (All Permissions)
|
|
-- A. ADMIN (Role ID: 1) - Punya SEMUA (1-15)
|
|
INSERT INTO role_permissions (role_id, permission_id)
|
|
SELECT 1, id FROM permissions;
|
|
-- B. MANAGER (Role ID: 2) - Operasional
|
|
INSERT INTO role_permissions (role_id, permission_id) VALUES
|
|
(2, 1), (2, 3), (2, 5), (2, 6), (2, 8), (2, 9), (2, 10), (2, 13);
|
|
-- C. USER (Role ID: 3) - Dasar
|
|
INSERT INTO role_permissions (role_id, permission_id) VALUES
|
|
(3, 1), (3, 2), (3, 6), (3, 7);
|
|
|
|
-- 1. Tambahkan permission baru khusus untuk Laporan Kehilangan (Lost Item)
|
|
-- Melanjutkan ID terakhir dari seed2.sql (ID 15)
|
|
INSERT INTO permissions (id, slug, name, description) VALUES
|
|
(16, 'lost_item:update', 'Update Lost Item', 'Mengedit laporan kehilangan (Admin/Manager)'),
|
|
(17, 'lost_item:delete', 'Delete Lost Item', 'Menghapus laporan kehilangan (Admin/Manager)');
|
|
|
|
-- 2. Berikan akses ke ADMIN (Role ID: 1)
|
|
-- Admin harus punya semua akses
|
|
INSERT INTO role_permissions (role_id, permission_id) VALUES
|
|
(1, 16),
|
|
(1, 17);
|
|
|
|
-- 3. Berikan akses ke MANAGER (Role ID: 2)
|
|
-- Sesuai permintaan: akses edit dan hapus laporan barang hilang
|
|
INSERT INTO role_permissions (role_id, permission_id) VALUES
|
|
(2, 16), -- Akses Edit Lost Item
|
|
(2, 17); -- Akses Hapus Lost Item |