package com.sonic.frog.domain.input;

import com.sonic.bear.lib.enums.ThirdTypeEnum;
import com.sonic.common.auth.domains.AppClientEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

/**
 * @Author code
 * @Description 登录或注册验证的入参
 * @Version 1.0
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ThirdLoginOrRegisterInput {

    @NotEmpty
    @ApiModelProperty(value = "三方授权码[discord、twitch传的是code码，中间需要根据这个code码来获取授权token]", required = true)
    private String thirdToken;

    @NotNull
    @ApiModelProperty(value = "第三方账号类型, DISCORD、GOOGLE、APPLE", required = true)
    private ThirdTypeEnum thirdType;

    @NotNull
    @ApiModelProperty(value = "登陆端(WEB、IOS、ANDROID)", required = true)
    private AppClientEnum appClient;

    @NotEmpty
    @ApiModelProperty(value = "手机设备唯一码", required = true)
    private String deviceCode;

    @ApiModelProperty(value = "【内部】设置及使用")
    private String ip;

    @ApiModelProperty(value = "【内部】设置及使用")
    private String userAgent;


}
