package com.bytesw.bytebot.controller.sso;

import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.security.Principal;

/**
 * @author Marco A. Ortíz García
 * @version 2019-03-16.
 * <p>
 * <p>
 * Copyright (c) 2018 Byte, S.A. Todos los derechos reservados.
 * <p>
 * Este software constituye información confidencial y propietaria de Byte, S.A.
 * ("Información Confidencial"). Usted no debe develar dicha Información
 * Confidencial y debe usarla de acuerdo con los términos de aceptación de
 * licencia de uso que firmó con Byte.
 */
@Controller
@ConditionalOnProperty(
        name="application.services.security",
        havingValue = "oauth2sso",
        matchIfMissing = false)
@Log4j2
public class LogoutController {

    @Value("${application.services.security.token-key:#{null}}")
    private String tokenKey;

    @RequestMapping(value = {"/goodbye"}, method = RequestMethod.GET)
    public final String goodbye(HttpServletRequest request, HttpServletResponse response, Principal principal, Model model) {
        model.addAttribute("token", tokenKey != null);
        return "goodbye";
    }
}
