}); }); /* * create new product */ $app->post('/products', function () use($app) { disable_cache($app); // only admins can create products if_is_admin(function () use($app) { try { $params = json_decode($app->request()->getBody(), true); $product = new Product(); $product->setName($params['name']); $product->setCreatedAt(time()); if (isset($params['data'])) { $product->setData(json_encode($params['data'])); } $product->save(); ok($product->toArray()); } catch (Exception $e) { error('io-error', $e->getMessage()); } }); }); /* * change product */ $app->put('/products/:id', function ($id) use($app) { if_is_admin(function () use($app, $id) { $product = ProductQuery::create()->findPk($id); if ($product) {