diff --git a/app/Http/Controllers/ProductApiController.php b/app/Http/Controllers/ProductApiController.php index 7aef42393b8d..87bf89403b8a 100644 --- a/app/Http/Controllers/ProductApiController.php +++ b/app/Http/Controllers/ProductApiController.php @@ -1,5 +1,6 @@ productService = $productService; + $this->productRepo = $productRepo; } public function index() @@ -52,14 +56,25 @@ class ProductApiController extends BaseAPIController return $this->save(); } - public function update($publicId) + public function update(\Illuminate\Http\Request $request, $publicId) { - return $this->save($publicId); + + if ($request->action == ACTION_ARCHIVE) { + $product = Product::scope($publicId)->withTrashed()->firstOrFail(); + $this->productRepo->archive($product); + + $transformer = new ProductTransformer(\Auth::user()->account, Input::get('serializer')); + $data = $this->createItem($product, $transformer, 'products'); + + return $this->response($data); + } + else + return $this->save($publicId); } public function destroy($publicId) { - //stub + //stub } private function save($productPublicId = false) diff --git a/app/Ninja/Transformers/ProductTransformer.php b/app/Ninja/Transformers/ProductTransformer.php index 76bf436066aa..34fbcf7f18ff 100644 --- a/app/Ninja/Transformers/ProductTransformer.php +++ b/app/Ninja/Transformers/ProductTransformer.php @@ -16,6 +16,7 @@ class ProductTransformer extends EntityTransformer 'account_key' =>$this->account->account_key, 'default_tax_rate_id' =>$product->default_tax_rate_id, 'updated_at' =>$this->getTimestamp($product->updated_at), + 'archived_at' => $this->getTimestamp($product->deleted_at), ]; } } \ No newline at end of file