123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- <?php
-
- namespace Luticate\Auth\Business;
-
- use Luticate\Utils\LuBusiness;
- use Luticate\Auth\DataAccess\LuticateSettingsDataAccess;
- use Luticate\Auth\DBO\LuticateSettingsDbo;
- use Luticate\Utils\LuMultipleDbo;
-
- class LuticateSettingsBusiness extends LuBusiness {
- protected static function getDataAccess()
- {
- return new LuticateSettingsDataAccess();
- }
-
- /**
- * @param $setting LuticateSettingsDbo
- */
- public static function checkSetting($setting)
- {
- if (is_null($setting->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;
- }
- }
|