<?php
defined('BASEPATH') or exit('No direct script access allowed');

class Pengguna_model extends CI_Model
{
    public function get_all_pengguna($sort = 'asc')
    {
        $this->db->order_by('id_pengguna', $sort);
        return $this->db->get('pengguna');
    }

    public function get_pengguna($id_pengguna)
    {
        $this->db->where('id_pengguna', $id_pengguna);
        return $this->db->get('pengguna');
    }

    public function add_pengguna($params)
    {
        $this->db->insert('pengguna', $params);
        return $this->db->insert_id();
    }

    public function update_pengguna($id_pengguna, $params)
    {
        $this->db->where('id_pengguna', $id_pengguna);
        return $this->db->update('pengguna', $params);
    }

    public function delete_pengguna($id_pengguna)
    {
        $this->db->where('id_pengguna', $id_pengguna);
        return $this->db->delete('pengguna');
    }

    public function get_by_username($username)
    {
        $this->db->where('username', $username);
        return $this->db->get('pengguna');
    }

    public function get_by_username_admin($username)
    {
        $this->db->where('username', $username);
        $this->db->where('role', 'Admin');
        return $this->db->get('pengguna')->row_array();
    }

    public function cek_unik_username_lama($username, $username_lama)
    {
        $this->db->where('username', $username);
        $this->db->where('username <>', $username_lama);
        return $this->db->get('pengguna');
    }

    public function cek_token($email, $token)
    {
        $this->db->where('email', $email);
        $this->db->where('token', $token);
        return $this->db->get('user_token');
    }

    public function cek_ongkir($desa)
    {
        $this->db->select('total_ongkir');
        $this->db->where('nama_desa', $desa);
        return $this->db->get('desa');
    }

    public function update_byemail($email, $params)
    {
        $this->db->where('email', $email);
        return $this->db->update('pengguna', $params);
    }
}