type = $type; } /** * Determine if the validation rule passes. * * @param string $attribute * @param mixed $value * @return bool */ public function passes($attribute, $value) { $this->attribute = $attribute; $value = is_array($value) ? $value : [$value]; if ($this->type == 'contract') { foreach ($value as $key => $row) { if(!empty($row)) { $id = Hasher::decode('contracts', $row); $data = Contract:: where('id', $id) ->where('user_id', Auth::guard('user-api')->user()->id) ->count(); if (!$data) { return false; } } } } if ($this->type == 'contract_entity') { foreach ($value as $key => $row) { if(!empty($row)) { $id = Hasher::decode('contract_entities', $row); $data = ContractEntity:: where('id', $id) ->where('user_id', Auth::guard('user-api')->user()->id) ->count(); if (!$data) { return false; } } } } if ($this->type == 'contract_obligation') { foreach ($value as $key => $row) { if(!empty($row)) { $id = Hasher::decode('contract_obligations', $row); $data = ContractObligation:: where('id', $id) ->where('user_id', Auth::guard('user-api')->user()->id) ->count(); if (!$data) { return false; } } } } if ($this->type == 'contract_obligation_contract_dependency') { foreach ($value as $key => $row) { if(!empty($row)) { $id = Hasher::decode('contract_obligation_contract_dependencies', $row); $data = ContractObligationContractDependency:: where('id', $id) ->where('user_id', Auth::guard('user-api')->user()->id) ->count(); if (!$data) { return false; } } } } if ($this->type == 'entity') { foreach ($value as $key => $row) { if(!empty($row)) { $id = Hasher::decode('entities', $row); $data = Entity:: where('id', $id) ->where('user_id', Auth::guard('user-api')->user()->id) ->count(); if (!$data) { return false; } } } } if ($this->type == 'contract_template') { foreach ($value as $key => $row) { if(!empty($row)) { $id = Hasher::decode('contract_templates', $row); $data = ContractTemplate:: where('id', $id) ->where('user_id', Auth::guard('user-api')->user()->id) ->count(); if (!$data) { return false; } } } } if ($this->type == 'contract_template_obligation') { foreach ($value as $key => $row) { if(!empty($row)) { $id = Hasher::decode('contract_template_obligations', $row); $data = ContractTemplateObligation:: where('id', $id) ->where('user_id', Auth::guard('user-api')->user()->id) ->count(); if (!$data) { return false; } } } } return true; } /** * Get the validation error message. * * @return string */ public function message() { return config('error_code.under_error'); } }