laravel-connect/src/Traits/HasConnectSync.php

42 lines
928 B
PHP

<?php
namespace Bluesquare\Connect\Traits;
trait HasConnectSync
{
abstract function fill(array $attributes);
abstract function save();
abstract function delete();
public static $connectResource;
public static function onConnectResourceCreated($id, $data)
{
$record = new self;
$record->fill($data);
$record->id = $id;
$record->save();
return true;
}
public static function onConnectResourceUpdated($id, $data)
{
$record = self::find($id) ?? new self;
$record->fill($data);
$record->id = $id;
$record->save();
return true;
}
public static function onConnectResourceDeleted($id, $data)
{
$record = self::find($id);
return $record ? $record->delete() : false;
}
public static function onConnectResourceDoesNotExist($record)
{
return $record->delete();
}
}