package com.escolapios.fctmongo.controller;

import com.escolapios.fctmongo.entity.FamiliaProfesional;
import com.escolapios.fctmongo.service.FamiliaProfesionalService;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.List;

@RestController
@RequestMapping("/api/familias")
@CrossOrigin(origins = "*")
public class FamiliaProfesionalController {

    private final FamiliaProfesionalService service;

    public FamiliaProfesionalController(FamiliaProfesionalService service) {
        this.service = service;
    }

    @GetMapping
    public ResponseEntity<List<FamiliaProfesional>> listar() {
        return ResponseEntity.ok(service.obtenerTodas());
    }

    @GetMapping("/{id}")
    public ResponseEntity<FamiliaProfesional> obtenerPorId(@PathVariable String id) {
        return ResponseEntity.ok(service.obtenerPorId(id));
    }

    @PostMapping
    public ResponseEntity<FamiliaProfesional> crear(@RequestBody FamiliaProfesional familia) {
        return new ResponseEntity<>(service.guardar(familia), HttpStatus.CREATED);
    }

    @PutMapping("/{id}")
    public ResponseEntity<FamiliaProfesional> actualizar(@PathVariable String id, @RequestBody FamiliaProfesional familia) {
        familia.setId(id);
        return ResponseEntity.ok(service.guardar(familia));
    }

    @DeleteMapping("/{id}")
    public ResponseEntity<Void> eliminar(@PathVariable String id) {
        service.eliminar(id);
        return ResponseEntity.noContent().build();
    }
}
