package com.pingcap.community.blogserver.vo;

import lombok.AllArgsConstructor;
import lombok.Data;
import org.springframework.http.HttpStatus;

@Data
@AllArgsConstructor
public class MessageResultVO<T> {

  public static String UNKNOWN = "UNKNOWN";

  public static String STATUE_CONFLICT = "STATUE_CONFLICT";

  public static String CONSTRAINT_CONFLICT = "CONSTRAINT_CONFLICT";

  public static String REQUEST_PARAMETER_ERROR = "REQUEST_PARAMETER_ERROR";

  public static String REQUEST_PARAMETER_TYPE_ERROR = "REQUEST_PARAMETER_TYPE_ERROR";

  public static String URL_PARAMETER_MISS_ERROR = "URL_PARAMETER_MISS_ERROR";

  public static String HTTP_METHOD_ERROR = "HTTP_METHOD_ERROR";

  public static String ACCESS_DENIED = "ACCESS_DENIED";

  private String errCode;

  private String message;

  private T details;

  public MessageResultVO(String message) {
    this.errCode = UNKNOWN;
    this.message = message;
  }

  public MessageResultVO(String errCode, String message) {
    this.errCode = errCode;
    this.message = message;
  }

  public MessageResultVO(String message, T details) {
    this.errCode = UNKNOWN;
    this.message = message;
    this.details = details;
  }

}
