package com.tashow.cloud.systemapi.api.social.dto;

import com.tashow.cloud.common.enums.UserTypeEnum;
import com.tashow.cloud.common.validation.InEnum;
import com.tashow.cloud.systemapi.enums.social.SocialTypeEnum;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/** RPC 服务 - 取消绑定社交用户 Request DTO */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class SocialUserBindReqDTO {

  /** 用户编号" */
  @NotNull(message = "用户编号不能为空")
  private Long userId;

  /** 用户类型" */
  @InEnum(UserTypeEnum.class)
  @NotNull(message = "用户类型不能为空")
  private Integer userType;

  /** 社交平台的类型" */
  @InEnum(SocialTypeEnum.class)
  @NotNull(message = "社交平台的类型不能为空")
  private Integer socialType;

  /** 授权码" */
  @NotEmpty(message = "授权码不能为空")
  private String code;

  /** state" */
  @NotEmpty(message = "state 不能为空")
  private String state;
}
