static function saveField($app, $fieldId) { if (!v::intVal()->validate($fieldId) || !v::key('identifier', v::stringType())->validate($app->request->post()) || !v::key('type', v::stringType())->validate($app->request->post()) || !v::key('desc', v::stringType())->validate($app->request->post())) { // Validate input parameters return $app->render(400, array('msg' => 'Update failed. Check your parameters and try again.')); } else { if (strtolower($app->request->post('type')) != 'state' && strtolower($app->request->post('type')) != 'element') { return $app->render(400, array('msg' => 'Update failed. Invalid field type. Only "state" and "element" are allowed.')); } } // Verify a unique slug $identifier = self::makeSlug($app->request->post('identifier')); $existing = FieldData::getByIdentifier($identifier, $fieldId); if ($existing) { return $app->render(400, array('msg' => 'Could not update field. A field with that name already exists.', 'field' => $existing)); } // Add Cariable $data = array(':id' => $fieldId, ':identifier' => $identifier, ":type" => strtolower($app->request->post('type')), ":desc" => $app->request->post('desc'), ":last_updated_by" => APIAuth::getUserId()); $saved = FieldData::updateField($data); if ($saved) { RoleData::addAdminRoleToNewField($fieldId); $field = FieldData::getField($fieldId); return $app->render(200, array('field' => $field)); } else { return $app->render(400, array('msg' => 'Could not update field.')); } }
static function assignGroup($app) { if (!v::key('groupId', v::stringType())->validate($app->request->post()) || !v::key('roleId', v::stringType())->validate($app->request->post())) { return $app->render(400, array('msg' => 'Could not assign role from group. Check your parameters and try again.')); } $data = array(':auth_group_id' => $app->request->post('groupId'), ':auth_role_id' => $app->request->post('roleId'), ":created_user_id" => APIAuth::getUserId()); if (RoleData::insertGroupAssignment($data)) { return $app->render(200, array('msg' => 'Role has been assigned to group.')); } else { return $app->render(400, array('msg' => 'Could not assign role to group.')); } }