Various code reshuffelling.

This commit is contained in:
James Cole
2021-03-12 06:20:01 +01:00
parent 97561ab9c9
commit 748d61fb8f
51 changed files with 1874 additions and 1873 deletions

View File

@@ -39,6 +39,49 @@ class ObjectGroupRepository implements ObjectGroupRepositoryInterface
/** @var User */
private $user;
/**
* @inheritDoc
*/
public function deleteAll(): void
{
$all = $this->get();
/** @var ObjectGroup $group */
foreach ($all as $group) {
$group->piggyBanks()->sync([]);
$group->bills()->sync([]);
$group->delete();
}
}
/**
* @inheritDoc
*/
public function deleteEmpty(): void
{
$all = $this->get();
/** @var ObjectGroup $group */
foreach ($all as $group) {
$count = DB::table('object_groupables')->where('object_groupables.object_group_id', $group->id)->count();
if (0 === $count) {
$group->delete();
}
}
}
/**
* @inheritDoc
*/
public function destroy(ObjectGroup $objectGroup): void
{
$list = $objectGroup->piggyBanks;
/** @var PiggyBank $piggy */
foreach ($list as $piggy) {
$piggy->objectGroups()->sync([]);
$piggy->save();
}
$objectGroup->delete();
}
/**
* @inheritDoc
*/
@@ -49,9 +92,25 @@ class ObjectGroupRepository implements ObjectGroupRepositoryInterface
->orderBy('order', 'ASC')->orderBy('title', 'ASC')->get();
}
/**
* @inheritDoc
*/
public function getBills(ObjectGroup $objectGroup): Collection
{
return $objectGroup->bills;
}
/**
* @inheritDoc
*/
public function getPiggyBanks(ObjectGroup $objectGroup): Collection
{
return $objectGroup->piggyBanks;
}
/**
* @param string $query
* @param int $limit
* @param int $limit
*
* @return Collection
*/
@@ -74,16 +133,15 @@ class ObjectGroupRepository implements ObjectGroupRepositoryInterface
/**
* @inheritDoc
*/
public function deleteEmpty(): void
public function setOrder(ObjectGroup $objectGroup, int $order): ObjectGroup
{
$all = $this->get();
/** @var ObjectGroup $group */
foreach ($all as $group) {
$count = DB::table('object_groupables')->where('object_groupables.object_group_id', $group->id)->count();
if (0 === $count) {
$group->delete();
}
}
$order = 0 === $order ? 1 : $order;
$objectGroup->order = $order;
$objectGroup->save();
Log::debug(sprintf('Objectgroup #%d order is now %d', $objectGroup->id, $order));
return $objectGroup;
}
/**
@@ -102,20 +160,6 @@ class ObjectGroupRepository implements ObjectGroupRepositoryInterface
}
}
/**
* @inheritDoc
*/
public function setOrder(ObjectGroup $objectGroup, int $order): ObjectGroup
{
$order = 0 === $order ? 1 : $order;
$objectGroup->order = $order;
$objectGroup->save();
Log::debug(sprintf('Objectgroup #%d order is now %d', $objectGroup->id, $order));
return $objectGroup;
}
/**
* @inheritDoc
*/
@@ -133,20 +177,6 @@ class ObjectGroupRepository implements ObjectGroupRepositoryInterface
return $objectGroup;
}
/**
* @inheritDoc
*/
public function destroy(ObjectGroup $objectGroup): void
{
$list = $objectGroup->piggyBanks;
/** @var PiggyBank $piggy */
foreach($list as $piggy) {
$piggy->objectGroups()->sync([]);
$piggy->save();
}
$objectGroup->delete();
}
/**
* @param User $user
*/
@@ -154,34 +184,4 @@ class ObjectGroupRepository implements ObjectGroupRepositoryInterface
{
$this->user = $user;
}
/**
* @inheritDoc
*/
public function getPiggyBanks(ObjectGroup $objectGroup): Collection
{
return $objectGroup->piggyBanks;
}
/**
* @inheritDoc
*/
public function getBills(ObjectGroup $objectGroup): Collection
{
return $objectGroup->bills;
}
/**
* @inheritDoc
*/
public function deleteAll(): void
{
$all = $this->get();
/** @var ObjectGroup $group */
foreach ($all as $group) {
$group->piggyBanks()->sync([]);
$group->bills()->sync([]);
$group->delete();
}
}
}