<?php

namespace App\Models;

use CodeIgniter\Model;

class SettingsModel extends Model
{
    protected $table = 'settings'; // Nama tabel di database
    protected $primaryKey = 'id'; // Primary key tabel
    protected $allowedFields = ['nama_aplikasi', 'alamat', 'keterangan', 'level', 'logo', 'created_at', 'updated_at']; // Kolom yang dapat diisi

    // Menambahkan properti timestamps agar bisa menangani kolom 'created_at' dan 'updated_at'
    protected $useTimestamps = true;

    // Menambahkan metode untuk mendapatkan pengaturan berdasarkan level
    public function getSettingsByLevel($level)
    {
        return $this->where('level', $level)->first(); // Ambil satu data saja
    }

    // Fungsi untuk mendapatkan semua pengaturan atau berdasarkan ID
    public function getSettings($level = null)
    {
        if ($level) {
            return $this->find($level); // Jika ID diberikan, ambil data berdasarkan ID
        }

        return $this->findAll(); // Jika tidak ada ID, ambil semua data
    }

    // Fungsi untuk memperbarui pengaturan
    public function updateSettings($id, $data)
    {
        // Pastikan ID ada
        if (!$this->find($id)) {
            return false; // Kembalikan false jika data dengan ID tersebut tidak ditemukan
        }

        return $this->update($id, $data); // Perbarui data berdasarkan ID
    }

    public function getSettingValue()
    {
        return $this->select('nilai, keterangan, logo')->findAll();
    }
}
