55 lines
2.0 KiB
Java
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));
|
|
}
|
|
}
|