package com.escolapios.fctmongo.controller;

import com.escolapios.fctmongo.entity.ContactoEmpresa;
import com.escolapios.fctmongo.service.ContactoEmpresaService;
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@CrossOrigin(origins = "*") // O tu puerto del frontend
@RestController
@RequestMapping("/api/contactos")
@RequiredArgsConstructor
public class ContactoEmpresaController {

    private final ContactoEmpresaService service;

    @GetMapping
    public List<ContactoEmpresa> getAll() {
        return service.findAll();
    }

    @GetMapping("/{id}")
    public ContactoEmpresa getById(@PathVariable String id) {
        return service.findById(id);
    }

    @GetMapping("/empresa/{empresaId}")
    public List<ContactoEmpresa> getByEmpresa(
            @PathVariable String empresaId) {

        return service.findByEmpresa(empresaId);
    }

    @PostMapping
    @ResponseStatus(HttpStatus.CREATED)
    public ContactoEmpresa create(
            @RequestBody ContactoEmpresa contacto) {

        return service.save(contacto);
    }

    @PutMapping("/{id}")
    public ContactoEmpresa update(
            @PathVariable String id,
            @RequestBody ContactoEmpresa contacto) {

        return service.update(id, contacto);
    }

    @DeleteMapping("/{id}")
    @ResponseStatus(HttpStatus.NO_CONTENT)
    public void delete(@PathVariable String id) {
        service.delete(id);
    }
}