package com.goldenchart.controller; import com.goldenchart.dto.TradeSignalDto; import com.goldenchart.service.TradeSignalService; import lombok.RequiredArgsConstructor; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; @RestController @RequestMapping("/trade-signals") @RequiredArgsConstructor public class TradeSignalController { private final TradeSignalService service; @GetMapping public ResponseEntity> list( @RequestParam(required = false) String market, @RequestHeader Map headers) { long uid = TradingControllerSupport.requireRegisteredUser(headers); List result = (market != null && !market.isBlank()) ? service.listByMarket(uid, null, market) : service.list(uid, null); return ResponseEntity.ok(result); } @DeleteMapping("/{id}") public ResponseEntity deleteOne( @PathVariable Long id, @RequestHeader Map headers) { long uid = TradingControllerSupport.requireRegisteredUser(headers); service.deleteOne(id, uid, null); return ResponseEntity.noContent().build(); } @DeleteMapping public ResponseEntity> deleteAll(@RequestHeader Map headers) { long uid = TradingControllerSupport.requireRegisteredUser(headers); int deleted = service.deleteAll(uid, null); return ResponseEntity.ok(Map.of("deleted", deleted)); } @PostMapping("/delete-batch") public ResponseEntity> deleteBatch( @RequestBody List ids, @RequestHeader Map headers) { long uid = TradingControllerSupport.requireRegisteredUser(headers); int deleted = service.deleteBatch(ids, uid, null); return ResponseEntity.ok(Map.of("deleted", deleted)); } }