Browse Source

feat: custom attributes sync; update: default User model

master
Maxime Renou 5 months ago
parent
commit
3b79a880ae
  1. 2
      config/bconnect.php
  2. 15
      src/Traits/HasConnectSync.php

2
config/bconnect.php

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

15
src/Traits/HasConnectSync.php

@ -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;
}
}

Loading…
Cancel
Save