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

Sistem sedang dalam proses Backup. User non-admin tidak dapat login.
ConnoteTrackingMonitoring & Ticketing System
  • Menu Utama
  • Menu Ticketing
  • Daftar User
  • Edit Password
A
Admin
Administrator
ConnoteTracker

Selamat Datang, Admin

MODE BACKUP AKTIF: Akses user lain sementara diblokir.
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.

MODE BACKUP AKTIF: Hapus data resolved untuk mengosongkan database.
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 2.1 · Built with ☕ & "99% Coding, 1% Keajaiban."

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?