isMethod('POST') ? Permission::RESTOCKS_CREATE : Permission::RESTOCKS_UPDATE; return $this->user()?->can($permission->value) ?? false; } /** * @return array */ public function rules(): array { return [ 'notes' => ['nullable', 'string', 'max:100'], 'stock_type' => ['required', 'string', 'in:'.implode(',', ProductStockQuality::values())], ...$this->photoRules('photos', 1), 'items' => ['required', 'array', 'min:1'], 'items.*.product_variant_id' => ['required', 'integer'], 'items.*.quantity' => ['required', 'numeric', 'decimal:0,4', 'gt:0'], 'items.*.unit_price' => ['required', 'integer', 'gt:0'], ]; } /** * @return array */ public function attributes(): array { return [ 'notes' => 'keterangan', 'stock_type' => 'tipe stok', 'items' => 'produk', 'items.*.product_variant_id' => 'varian produk', 'items.*.quantity' => 'jumlah', 'items.*.unit_price' => 'harga', ...$this->photoUploadAttributes('bukti restock', 'photos'), ]; } }