123456789101112131415161718192021222324252627282930313233343536 |
- <?php
- namespace App\Repositories;
- use App\Models\Config;
- use App\Models\Enums\ConfigGroup;
- use App\Repositories\Enums\EmailConfigFieldEnum;
- class ConfigRepository
- {
- public static function openEmailNotification(): bool
- {
- return self::getConfigItem(ConfigGroup::EMAIL->value, EmailConfigFieldEnum::OPEN_EMAIL_NOTIFICATION->value) == "on";
- }
- protected static function getConfigItem(string $group, string $key)
- {
- $config = Config::query()->where('group', $group)->where("key", $key)->first();
- return $config?->value;
- }
- public static function emailDynamicSetting()
- {
- $configs = Config::query()->where('group', ConfigGroup::EMAIL->value)->get();
- $fieldRelations = EmailConfigFieldEnum::fieldRelations();
- foreach ($configs as $config) {
- if(! isset($fieldRelations[$config->key]) || !$config->value) {
- continue;
- }
- \Illuminate\Support\Facades\Config::set($fieldRelations[$config->key], $config->value);
- }
- }
- }
|