diff --git a/app/Config/Routes.php b/app/Config/Routes.php index dd51779..abfa9f4 100644 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -22,4 +22,7 @@ $routes->group('api', function($routes) { // Standard CRUD via DhivaRoutes (Keep for compatibility) DhivaRoutes::Route($routes, 'user', 'SuperUserController'); -}); \ No newline at end of file +}); + +// Catch all OPTIONS requests for CORS preflight +$routes->options('(:any)', function () {}); \ No newline at end of file diff --git a/app/Controllers/SuperUserController.php b/app/Controllers/SuperUserController.php index 000ba2d..06fdab7 100644 --- a/app/Controllers/SuperUserController.php +++ b/app/Controllers/SuperUserController.php @@ -22,6 +22,15 @@ class SuperUserController extends BaseController $inputUsername = $this->post('username'); $inputPassword = $this->post('password'); + // Fallback for JSON payload (Angular) + if (empty($inputUsername) || empty($inputPassword)) { + $json = $this->request->getJSON(); + if ($json) { + $inputUsername = $json->username ?? null; + $inputPassword = $json->password ?? null; + } + } + if (empty($inputUsername) || empty($inputPassword)) { $this->respond([ 'success' => false, diff --git a/schema.sql b/schema.sql index b5374b9..f8951aa 100644 --- a/schema.sql +++ b/schema.sql @@ -25,6 +25,32 @@ CREATE TABLE IF NOT EXISTS kta_digital.personel ( updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); +-- Table: public.super_user (Auth) +CREATE TABLE IF NOT EXISTS public.super_user ( + super_user_id SERIAL PRIMARY KEY, + username VARCHAR(255) NOT NULL, + password VARCHAR(255) NOT NULL, + name VARCHAR(255), + email VARCHAR(255), + avatar TEXT, + satuan_id INTEGER, + jabatan VARCHAR(255), + nrp VARCHAR(20), + pangkat VARCHAR(100), + no_wa VARCHAR(20), + super_group_id INTEGER, + login_date TIMESTAMP, + access_at TIMESTAMP, + token TEXT, + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +-- Seed demo admin user (username: dhivaadmin, password: dhivaadmin) +INSERT INTO public.super_user (username, password, name, super_group_id) +VALUES ('dhivaadmin', 'dhivaadmin', 'Admin KTA', 1) +ON CONFLICT DO NOTHING; + -- Table: kta_digital.pendidikan_kepolisian CREATE TABLE IF NOT EXISTS kta_digital.pendidikan_kepolisian ( id SERIAL PRIMARY KEY,