Setup Database

Jalankan SQL berikut di SQL Editor Supabase.

1. Setup Awal
-- Buat tabel users CREATE TABLE IF NOT EXISTS users ( username TEXT PRIMARY KEY, password TEXT NOT NULL, name TEXT NOT NULL, role TEXT NOT NULL DEFAULT 'staff', created_at TIMESTAMPTZ DEFAULT NOW() ); INSERT INTO users (username, password, name, role) VALUES ('ADMIN','admin123','Administrator','admin'), ('FAZA','faza123','FAZA','staff'),('ZEFA','zefa123','ZEFA','staff'), ('AMIN','amin123','AMIN','staff'),('ERWIN','erwin123','ERWIN','staff'), ('PEBI','pebi123','PEBI','staff') ON CONFLICT (username) DO NOTHING; -- Buat tabel tickets (Tanpa kolom closed_at) CREATE TABLE IF NOT EXISTS tickets ( id TEXT PRIMARY KEY, connote TEXT NOT NULL, pic TEXT, complaint TEXT, reason TEXT, coding_destination TEXT, status TEXT DEFAULT 'open', remark TEXT, bukti_foto TEXT, created_by TEXT, updated_by TEXT, reopen_count INTEGER DEFAULT 0, reopen_date TIMESTAMPTZ, date_in_progress TIMESTAMPTZ, date_on_confirm TIMESTAMPTZ, date_resolved TIMESTAMPTZ, created_at TIMESTAMPTZ DEFAULT NOW(), updated_at TIMESTAMPTZ DEFAULT NOW() );
2. Migrasi & Pembersihan Kolom
-- Tambah kolom yang belum ada ALTER TABLE tickets ADD COLUMN IF NOT EXISTS date_in_progress TIMESTAMPTZ; ALTER TABLE tickets ADD COLUMN IF NOT EXISTS date_on_confirm TIMESTAMPTZ; ALTER TABLE tickets ADD COLUMN IF NOT EXISTS date_resolved TIMESTAMPTZ; ALTER TABLE tickets ADD COLUMN IF NOT EXISTS reopen_date TIMESTAMPTZ; ALTER TABLE tickets ADD COLUMN IF NOT EXISTS reopen_count INTEGER DEFAULT 0; ALTER TABLE tickets ADD COLUMN IF NOT EXISTS remark TEXT; ALTER TABLE tickets ADD COLUMN IF NOT EXISTS bukti_foto TEXT; ALTER TABLE tickets ADD COLUMN IF NOT EXISTS created_by TEXT; ALTER TABLE tickets ADD COLUMN IF NOT EXISTS updated_by TEXT; -- Salin data dari resolved_at ke date_resolved (jika kolom masih ada) UPDATE tickets SET date_resolved = COALESCE(date_resolved, resolved_at, updated_at) WHERE status='resolved' AND date_resolved IS NULL; -- Isi tanggal berdasarkan status lama yang kosong UPDATE tickets SET date_in_progress = updated_at WHERE status IN ('in_progress','on_confirm','resolved') AND date_in_progress IS NULL; UPDATE tickets SET date_on_confirm = updated_at WHERE status IN ('on_confirm','resolved') AND date_on_confirm IS NULL; UPDATE tickets SET date_resolved = updated_at WHERE status='resolved' AND date_resolved IS NULL; UPDATE tickets SET reopen_count = 0 WHERE reopen_count IS NULL; UPDATE tickets SET created_by = pic WHERE created_by IS NULL; -- Ubah semua status closed menjadi resolved (Karena status closed sudah dihapus dari sistem) UPDATE tickets SET status = 'resolved', date_resolved = COALESCE(date_resolved, closed_at, updated_at) WHERE status = 'closed'; -- HAPUS kolom yang tidak terpakai ALTER TABLE tickets DROP COLUMN IF EXISTS resolved_at; ALTER TABLE tickets DROP COLUMN IF EXISTS date_reopened; ALTER TABLE tickets DROP COLUMN IF EXISTS closed_at;
3. RLS
GRANT SELECT,INSERT,UPDATE,DELETE ON TABLE public.users TO anon; GRANT SELECT,INSERT,UPDATE,DELETE ON TABLE public.tickets TO anon; ALTER TABLE public.users ENABLE ROW LEVEL SECURITY; ALTER TABLE public.tickets ENABLE ROW LEVEL SECURITY; DROP POLICY IF EXISTS "Allow anon access users" ON public.users; DROP POLICY IF EXISTS "Allow anon access tickets" ON public.tickets; CREATE POLICY "Allow anon access users" ON public.users FOR ALL TO anon USING (true) WITH CHECK (true); CREATE POLICY "Allow anon access tickets" ON public.tickets FOR ALL TO anon USING (true) WITH CHECK (true);

ConnoteTrackingCCC

Monitoring & Ticketing System

ConnoteTrackingMonitoring & Ticketing System
  • Menu Utama
  • Menu Ticketing
  • Daftar User
  • Edit Password
A
Admin
Administrator
ConnoteTracker

Selamat Datang, Admin

Peringatan Backup DataJumlah ticket mendekati batas.
0

0

Open

0

In Progress

0

On Confirm

0

Resolved

0

Overdue (>7 hari)

Reminder: Ticket > 1 hari belum di-update.  |||  Total Ticket : 0

Tiket Open

Memuat...

Total Tickets Created

Top 5 Complaint

Ticket Overview - Last 7 Days

Daftar User Login

Kelola akun pengguna.

NoUsernameNamaRoleAksi

Belum Ada User

Edit Password User

Ubah password akun pengguna.

Menu Ticketing

Kelola semua ticket complaint dan monitoring.

Peringatan Backup DataJumlah ticket mendekati batas.
0
Reminder: Ticket > 1 hari belum di-update.  |||  Total Ticket : 0

0

Open

0

In Progress

0

On Confirm

0

Resolved

0

Overdue (>7 hari)

NoConnotePICComplaintDestinationStatusAgeCreatedUpdatedAksi

Tidak Ada Ticket

Memuat data ticket...

Release 1.2 · Built with ❤️ & "Doa Sebelum Deploy,"

Input Ticket Baru

Detail Ticket

Tambah User Baru

Export Data

File akan disimpan sebagai .csv

Detail Ticket Reminder

Peringatan Kapasitas Database

Konfirmasi
Apakah Anda yakin?