package com.prudas.app.controller;

import com.prudas.app.dto.ContactRequest;
import com.prudas.app.security.ClientIpResolver;
import com.prudas.app.service.ContactService;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/api/contact")
@RequiredArgsConstructor
public class ContactController {

    private final ContactService contactService;
    private final ClientIpResolver clientIpResolver;

    @PostMapping
    public ResponseEntity<Void> submit(@Valid @RequestBody ContactRequest request, HttpServletRequest httpRequest) {
        contactService.submit(request, clientIpResolver.resolve(httpRequest));
        return ResponseEntity.accepted().build();
    }
}
