package org.egl_cepgl.pm.controller;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import lombok.extern.slf4j.Slf4j;
import org.egl_cepgl.pm.dto.EmailDto;
import org.egl_cepgl.pm.dto.ProjectDto;
import org.egl_cepgl.pm.model.Email;
import org.egl_cepgl.pm.model.Project;
import org.egl_cepgl.pm.service.EmailService;
import org.egl_cepgl.pm.service.ProjectService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

import java.util.HashMap;
import java.util.Map;
import java.util.stream.Collectors;

@Slf4j
@Api("api/email")
@RestController
@RequestMapping("api/email")
public class EmailController
{
    private EmailService service;

    @Autowired
    public EmailController(EmailService service) {
        this.service = service;
    }

    @PostMapping(value = "/send",consumes= MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
    @ApiOperation(value="Add ..", notes="Cette méthode permet de..", response = Email.class)
    @ApiResponses(value= { @ApiResponse(code= 200, message = "créé/modifié"), @ApiResponse(code= 400, message = "Non valide") })
    public ResponseEntity send(@RequestBody EmailDto email)
    {
        this.service.sendEmail(email);
        return ResponseEntity.ok().build();
    }
}
