package com.yeejoin.equipmanage.common.utils;

import com.yeejoin.equipmanage.common.constant.Constant;
import org.springframework.http.HttpStatus;
import org.typroject.tyboot.core.restful.utils.ResponseModel;

public class CommonResponseUtil
{
	private CommonResponseUtil() {
	}

	public static ResponseModel success()
	{	
		ResponseModel res = new ResponseModel<>();
        res.setDevMessage(Constant.RESULT_SUCCESS);
        res.setStatus(HttpStatus.OK.value());
		return res;
	}

	public static ResponseModel success(Object obj)
	{	
		ResponseModel<Object> res = new ResponseModel<>();
        res.setResult(obj);
        res.setDevMessage(Constant.RESULT_SUCCESS);
        res.setStatus(HttpStatus.OK.value());
		return res;
	}

	public static ResponseModel success(Object obj, String message)
	{	
		ResponseModel res = new ResponseModel<>();
        res.setResult(obj);
        res.setDevMessage(message);
        res.setStatus(HttpStatus.OK.value());
		return res;
	}

	public static ResponseModel failure()
	{	
		ResponseModel res = new ResponseModel<>();
        res.setDevMessage(Constant.RESULT_FAILURE);
        res.setStatus(HttpStatus.INTERNAL_SERVER_ERROR.value());
		return res;
	}

	public static ResponseModel failure(String message)
	{
		ResponseModel res = new ResponseModel<>();
        res.setDevMessage(Constant.RESULT_FAILURE);
        res.setMessage(message);
        res.setStatus(HttpStatus.INTERNAL_SERVER_ERROR.value());
		return res;
	}

	public static ResponseModel failure(Object obj, String message)
	{
		ResponseModel res = new ResponseModel<>();
        res.setResult(obj);
		res.setMessage(message);
        res.setDevMessage(Constant.RESULT_FAILURE);
        res.setStatus(HttpStatus.INTERNAL_SERVER_ERROR.value());
		return res;
	}
}
