Set fields to pireps in prefile/update calls

This commit is contained in:
Nabeel Shahzad
2018-02-06 13:46:23 -06:00
parent 8b2eddc72d
commit de0c71cb06
5 changed files with 60 additions and 19 deletions

View File

@@ -2,6 +2,7 @@
namespace App\Services;
use App\Models\PirepField;
use Log;
use Carbon\Carbon;
use App\Repositories\AcarsRepository;
@@ -177,13 +178,8 @@ class PIREPService extends BaseService
$pirep->save();
$pirep->refresh();
foreach ($field_values as $fv) {
$v = new PirepFieldValues();
$v->pirep_id = $pirep->id;
$v->name = $fv['name'];
$v->value = $fv['value'];
$v->source = $fv['source'];
$v->save();
if(\count($field_values) > 0) {
$this->updateCustomFields($pirep->id, $field_values);
}
Log::info('New PIREP filed', [$pirep]);
@@ -198,6 +194,25 @@ class PIREPService extends BaseService
return $pirep;
}
/**
* Update any custom PIREP fields
* @param $pirep_id
* @param array $field_values
*/
public function updateCustomFields($pirep_id, array $field_values)
{
foreach ($field_values as $fv) {
PirepFieldValues::updateOrCreate(
[ 'pirep_id' => $pirep_id,
'name' => $fv['name']
],
[ 'value' => $fv['value'],
'source' => $fv['source']
]
);
}
}
/**
* @param Pirep $pirep
* @param int $new_state