Additional check for the provided user props via the API

This commit is contained in:
Alex Tselegidis 2020-12-17 16:49:04 +02:00
parent bd6ab1c7fe
commit 5a52bde05a
3 changed files with 33 additions and 3 deletions

View File

@ -87,11 +87,16 @@ class Admins extends API_V1_Controller {
$admin = $request->get_body();
$this->parser->decode($admin);
if (isset($admin['id']))
if (array_key_exists('id', $admin))
{
unset($admin['id']);
}
if ( ! array_key_exists('settings', $admin))
{
throw new Exception('No settings property provided.');
}
$id = $this->admins_model->add($admin);
// Fetch the new object from the database and return it to the client.

View File

@ -87,11 +87,26 @@ class Providers extends API_V1_Controller {
$provider = $request->get_body();
$this->parser->decode($provider);
if (isset($provider['id']))
if (array_key_exists('id', $provider))
{
unset($provider['id']);
}
if ( ! array_key_exists('services', $provider))
{
throw new Exception('No services property provided.');
}
if ( ! array_key_exists('settings', $provider))
{
throw new Exception('No settings property provided.');
}
if ( ! array_key_exists('working_plan', $provider['settings']['working_plan']))
{
$provider['settings']['working_plan'] = $this->settings_model->get_setting('company_working_plan');
}
$id = $this->providers_model->add($provider);
// Fetch the new object from the database and return it to the client.

View File

@ -87,11 +87,21 @@ class Secretaries extends API_V1_Controller {
$secretary = $request->get_body();
$this->parser->decode($secretary);
if (isset($secretary['id']))
if (array_key_exists('id', $secretary))
{
unset($secretary['id']);
}
if ( ! array_key_exists('providers', $secretary))
{
throw new Exception('No providers property provided.');
}
if ( ! array_key_exists('settings', $secretary))
{
throw new Exception('No settings property provided.');
}
$id = $this->secretaries_model->add($secretary);
// Fetch the new object from the database and return it to the client.