Files
goldenChart/backend/src/main/java/com/goldenchart/controller/TradeSignalController.java
T
2026-05-31 14:05:46 +09:00

55 lines
2.0 KiB
Java

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<TradeSignalDto>> list(
@RequestParam(required = false) String market,
@RequestHeader Map<String, String> headers) {
long uid = TradingControllerSupport.requireRegisteredUser(headers);
List<TradeSignalDto> result = (market != null && !market.isBlank())
? service.listByMarket(uid, null, market)
: service.list(uid, null);
return ResponseEntity.ok(result);
}
@DeleteMapping("/{id}")
public ResponseEntity<Void> deleteOne(
@PathVariable Long id,
@RequestHeader Map<String, String> headers) {
long uid = TradingControllerSupport.requireRegisteredUser(headers);
service.deleteOne(id, uid, null);
return ResponseEntity.noContent().build();
}
@DeleteMapping
public ResponseEntity<Map<String, Integer>> deleteAll(@RequestHeader Map<String, String> headers) {
long uid = TradingControllerSupport.requireRegisteredUser(headers);
int deleted = service.deleteAll(uid, null);
return ResponseEntity.ok(Map.of("deleted", deleted));
}
@PostMapping("/delete-batch")
public ResponseEntity<Map<String, Integer>> deleteBatch(
@RequestBody List<Long> ids,
@RequestHeader Map<String, String> headers) {
long uid = TradingControllerSupport.requireRegisteredUser(headers);
int deleted = service.deleteBatch(ids, uid, null);
return ResponseEntity.ok(Map.of("deleted", deleted));
}
}