<?php

use Jaga\Models\BaseModel;

class LitbangUser extends BaseModel
{
    public $id;
    public $um_id;
    public $satgas_id;
    public $created_at;
    public $updated_at;
    public $deleted_at;

    const PROTECTED_ROLES = ['admin_litbang'];

    public function initialize()
    {
        $this->setSchema("jaga");
        $this->setSource("litbang_user");

        $this->belongsTo(
            'um_id',
            \UmUser::class,
            'um_id'
        );

        $this->belongsTo(
            'satgas_id',
            \LitbangSatgas::class,
            'id',
            [
                'reusable' => true, // cache related data
                'alias'    => 'litbangSatgas',
            ]
        );
    }

    public function getDetail($columns = null, $withSatgas = false) {
        $result = $this->toArray($columns);

        /** @var $umUser UmUser */
        $umUser = $this->umUser;
        $result['um_user'] = $umUser->baseToArray();

        if ($withSatgas) {
            /** @var $satgas LitbangSatgas */
            $satgas = $this->litbangSatgas;
            $result['litbang_satgas'] = ($satgas ? $satgas->toArray(['id', 'nama']) : null);
        }

        return $result;
    }
}
