Setup Database

Jalankan SQL berikut di SQL Editor Supabase sesuai kondisi database Anda.

1. Setup Awal (Database Baru)
-- 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() ); -- Seed data default 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 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, resolved_at TIMESTAMPTZ, closed_at TIMESTAMPTZ, created_at TIMESTAMPTZ DEFAULT NOW(), updated_at TIMESTAMPTZ DEFAULT NOW() );
2. Alter Kolom (Database Sudah Ada)
-- 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; ALTER TABLE tickets ADD COLUMN IF NOT EXISTS resolved_at TIMESTAMPTZ; ALTER TABLE tickets ADD COLUMN IF NOT EXISTS closed_at TIMESTAMPTZ;
3. Migrasi Data Existing
-- Isi tanggal berdasarkan status saat ini UPDATE tickets SET date_in_progress = updated_at WHERE status IN ('in_progress','on_confirm','resolved','closed') AND date_in_progress IS NULL; UPDATE tickets SET date_on_confirm = updated_at WHERE status IN ('on_confirm','resolved','closed') AND date_on_confirm IS NULL; UPDATE tickets SET date_resolved = COALESCE(resolved_at, updated_at) WHERE status IN ('resolved','closed') 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;
-- Grant access & Enable RLS (Wajib sesuai aturan Supabase terbaru) 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

0

Open

0

In Progress

0

On Confirm

0

Resolved

0

Overdue (>7 hari)

Anda punya Ticket > 1 hari belum di-update.

Ticket Terbaru (Open)

Memuat data...

Top 5 Complaint

Daftar User Login

Kelola akun pengguna yang dapat mengakses sistem.

NoUsernameNamaRoleAksi

Belum Ada User

Edit Password User

Ubah password akun pengguna.

Menu Ticketing

Kelola semua ticket complaint dan monitoring.

Reminder: Anda punya ticket > 1 hari belum di-update.

0

Open

0

In Progress

0

On Confirm

0

Resolved

0

Overdue (>7 hari)

NoConnotePICComplaintDestinationStatusAgeCreatedUpdatedAksi

Tidak Ada Ticket

Klik "Input Connote" untuk menambahkan ticket baru

Memuat data ticket...

Input Ticket Baru

Detail Ticket

Tambah User Baru

Export Data

File akan disimpan sebagai .csv (bisa dibuka di Excel)

Detail Ticket Reminder

Konfirmasi
Apakah Anda yakin?