Commit: e6d1548

Commit Details

SHAe6d1548c463d8763fb5547ff07a35c521f15c296
Tree2d2b62527861022ccf13eb205ea2bf7c0e4013fd
Author<f69e50@finnacloud.com> 1766442769 +0300
Committer<f69e50@finnacloud.com> 1766442769 +0300
Message
add initial test workflow file
GPG Signature
-----BEGIN PGP SIGNATURE-----

iQJSBAABCAA8FiEEWJb139mJI+vZ81KkoAIVSUsXI0oFAmlJxxEeHHNvcGhpYS5l
cmFzbGFuQGZpbm5hY2xvdWQuY29tAAoJEKACFUlLFyNKb7YP/2QctdaPuHu4+vFn
fh0Opgqt1brKy9JQxV9JZ9tF5XA+rWVi6pyIZK4lywX+a4er+h29sQY7TEHZt9Xn
meAyRUhPbRPmIpRJMMCgstfILUpjNMkMcPE80kJfpp6+ZmLtO8vC4TnW3ATCK1tv
XISV00T4ajCAhZUmYTveNsvSiMMv/Tq4sF9Is4ix+JN7O/lSLseRtuUE1Vv7T7nY
citxLPwR42Eb/1CYhy0JbRYXP816cbe6dGeDeiDZp7EHKx5D8VAqULKRsAL19tSX
hup8N7owBXieuzNQ4RyaDfDJAfNoN3o9pFeD6vQPq8s7x6AloN625g58p0ssxfK+
CGhR0YHR7atR0pEens22p7g2dVJ7NsrKqDBE3TTeUOpfXfjOwqpVh1Bn/v7a2Vg9
o9mhIClSOLfYv2SXJ06+fn8l6oc70nLJkBfcTevmeF//Z9yGH7TXZNUcedxuBbFg
xfEHeJibTamiE3Z1SfHW1YLwe7QqbBogCIxq4RrpYtN15a65vT5HxyLHDJDGG20V
7z34QJhKXIni/AIGscZqx2kE/C42KSD2fBvqvA4YnPwEUQyMvnSSDSKuJ6flXPTv
RsPZMdNsWWWyJ8P/NTo0Y/PPwA/28p9pX064H2lHFNvSEzUYJdKyQXNV3pGWYAvc
PR8Z+nHfbK/EF5jOVJ8+erXzzXUN
=COmA
-----END PGP SIGNATURE-----

✓ Verified

File: src/main/java/com/paymentlink/controller/api/CountryApiController.java

1 package com.paymentlink.controller.api;
2
3 import com.paymentlink.service.TaxService;
4 import org.springframework.http.HttpStatus;
5 import org.springframework.http.ResponseEntity;
6 import org.springframework.web.bind.annotation.GetMapping;
7 import org.springframework.web.bind.annotation.RequestMapping;
8 import org.springframework.web.bind.annotation.RestController;
9
10 import java.util.*;
11 import java.util.stream.Collectors;
12
13 @RestController
14 @RequestMapping("/api/countries")
15 public class CountryApiController {
16
17 private final TaxService taxService;
18
19 public CountryApiController(TaxService taxService) {
20 this.taxService = taxService;
21 }
22
23 /**
24 * GET /api/countries - Get supported countries
25 */
26 @GetMapping
27 public ResponseEntity<Map<String, Object>> getCountries() {
28 try {
29 Map<String, String> countriesMap = taxService.getSupportedCountries();
30
31 // Convert map to array of objects with code and name
32 List<Map<String, String>> countries = countriesMap.entrySet().stream()
33 .map(entry -> {
34 Map<String, String> country = new HashMap<>();
35 country.put("code", entry.getKey());
36 country.put("name", entry.getValue());
37 return country;
38 })
39 .sorted(Comparator.comparing(c -> c.get("name"))) // Sort by name
40 .collect(Collectors.toList());
41
42 Map<String, Object> response = new HashMap<>();
43 response.put("success", true);
44 response.put("countries", countries);
45 return ResponseEntity.ok(response);
46
47 } catch (Exception e) {
48 Map<String, Object> error = new HashMap<>();
49 error.put("success", false);
50 error.put("error", e.getMessage());
51 return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(error);
52 }
53 }
54 }
55
56