getValue())) { self::notFound("Setting Value cannot be null"); } if (is_null($setting->getType())) { self::notFound("Setting Type cannot be null"); } else { if (is_array($setting->getValue())) { $setting->setValue(json_encode($setting->getValue())); } } if (is_null($setting->getName())) { self::notFound("Setting Name cannot be null"); } if (!is_bool($setting->getIsBlocked())) { self::notFound("Setting IsBlocked must be boolean"); } } public static function checkSettingName($setting_name) { $perm = LuticateSettingsDataAccess::getByName($setting_name); if (is_null($perm)) { self::notFound("Setting not found"); } return $perm; } public static function getEffectiveSetting($user_id, $setting_name) { self::checkSettingName($setting_name); $val = LuticateSettingsDataAccess::getEffectiveSetting($user_id, $setting_name); $json = json_decode($val->getSetting()); return $json; } public static function getAllEffectiveSetting($user_id) { return LuticateSettingsDataAccess::getAllEffectiveSetting($user_id)->map(function($value) { return $value["Settings"]; }); } public static function get($setting_name) { $perm = LuticateSettingsDataAccess::getByName($setting_name); if (is_null($perm)) { self::notFound("Permission not found"); } return $perm; } /** * @param $setting LuticateSettingsDbo * @return bool */ public static function add($setting) { self::checkSetting($setting); $perm = LuticateSettingsDataAccess::getByName($setting->getName()); if (is_null($perm)) { LuticateSettingsDataAccess::add($setting); return true; } self::badInput("Setting name already exists"); return false; } public static function del($setting_name) { LuticateSettingsDataAccess::delete($setting_name); return true; } /** * @param $setting_name string * @param $setting LuticateSettingsDbo * @return bool */ public static function edit($setting_name, $setting) { $setting->setName($setting_name); self::checkSetting($setting); self::checkSettingName($setting_name); LuticateSettingsDataAccess::edit($setting_name, $setting); return true; } }