Files
alrahma_sunday_school_api/app/Services/Settings/ConfigurationService.php
T
2026-06-09 00:03:03 -04:00

58 lines
1.3 KiB
PHP

<?php
namespace App\Services\Settings;
use App\Models\Configuration;
class ConfigurationService
{
public function list(): array
{
return Configuration::query()
->orderBy('id')
->get()
->toArray();
}
public function store(array $payload): Configuration
{
return Configuration::query()->create([
'config_key' => (string) $payload['config_key'],
'config_value' => (string) $payload['config_value'],
]);
}
public function update(int $id, array $payload): ?Configuration
{
$config = Configuration::query()->find($id);
if (! $config) {
return null;
}
$config->update([
'config_key' => (string) $payload['config_key'],
'config_value' => (string) $payload['config_value'],
]);
return $config;
}
public function delete(int $id): bool
{
$config = Configuration::query()->find($id);
if (! $config) {
return false;
}
return (bool) $config->delete();
}
public function getByKey(string $key): ?Configuration
{
return Configuration::query()
->where('config_key', $key)
->orderByDesc('id')
->first();
}
}