package com.dji.sdk.cloudapi.control;

import com.dji.sdk.common.BaseModel;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.List;

/**
 * Pilot 云端申请飞行控制权：cloud_control_auth_request
 * @see <a href="https://developer.dji.com/doc/cloud-api-tutorial/cn/api-reference/pilot-to-cloud/mqtt/rc-pro/drc.html">Pilot DRC</a>
 */
public class CloudControlAuthRequest extends BaseModel {

    @NotNull
    private String userId;

    @NotNull
    private String userCallsign;

    @NotNull
    @Size(min = 1)
    private List<String> controlKeys;

    public CloudControlAuthRequest() {
    }

    public String getUserId() {
        return userId;
    }

    public CloudControlAuthRequest setUserId(String userId) {
        this.userId = userId;
        return this;
    }

    public String getUserCallsign() {
        return userCallsign;
    }

    public CloudControlAuthRequest setUserCallsign(String userCallsign) {
        this.userCallsign = userCallsign;
        return this;
    }

    public List<String> getControlKeys() {
        return controlKeys;
    }

    public CloudControlAuthRequest setControlKeys(List<String> controlKeys) {
        this.controlKeys = controlKeys;
        return this;
    }

    @Override
    public String toString() {
        return "CloudControlAuthRequest{" +
                "userId='" + userId + '\'' +
                ", userCallsign='" + userCallsign + '\'' +
                ", controlKeys=" + controlKeys +
                '}';
    }
}
