feat: custom attributes sync; update: default User model

This commit is contained in:
Maxime Renou 2021-06-21 18:24:30 +02:00
parent 14b47b6f6e
commit 3b79a880ae
2 changed files with 15 additions and 2 deletions

View File

@ -5,7 +5,7 @@ return [
/**
* OAuth model
*/
'model' => \App\User::class,
'model' => \App\Models\User::class,
/**
* Route that redirects to Bluesquare Connect

View File

@ -8,6 +8,8 @@ trait HasConnectSync
abstract function save();
abstract function delete();
protected $fillable = [];
public static $connectResource;
public static $connectColumnId = 'connect_resource_id';
@ -20,7 +22,13 @@ trait HasConnectSync
public static function onConnectResourceCreated($id, $data)
{
$record = self::findConnectResource($id) ?? new self;
$record->fill($data); // TODO
$attributes = $record->getConnectFillableAttributes();
foreach ($data as $key => $value) {
if (in_array($key, $attributes))
$record->$key = $value;
}
$record->{self::$connectColumnId} = $id;
return $record->save();
}
@ -40,4 +48,9 @@ trait HasConnectSync
{
return $record->forceDelete();
}
public function getConnectFillableAttributes()
{
return $this->fillable;
}
}