Commit: 690c1f6

Commit Details

SHA690c1f6ce426c62c29e87ac132dda0f8125192ff
Tree5a67fd55b56735ab4e469c7d06c1c73c4c2b4c20
Author<f69e50@finnacloud.com> 1766368110 +0300
Committer<f69e50@finnacloud.com> 1766368110 +0300
Message
initialize backend structure with controllers, DTOs, and configuration files
GPG Signature
-----BEGIN PGP SIGNATURE-----

iQJSBAABCAA8FiEEWJb139mJI+vZ81KkoAIVSUsXI0oFAmlIo24eHHNvcGhpYS5l
cmFzbGFuQGZpbm5hY2xvdWQuY29tAAoJEKACFUlLFyNKwXYP/RvWx8mxXoZbKEVA
wQFC9UnzcoL/lElB5QMr9opKzRv4uGgFkKMDhbSnqE6NoET5H5VanOFQ9u5a4Khi
9PBTLIEBjbEqA1trC+aTDk3EplVtQYYbSn19CdMSCW7FXJNSg0IiyWKA44iH8Ts0
Xcxh59m6WcwvRDhxQDy6hCXqUa9ISNNk75KRnJS/qRGIEy94DwUYxVfCJpAfzyVu
VmdinE6kZM2GDj8MBTPQTzi6hMf/e9CcAg51tf4oNtd9tnW8QKpTsPsFy434VUDh
Vxtv/oAJ5tuTIprs2BSnyZ6Kb8RDwDdmQyuKjZMUIwZTH/TCE85SZFf5sa5tpYOH
2KekT52ffZgKw/DUtpNosW6qeHgCJlSvwY7BW7M90X5xJuahrKS04lEDBO04cIRn
bg0ayPFTp7Idhl1OuTRhWS6e344g44mJ/9sZK1sXd/0U8OKBbytk35AnCIPCEdSX
8vgjqBR9Wt3A/Kel5j2VcUFDhrAR72a9lJiQHNBicvcVu9Nd41vDnEwUDdNQv6Uc
6omEz3pkVkq+89/eW1KQM8LvrIuGQ/wIUgykvCNSCQ5oba2fjtAXzI+SmxpeCWOz
jTKZOEJyhIQE7uvaUj6/0D2JwlxbMG27fcUN7N3aKv6mSVP7hYnHaUbRLQ+f8/xU
VfU776FkUXS+4CfSooHtu+ioul9O
=ZuqE
-----END PGP SIGNATURE-----

✓ Verified

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

1 package com.paymentlink.controller.api;
2
3 import com.paymentlink.service.StripePaymentService;
4 import jakarta.servlet.http.HttpServletRequest;
5 import org.springframework.http.ResponseEntity;
6 import org.springframework.security.web.csrf.CsrfToken;
7 import org.springframework.web.bind.annotation.GetMapping;
8 import org.springframework.web.bind.annotation.RequestMapping;
9 import org.springframework.web.bind.annotation.RestController;
10
11 import java.util.HashMap;
12 import java.util.Map;
13
14 @RestController
15 @RequestMapping("/api")
16 public class ConfigApiController {
17
18 private final StripePaymentService stripePaymentService;
19
20 public ConfigApiController(StripePaymentService stripePaymentService) {
21 this.stripePaymentService = stripePaymentService;
22 }
23
24 /**
25 * GET /api/csrf-token - Get CSRF token
26 */
27 @GetMapping("/csrf-token")
28 public ResponseEntity<Map<String, String>> getCsrfToken(HttpServletRequest request) {
29 Map<String, String> response = new HashMap<>();
30 CsrfToken csrfToken = (CsrfToken) request.getAttribute(CsrfToken.class.getName());
31 // CSRF is disabled, return a dummy token for compatibility
32 response.put("token", csrfToken != null ? csrfToken.getToken() : "csrf-disabled");
33 return ResponseEntity.ok(response);
34 }
35
36 /**
37 * GET /api/config/stripe-key - Get Stripe publishable key
38 */
39 @GetMapping("/config/stripe-key")
40 public ResponseEntity<Map<String, Object>> getStripeKey() {
41 Map<String, Object> response = new HashMap<>();
42 response.put("success", true);
43 response.put("publishableKey", stripePaymentService.getPublishableKey());
44 return ResponseEntity.ok(response);
45 }
46 }
47
48