package online.ruemu.franifer.payment.controller; import jakarta.validation.*; import online.ruemu.franifer.payment.service.*; import online.ruemu.franifer.payment.transaction.*; import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("/api") @CrossOrigin(origins="*") public class TransactionController{private final TransactionService s; public TransactionController(TransactionService s){this.s=s;} @GetMapping("/dashboard") Object d(){return s.dashboard();} @GetMapping("/transactions") Object l(){return s.list();} @PostMapping("/transactions") Object c(@RequestHeader("Idempotency-Key")String k,@Valid @RequestBody CreateTransactionRequest q){return s.create(k,q);} @PatchMapping("/transactions/{ref}/status") Object u(@PathVariable String ref,@Valid @RequestBody UpdateStatusRequest q){return s.updateStatus(ref,q.status());} @PostMapping("/transactions/{ref}/process") Object p(@PathVariable String ref){return s.process(ref);}}