PMCORE-3186 Rest Services - CRUD My task column settings
This commit is contained in:
@@ -15,6 +15,7 @@ class UserConfigTest extends TestCase
|
|||||||
public function setUp()
|
public function setUp()
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
UserConfig::truncate();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -34,7 +35,7 @@ class UserConfigTest extends TestCase
|
|||||||
{
|
{
|
||||||
$id = 1;
|
$id = 1;
|
||||||
$name = "test";
|
$name = "test";
|
||||||
$setting = json_encode(["test" => 1]);
|
$setting = ["test" => 1];
|
||||||
$result = UserConfig::addSetting($id, $name, $setting);
|
$result = UserConfig::addSetting($id, $name, $setting);
|
||||||
|
|
||||||
//assert get
|
//assert get
|
||||||
@@ -44,7 +45,7 @@ class UserConfigTest extends TestCase
|
|||||||
$this->assertArrayHasKey("setting", $result);
|
$this->assertArrayHasKey("setting", $result);
|
||||||
$this->assertEquals($result["id"], $id);
|
$this->assertEquals($result["id"], $id);
|
||||||
$this->assertEquals($result["name"], $name);
|
$this->assertEquals($result["name"], $name);
|
||||||
$this->assertEquals($result["setting"], json_decode($setting));
|
$this->assertEquals($result["setting"], (object) $setting);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -56,7 +57,7 @@ class UserConfigTest extends TestCase
|
|||||||
{
|
{
|
||||||
$id = 1;
|
$id = 1;
|
||||||
$name = "test";
|
$name = "test";
|
||||||
$setting = json_encode(["test" => 1]);
|
$setting = ["test" => 1];
|
||||||
|
|
||||||
$result = UserConfig::addSetting($id, $name, $setting);
|
$result = UserConfig::addSetting($id, $name, $setting);
|
||||||
$this->assertArrayHasKey("id", $result);
|
$this->assertArrayHasKey("id", $result);
|
||||||
@@ -64,7 +65,7 @@ class UserConfigTest extends TestCase
|
|||||||
$this->assertArrayHasKey("setting", $result);
|
$this->assertArrayHasKey("setting", $result);
|
||||||
$this->assertEquals($result["id"], $id);
|
$this->assertEquals($result["id"], $id);
|
||||||
$this->assertEquals($result["name"], $name);
|
$this->assertEquals($result["name"], $name);
|
||||||
$this->assertEquals($result["setting"], json_decode($setting));
|
$this->assertEquals($result["setting"], (object) $setting);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -76,18 +77,18 @@ class UserConfigTest extends TestCase
|
|||||||
{
|
{
|
||||||
$id = 1;
|
$id = 1;
|
||||||
$name = "test";
|
$name = "test";
|
||||||
$setting = json_encode(["test" => 1]);
|
$setting = ["test" => 1];
|
||||||
$result = UserConfig::addSetting($id, $name, $setting);
|
$result = UserConfig::addSetting($id, $name, $setting);
|
||||||
|
|
||||||
//assert edit
|
//assert edit
|
||||||
$setting = json_encode(["test" => 2, "test2" => 3]);
|
$setting = ["test" => 2, "test2" => 3];
|
||||||
$result = UserConfig::editSetting($id, $name, $setting);
|
$result = UserConfig::editSetting($id, $name, $setting);
|
||||||
$this->assertArrayHasKey("id", $result);
|
$this->assertArrayHasKey("id", $result);
|
||||||
$this->assertArrayHasKey("name", $result);
|
$this->assertArrayHasKey("name", $result);
|
||||||
$this->assertArrayHasKey("setting", $result);
|
$this->assertArrayHasKey("setting", $result);
|
||||||
$this->assertEquals($result["id"], $id);
|
$this->assertEquals($result["id"], $id);
|
||||||
$this->assertEquals($result["name"], $name);
|
$this->assertEquals($result["name"], $name);
|
||||||
$this->assertEquals($result["setting"], json_decode($setting));
|
$this->assertEquals($result["setting"], (object) $setting);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -99,7 +100,7 @@ class UserConfigTest extends TestCase
|
|||||||
{
|
{
|
||||||
$id = 2;
|
$id = 2;
|
||||||
$name = "test2";
|
$name = "test2";
|
||||||
$setting = json_encode(["test2" => 1]);
|
$setting = ["test2" => 1];
|
||||||
$result = UserConfig::addSetting($id, $name, $setting);
|
$result = UserConfig::addSetting($id, $name, $setting);
|
||||||
|
|
||||||
//assert delete
|
//assert delete
|
||||||
|
|||||||
@@ -45,21 +45,17 @@ class UserConfig extends Model
|
|||||||
* Add user setting.
|
* Add user setting.
|
||||||
* @param int $id
|
* @param int $id
|
||||||
* @param string $name
|
* @param string $name
|
||||||
* @param string $setting
|
* @param array $setting
|
||||||
* @return mix array|null
|
* @return mix array|null
|
||||||
*/
|
*/
|
||||||
public static function addSetting(int $id, string $name, string $setting)
|
public static function addSetting(int $id, string $name, array $setting)
|
||||||
{
|
{
|
||||||
$userConfig = UserConfig::getSetting($id, $name);
|
|
||||||
if (empty($userConfig)) {
|
|
||||||
$model = new UserConfig();
|
$model = new UserConfig();
|
||||||
$model->USR_ID = $id;
|
$model->USR_ID = $id;
|
||||||
$model->USC_NAME = $name;
|
$model->USC_NAME = $name;
|
||||||
$model->USC_SETTING = $setting;
|
$model->USC_SETTING = json_encode($setting);
|
||||||
$model->save();
|
$model->save();
|
||||||
|
|
||||||
$userConfig = UserConfig::getSetting($id, $name);
|
$userConfig = UserConfig::getSetting($id, $name);
|
||||||
}
|
|
||||||
return $userConfig;
|
return $userConfig;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -67,14 +63,14 @@ class UserConfig extends Model
|
|||||||
* Edit user setting.
|
* Edit user setting.
|
||||||
* @param int $id
|
* @param int $id
|
||||||
* @param string $name
|
* @param string $name
|
||||||
* @param string $setting
|
* @param array $setting
|
||||||
* @return mix array|null
|
* @return mix array|null
|
||||||
*/
|
*/
|
||||||
public static function editSetting(int $id, string $name, string $setting)
|
public static function editSetting(int $id, string $name, array $setting)
|
||||||
{
|
{
|
||||||
UserConfig::where('USR_ID', '=', $id)
|
UserConfig::where('USR_ID', '=', $id)
|
||||||
->where('USC_NAME', '=', $name)
|
->where('USC_NAME', '=', $name)
|
||||||
->update(["USC_SETTING" => $setting]);
|
->update(["USC_SETTING" => json_encode($setting)]);
|
||||||
|
|
||||||
return UserConfig::getSetting($id, $name);
|
return UserConfig::getSetting($id, $name);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -825,64 +825,80 @@ class Home extends Api
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Get user setting.
|
* Get user setting.
|
||||||
* @params int $id
|
* @url GET /config/:id/:name
|
||||||
* @params string $name
|
* @param int $id
|
||||||
* @url GET /config
|
* @param string $name
|
||||||
* @return array
|
* @return array
|
||||||
* @throws Exception
|
* @throws RestException
|
||||||
* @access protected
|
* @access protected
|
||||||
* @class AccessControl {@permission PM_CASES}
|
* @class AccessControl {@permission PM_CASES}
|
||||||
*/
|
*/
|
||||||
public function doGetConfig(int $id, string $name)
|
public function doGetConfig(int $id, string $name)
|
||||||
{
|
{
|
||||||
return UserConfig::getSetting($id, $name);
|
$setting = UserConfig::getSetting($id, $name);
|
||||||
|
if (is_null($setting)) {
|
||||||
|
throw new RestException(Api::STAT_APP_EXCEPTION, G::LoadTranslation('ID_DOES_NOT_EXIST'));
|
||||||
|
}
|
||||||
|
return $setting;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add user setting.
|
* Add user setting.
|
||||||
* @params int $id
|
|
||||||
* @params string $name
|
|
||||||
* @params string $setting
|
|
||||||
* @url POST /config
|
* @url POST /config
|
||||||
|
* @param int $id
|
||||||
|
* @param string $name
|
||||||
|
* @param array $setting
|
||||||
* @return array
|
* @return array
|
||||||
* @throws Exception
|
* @throws RestException
|
||||||
* @access protected
|
* @access protected
|
||||||
* @class AccessControl {@permission PM_CASES}
|
* @class AccessControl {@permission PM_CASES}
|
||||||
*/
|
*/
|
||||||
public function doPostConfig(int $id, string $name, string $setting)
|
public function doPostConfig(int $id, string $name, array $setting)
|
||||||
{
|
{
|
||||||
|
try {
|
||||||
return UserConfig::addSetting($id, $name, $setting);
|
return UserConfig::addSetting($id, $name, $setting);
|
||||||
|
} catch (Exception $e) {
|
||||||
|
throw new RestException(Api::STAT_APP_EXCEPTION, G::LoadTranslation('ID_EXIST'));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update user setting.
|
* Update user setting.
|
||||||
* @params int $id
|
|
||||||
* @params string $name
|
|
||||||
* @params string $setting
|
|
||||||
* @url PUT /config
|
* @url PUT /config
|
||||||
|
* @param int $id
|
||||||
|
* @param string $name
|
||||||
|
* @param array $setting
|
||||||
* @return array
|
* @return array
|
||||||
* @throws Exception
|
* @throws RestException
|
||||||
* @access protected
|
* @access protected
|
||||||
* @class AccessControl {@permission PM_CASES}
|
* @class AccessControl {@permission PM_CASES}
|
||||||
*/
|
*/
|
||||||
public function doPutConfig(int $id, string $name, string $setting)
|
public function doPutConfig(int $id, string $name, array $setting)
|
||||||
{
|
{
|
||||||
return UserConfig::editSetting($id, $name, $setting);
|
$setting = UserConfig::editSetting($id, $name, $setting);
|
||||||
|
if (is_null($setting)) {
|
||||||
|
throw new RestException(Api::STAT_APP_EXCEPTION, G::LoadTranslation('ID_DOES_NOT_EXIST'));
|
||||||
|
}
|
||||||
|
return $setting;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete user setting.
|
* Delete user setting.
|
||||||
* @params int $id
|
* @url DELETE /config/:id/:name
|
||||||
* @params string $name
|
* @param int $id
|
||||||
* @url DELETE /config
|
* @param string $name
|
||||||
* @return array
|
* @return array
|
||||||
* @throws Exception
|
* @throws RestException
|
||||||
* @access protected
|
* @access protected
|
||||||
* @class AccessControl {@permission PM_CASES}
|
* @class AccessControl {@permission PM_CASES}
|
||||||
*/
|
*/
|
||||||
public function doDeleteConfig(int $id, string $name)
|
public function doDeleteConfig(int $id, string $name)
|
||||||
{
|
{
|
||||||
return UserConfig::deleteSetting($id, $name);
|
$setting = UserConfig::deleteSetting($id, $name);
|
||||||
|
if (is_null($setting)) {
|
||||||
|
throw new RestException(Api::STAT_APP_EXCEPTION, G::LoadTranslation('ID_DOES_NOT_EXIST'));
|
||||||
|
}
|
||||||
|
return $setting;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user