api contract template obligation contract template dependency

This commit is contained in:
glovetleong
2021-07-17 14:14:49 +08:00
parent 3f804cbbc3
commit fca442fb7c
6 changed files with 348 additions and 12 deletions
@@ -1,11 +0,0 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class ContractTemplateObligationContractTemplateDependencies extends Model
{
use HasFactory;
}
@@ -0,0 +1,66 @@
<?php
namespace App\Models;
use App\Http\Helpers\Hasher;
use Illuminate\Database\Eloquent\Model;
use Carbon\Carbon;
class ContractTemplateObligationContractTemplateDependency extends Model
{
protected $table = 'contract_template_obligation_contract_template_dependencies';
protected $appends = [
'hash_id',
'contract_template_obligation_hash_id',
'depend_contract_template_hash_id',
'contract_template_obligation_list',
'depend_contract_template_list'
];
public function contract_template_obligation()
{
return $this->belongsTo('App\Models\ContractTemplateObligation', 'contract_template_obligation_id');
}
public function depend_contract_template()
{
return $this->belongsTo('App\Models\ContractTemplate', 'depend_contract_template_id');
}
public function getHashIdAttribute()
{
return Hasher::encode('contract_template_obligation_contract_template_dependencies', $this->id);
}
public function getContractTemplateObligationHashIdAttribute()
{
return Hasher::encode('contract_template_obligations', $this->contract_template_obligation_id);
}
public function getDependContractTemplateHashIdAttribute()
{
return Hasher::encode('contract_templates', $this->depend_contract_template_id);
}
public function getContractTemplateObligationListAttribute()
{
return $this->contract_template_obligation()->get()->makeHidden(['contract_template_obligation_dependency_list', 'depend_contract_template_obligation_dependency_list']);
}
public function getDependContractTemplateListAttribute()
{
return $this->depend_contract_template()->get()->makeHidden(['contract_template_obligation_list']);
}
public function getUpdatedAtAttribute($date)
{
return $date ? Carbon::parse($date)->timezone('Asia/Kuala_Lumpur')->format('Y-m-d') : '';
}
public function getCreatedAtAttribute($date)
{
return $date ? Carbon::parse($date)->timezone('Asia/Kuala_Lumpur')->format('Y-m-d') : '';
}
}