Bristol SU Support Package
Connection.php
Go to the documentation of this file.
1 <?php
2 
4 
8 
12 class Connection extends Model
13 {
14  use HasRevisions;
15 
21  protected $table = 'connection_instances';
22 
30  protected $appends = ['connector'];
31 
37  protected $fillable = [
38  'name', 'description', 'alias', 'settings'
39  ];
40 
46  protected $hidden = ['settings'];
47 
53  protected $casts = [
54  'settings' => 'array'
55  ];
56 
60  protected static function boot()
61  {
62  parent::boot();
63 
64  static::creating(function($model) {
65  if ($model->user_id === null) {
66  $model->user_id = app(UserAuthentication::class)->getUser()->control_id;
67  }
68  });
69 
70  static::addGlobalScope(new AccessibleConnectionScope);
71  }
72 
78  public function getConnectorAttribute()
79  {
80  return $this->connector();
81  }
82 
88  public function connector()
89  {
90  return app(\BristolSU\Support\Connection\Contracts\ConnectorRepository::class)->get($this->alias);
91  }
92 }