Bristol SU Support Package
ConnectionRepository.php
Go to the documentation of this file.
1 <?php
2 
4 
5 use BristolSU\Support\Connection\Contracts\ConnectionRepository as ConnectionRepositoryContract;
7 
11 class ConnectionRepository implements ConnectionRepositoryContract
12 {
13 
19  public function all()
20  {
21  return Connection::all();
22  }
23 
30  public function get(int $id): Connection
31  {
32  return Connection::findOrFail($id);
33  }
34 
42  public function delete(int $id) {
43  return $this->get($id)->delete();
44  }
45 
64  public function create(array $attributes): Connection
65  {
66  return Connection::create($attributes);
67  }
68 
88  public function update(int $id, array $attributes): Connection
89  {
90  $connection = $this->get($id);
91  $connection->fill($attributes);
92  $connection->save();
93  return $connection;
94  }
95 
102  public function getAllForService(string $service)
103  {
104  return collect(app(\BristolSU\Support\Connection\Contracts\ConnectorRepository::class)->forService($service))->map(function(RegisteredConnector $connector) {
105  return $this->getAllForConnector($connector->getAlias());
106  })->flatten(1)->values();
107  }
108 
115  public function getAllForConnector(string $alias)
116  {
117  return Connection::where('alias', $alias)->get();
118  }
119 }