package com.sonic.bear.lib.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.NotBlank;
import javax.validation.constraints.NotNull;

@Builder
@AllArgsConstructor
@NoArgsConstructor
@Data
public class ThirdUserLoginInput {

    @ApiModelProperty("三方ID")
    @NotBlank
    private String openId;

    @ApiModelProperty("三方邮箱")
    private String email;

    @ApiModelProperty("三方昵称")
    private String nickname;

    @ApiModelProperty("三方类型(DISCORD、GOOGLE、APPLE)")
    @NotNull
    private ThirdTypeEnum thirdType;

    @ApiModelProperty("客户端标识(WEB、IOS、ANDROID、ADMIN)")
    @NotBlank
    private AppClientEnum clientCode;

    @ApiModelProperty("设备ID")
    private String deviceId;

    @ApiModelProperty("IP地址")
    private String ip;

    @ApiModelProperty("UA")
    private String userAgent;

}
