Skip to content

Commit 1020f79

Browse files
committed
implemented update and delete feature
1 parent 6e376f2 commit 1020f79

3 files changed

Lines changed: 32 additions & 5 deletions

File tree

Projects/springeccom/src/main/java/com/dj/springeccom/Controller/ProductController.java

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import org.springframework.http.HttpStatus;
99
import org.springframework.http.ResponseEntity;
1010
import org.springframework.web.bind.annotation.CrossOrigin;
11+
import org.springframework.web.bind.annotation.DeleteMapping;
1112
import org.springframework.web.bind.annotation.GetMapping;
1213
import org.springframework.web.bind.annotation.PathVariable;
1314
import org.springframework.web.bind.annotation.RequestMapping;
@@ -18,11 +19,12 @@
1819
import com.dj.springeccom.Model.Product;
1920
import com.dj.springeccom.Service.ProductService;
2021
import org.springframework.web.bind.annotation.PostMapping;
22+
import org.springframework.web.bind.annotation.PutMapping;
2123

2224

2325
@RestController
2426
@RequestMapping("/api")
25-
@CrossOrigin(origins = "https://special-sniffle-q7wjwgg9pw4rf99wj-5173.app.github.dev/")
27+
@CrossOrigin(origins = "https://solid-pancake-q7wjwgg94vrvhx69-5173.app.github.dev/")
2628
public class ProductController {
2729

2830
@Autowired
@@ -47,7 +49,7 @@ public ResponseEntity<byte[]> getImageByProductId(@PathVariable int productId){
4749
public ResponseEntity<?> addProduct(@RequestPart Product product,@RequestPart MultipartFile imageFile) {
4850
Product savedProduct = null;
4951
try{
50-
savedProduct = service.addProduct(product,imageFile);
52+
savedProduct = service.addOrUpdateProduct(product,imageFile);
5153
return new ResponseEntity<>(savedProduct,HttpStatus.CREATED);
5254
} catch (IOException e){
5355
return new ResponseEntity<>(e.getMessage(),HttpStatus.INTERNAL_SERVER_ERROR);
@@ -61,5 +63,26 @@ public ResponseEntity<Product> getProductById(@PathVariable int id) {
6163
.orElseGet(() -> ResponseEntity.status(HttpStatus.NOT_FOUND).build());
6264
}
6365

66+
@PutMapping("/product/{id}")
67+
public ResponseEntity<String> updateProdcut(@PathVariable int id, @RequestPart Product product,@RequestPart MultipartFile imageFile){
68+
Product updatedProduct = null;
69+
try{
70+
updatedProduct = service.addOrUpdateProduct(product,imageFile);
71+
return new ResponseEntity<>("Updated",HttpStatus.OK);
72+
}catch(IOException e){
73+
return new ResponseEntity<>(e.getMessage(),HttpStatus.BAD_REQUEST);
74+
}
75+
}
76+
77+
@DeleteMapping("/product/{id}")
78+
public ResponseEntity<String> deleteProduct(@PathVariable int id){
79+
Optional<Product> product = service.getProductById(id);
80+
if(product.isPresent()){
81+
service.deleteProduct(id);
82+
return new ResponseEntity<>("Deleted",HttpStatus.OK);
83+
}
84+
return new ResponseEntity<>("Product Not Found",HttpStatus.NOT_FOUND);
85+
}
86+
6487

6588
}

Projects/springeccom/src/main/java/com/dj/springeccom/Model/Product.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
import org.springframework.stereotype.Component;
77

8-
import com.fasterxml.jackson.annotation.JsonFormat;
8+
// import com.fasterxml.jackson.annotation.JsonFormat;
99

1010
import jakarta.persistence.Entity;
1111
import jakarta.persistence.GeneratedValue;
@@ -31,7 +31,7 @@ public class Product {
3131
private String brand;
3232
private BigDecimal price;
3333
private String category;
34-
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MM-YYYY")
34+
// @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MM-YYYY")
3535
private Date releaseDate;
3636
private boolean productAvailable;
3737
private Integer stockQuantity;

Projects/springeccom/src/main/java/com/dj/springeccom/Service/ProductService.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public List<Product> getAllProducts(){
2222
return repository.findAll();
2323
}
2424

25-
public Product addProduct(Product product,MultipartFile image) throws IOException{
25+
public Product addOrUpdateProduct(Product product,MultipartFile image) throws IOException{
2626

2727
product.setImageName(image.getOriginalFilename());
2828
product.setImageType(image.getContentType());
@@ -34,4 +34,8 @@ public Product addProduct(Product product,MultipartFile image) throws IOExceptio
3434
public Optional<Product> getProductById(int productId){
3535
return repository.findById(productId);
3636
}
37+
38+
public void deleteProduct(int id){
39+
repository.deleteById(id);
40+
}
3741
}

0 commit comments

Comments
 (0)