public function update(RESTApiRequest $request, $parent_id)
 {
     $allowed_for_update = array_fill_keys(array("parent_password"), true);
     $data = $request->getData();
     if (empty($data)) {
         throw new RESTBadRequest("Update data is empty");
     }
     $data = array_intersect_key($data, $allowed_for_update);
     if (empty($data)) {
         throw new RESTBadRequest("Update data is empty");
     }
     return \Stb::updateById($parent_id, $data);
 }
 public function update(RESTApiRequest $request, $parent_id)
 {
     $allowed_for_update = array_fill_keys(array("parent_password", "theme"), true);
     $data = $request->getData();
     if (empty($data)) {
         throw new RESTBadRequest("Update data is empty");
     }
     $data = array_intersect_key($data, $allowed_for_update);
     if (empty($data)) {
         throw new RESTBadRequest("Update data is empty");
     }
     if (!empty($data['theme'])) {
         $themes = \Middleware::getThemes();
         if (!isset($themes[$data['theme']])) {
             throw new RESTBadRequest("Theme '" . $data['theme'] . "' is not supported");
         }
     }
     return \Stb::updateById($parent_id, $data);
 }