package com.style24.admin.biz.web;

import javax.servlet.http.HttpSession;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;

import com.style24.admin.support.controller.TsaBaseController;
import com.style24.admin.support.security.session.TsaSession;

import lombok.extern.slf4j.Slf4j;

/**
 * Index Controller
 * 
 * @author gagamel
 * @since 2020. 10. 5
 */
@Controller
@Slf4j
public class TsaIndexController extends TsaBaseController {

	/**
	 * 첫 페이지. 로그인 된 상태이면 대쉬보드 화면으로 아니면 로그인 페이지로
	 * @param error - 로그인 오류 정보
	 * @param session - HttpSession
	 * @return
	 * @author gagamel
	 * @since 2020. 10. 5
	 */
	@GetMapping({"/", "/index"})
	public ModelAndView index(@RequestParam(value = "error", required = false) boolean isError, HttpSession session) {
		ModelAndView mav = new ModelAndView();

		if (TsaSession.isLogin()) {
			mav.setViewName("dashboard");
			return mav;
		}

		log.info("isError: {}", isError);
		if (isError) {
			Exception e = (Exception)session.getAttribute("SPRING_SECURITY_LAST_EXCEPTION");
			log.info("e.getMessage(): {}", e.getMessage());
			mav.addObject("error", e.getMessage());
		}

		// 로그인 페이지로
		mav.setViewName("signin");

		return mav;
	}

}
