43 lines
1.1 KiB
PHP
43 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\API;
|
|
|
|
use App\Enums\SettingTypesEnum;
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\Setting;
|
|
use App\Http\Resources\ApiResponseResource;
|
|
use App\Models\Formulary;
|
|
|
|
class SettingsController extends Controller
|
|
{
|
|
/**
|
|
* Get Settings.
|
|
*
|
|
* @return \Illuminate\Http\JsonResponse
|
|
*/
|
|
public function get()
|
|
{
|
|
$response = [];
|
|
$settings = Setting::all();
|
|
foreach ($settings as $setting) {
|
|
$response[$setting->key] =
|
|
SettingTypesEnum::numeric()->equals($setting->type) ||
|
|
SettingTypesEnum::boolean()->equals($setting->type) ||
|
|
SettingTypesEnum::directory()->equals($setting->type)
|
|
? \intval($setting->value)
|
|
: $setting->value;
|
|
}
|
|
|
|
return new ApiResponseResource("OK", $response);
|
|
}
|
|
|
|
/**
|
|
* Get Formulary settings.
|
|
*
|
|
* @return \Illuminate\Http\JsonResponse
|
|
*/
|
|
public function getFormulary()
|
|
{
|
|
return new ApiResponseResource("OK", Formulary::get()->makeHidden(['created_at', 'updated_at']));
|
|
}
|
|
}
|