package com.saas.tenant.controller;

import com.saas.tenant.entity.TenantErrorLog;
import com.saas.tenant.service.TenantErrorLogService;
import lombok.RequiredArgsConstructor;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
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/tenant/logs/error")
@RequiredArgsConstructor
public class TenantErrorLogController {

    private final TenantErrorLogService errorLogService;

    @PostMapping
    @PreAuthorize("isAuthenticated()")
    public ResponseEntity<Void> reportFrontendError(@RequestBody TenantErrorLog errorLog) {
        // Enforce source as FRONTEND for security/clarity
        errorLog.setSource("FRONTEND");
        errorLogService.logError(errorLog);
        return ResponseEntity.ok().build();
    }
}
