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