| @@ 13-51 (lines=39) @@ | ||
| 10 | * |
|
| 11 | * @author Mahmoud Zalt <[email protected]> |
|
| 12 | */ |
|
| 13 | class UpdateSettingsByKeyTask extends Task |
|
| 14 | { |
|
| 15 | ||
| 16 | /** |
|
| 17 | * @var \App\Containers\Settings\Data\Repositories\SettingsRepository |
|
| 18 | */ |
|
| 19 | private $settingsRepository; |
|
| 20 | ||
| 21 | /** |
|
| 22 | * FindSettingsTask constructor. |
|
| 23 | * |
|
| 24 | * @param \App\Containers\Settings\Data\Repositories\SettingsRepository $settingsRepository |
|
| 25 | */ |
|
| 26 | public function __construct(SettingsRepository $settingsRepository) |
|
| 27 | { |
|
| 28 | $this->settingsRepository = $settingsRepository; |
|
| 29 | } |
|
| 30 | ||
| 31 | /** |
|
| 32 | * @param $key |
|
| 33 | * @param $value |
|
| 34 | * |
|
| 35 | * @return mixed |
|
| 36 | */ |
|
| 37 | public function run($key, $value) |
|
| 38 | { |
|
| 39 | // TODO: replace both queries with a single UpdateWhere instead of find and update. |
|
| 40 | // this UpdateWhere will need to be added to the repository package (contribution). |
|
| 41 | ||
| 42 | $setting = $this->settingsRepository->findWhere(['key' => $key])->first(); |
|
| 43 | ||
| 44 | $result = $this->settingsRepository->update([ |
|
| 45 | 'value' => $value |
|
| 46 | ], $setting->id); |
|
| 47 | ||
| 48 | return $result; |
|
| 49 | } |
|
| 50 | ||
| 51 | } |
|
| 52 | ||
| @@ 13-53 (lines=41) @@ | ||
| 10 | * |
|
| 11 | * @author Mahmoud Zalt <[email protected]> |
|
| 12 | */ |
|
| 13 | class UpdateWhateverSettingsTask extends Task |
|
| 14 | { |
|
| 15 | ||
| 16 | /** |
|
| 17 | * @var \App\Containers\Settings\Data\Repositories\SettingsRepository |
|
| 18 | */ |
|
| 19 | private $settingsRepository; |
|
| 20 | ||
| 21 | /** |
|
| 22 | * FindSettingsTask constructor. |
|
| 23 | * |
|
| 24 | * @param \App\Containers\Settings\Data\Repositories\SettingsRepository $settingsRepository |
|
| 25 | */ |
|
| 26 | public function __construct(SettingsRepository $settingsRepository) |
|
| 27 | { |
|
| 28 | $this->settingsRepository = $settingsRepository; |
|
| 29 | } |
|
| 30 | ||
| 31 | /** |
|
| 32 | * @param $key |
|
| 33 | * @param $value |
|
| 34 | * |
|
| 35 | * @return mixed |
|
| 36 | */ |
|
| 37 | public function run($value) |
|
| 38 | { |
|
| 39 | $key = 'whatever'; |
|
| 40 | ||
| 41 | // TODO: replace both queries with a single UpdateWhere instead of find and update. |
|
| 42 | // this UpdateWhere will need to be added to the repository package (contribution). |
|
| 43 | ||
| 44 | $setting = $this->settingsRepository->findWhere(['key' => $key])->first(); |
|
| 45 | ||
| 46 | $result = $this->settingsRepository->update([ |
|
| 47 | 'value' => $value |
|
| 48 | ], $setting->id); |
|
| 49 | ||
| 50 | return $result; |
|
| 51 | } |
|
| 52 | ||
| 53 | } |
|
| 54 | ||