/** * Create product action * * @param Request $request * @return Response */ public function store(Request $request) { // check authenticate if (!$this->checkAuth()) { return response()->json(null, 401); } // check permission if (!$this->checkPermission('create-product')) { return response()->json(null, 403); } $validator = Validator::make($request->all(), ['title' => 'required', 'alias' => 'regex:/^[a-z0-9\\-]+/|unique:shop_products', 'image' => 'string', 'description' => 'string', 'price' => 'numeric', 'galleries' => 'array']); if ($validator->fails()) { return response()->json(arrayView('errors/validation', ['errors' => $validator->errors()]), 400); } $product = Product::create($request->all()); return response()->json(arrayView('product/read', ['product' => $product]), 201); }