db = \Config\Database::connect(); } // Insert data dan return ID terakhir public function insertGetId($data) { $this->insert($data); return $this->insertID(); } // Login (gunakan password_hash untuk pembanding ke depan) public function login($username, $password) { $builder = $this->db->table('users'); $builder->select('users.*, staff.nama AS nama_staff, staff.jabatan, staff.id_staff'); $builder->join('staff', 'staff.id_user = users.id_user', 'LEFT'); // ✅ bukan id_staff $builder->where('users.username', $username); $builder->where('users.password', sha1($password)); // ❗ sementara masih pakai sha1 $query = $builder->get(); return $query->getRow(); // NULL jika gagal } // Listing semua user public function listing() { return $this->db->table('users') ->select('users.*, staff.nama AS nama_staff, staff.jabatan') ->join('staff', 'staff.id_user = users.id_user', 'LEFT') // ✅ ->orderBy('users.id_user', 'DESC') ->get() ->getResult(); } // Total user public function total() { return $this->db->table('users') ->select('COUNT(*) AS total') ->get() ->getRow(); } // Ambil detail user berdasarkan ID public function detail($id_user) { return $this->db->table('users') ->select('users.*, staff.nama AS nama_staff, staff.jabatan, staff.id_staff') ->join('staff', 'staff.id_user = users.id_user', 'LEFT') // ✅ ->where('users.id_user', $id_user) ->get() ->getRow(); } // Cek berdasarkan kode rahasia public function kode_rahasia($kode_rahasia) { return $this->db->table('users') ->select('users.*, staff.nama AS nama_staff, staff.jabatan') ->join('staff', 'staff.id_user = users.id_user', 'LEFT') // ✅ ->where('users.kode_rahasia', $kode_rahasia) ->get() ->getRow(); } // Cek berdasarkan email public function check($email) { return $this->db->table('users') ->select('users.*, staff.nama AS nama_staff, staff.jabatan') ->join('staff', 'staff.id_user = users.id_user', 'LEFT') // ✅ ->where('users.email', $email) ->get() ->getRow(); } // Edit user public function edit($data) { return $this->db->table('users') ->where('id_user', $data['id_user']) ->update($data); } // Tambah user public function tambah($data) { return $this->db->table('users')->insert($data); } // Log aktivitas user public function user_log($data) { return $this->db->table('user_logs')->insert($data); } }