<?php

namespace App\Controllers\Api;

use App\Models\BarangUnitModel;

class BarcodeController extends BaseApiController
{
    protected $unit;

    public function __construct()
    {
        $this->unit = new BarangUnitModel();
    }

    // ============================
    // POST /api/barcode/lookup
    // ============================
    public function lookup()
    {
        $data = $this->request->getJSON(true);

        if (empty($data['barcode'])) {
            return $this->respondError(
                'Barcode tidak boleh kosong',
                422
            );
        }

        $barcode = trim($data['barcode']);

        $unit = $this->unit
            ->select('
                barang_unit.id_unit,
                barang_unit.kode_unit,
                barang_unit.barcode,
                barang_unit.kondisi,
                barang_unit.status,
                barang.nama_barang,
                ruangan.nama_ruangan
            ')
            ->join('barang', 'barang.id_barang = barang_unit.id_barang')
            ->join('ruangan', 'ruangan.id_ruangan = barang_unit.id_ruangan')
            ->where('barang_unit.barcode', $barcode)
            ->where('barang_unit.status !=', 'Dimusnahkan')
            ->first();

        if (!$unit) {
            return $this->respondError(
                'Unit tidak ditemukan atau sudah dihapus',
                404
            );
        }

        return $this->respondSuccess(
            $unit,
            'Unit ditemukan'
        );
    }
}