Complete base implementation of services for administrative server creation
This commit is contained in:
parent
f842aae3d3
commit
8daec38622
22 changed files with 633 additions and 141 deletions
|
@ -176,4 +176,19 @@ abstract class EloquentRepository extends Repository implements RepositoryInterf
|
|||
{
|
||||
return $this->getBuilder()->insert($data);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
* @return bool|\Illuminate\Database\Eloquent\Model
|
||||
*/
|
||||
public function updateOrCreate(array $where, array $fields, $validate = true, $force = false)
|
||||
{
|
||||
$instance = $this->withColumns('id')->findWhere($where)->first();
|
||||
|
||||
if (! $instance) {
|
||||
return $this->create(array_merge($where, $fields), $validate, $force);
|
||||
}
|
||||
|
||||
return $this->update($instance->id, $fields, $validate, $force);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -129,4 +129,22 @@ class ServerRepository extends SearchableRepository implements ServerRepositoryI
|
|||
|
||||
return $instance;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getDaemonServiceData($id)
|
||||
{
|
||||
$instance = $this->getBuilder()->with('option.service', 'pack')->find($id, $this->getColumns());
|
||||
|
||||
if (! $instance) {
|
||||
throw new RecordNotFoundException();
|
||||
}
|
||||
|
||||
return [
|
||||
'type' => $instance->option->service->folder,
|
||||
'option' => $instance->option->tag,
|
||||
'pack' => (! is_null($instance->pack_id)) ? $instance->pack->uuid : null,
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
Reference in a new issue