package org.wfc.omada.api.msp.model;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.Objects;

/**
 * Role privilege.
 */
@ApiModel(description = "Role privilege.")
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2024-12-04T11:44:08.065+08:00[Asia/Shanghai]")

public class MspRoleVo   {
  @JsonProperty("mspDashboard")
  private Integer mspDashboard;

  @JsonProperty("mspDevice")
  private Integer mspDevice;

  @JsonProperty("mspLog")
  private Integer mspLog;

  @JsonProperty("mspLicense")
  private Integer mspLicense;

  @JsonProperty("mspLicenseBind")
  private Integer mspLicenseBind;

  @JsonProperty("mspAdopt")
  private Integer mspAdopt;

  @JsonProperty("mspAddDevices")
  private Integer mspAddDevices;

  @JsonProperty("mspAddAdoptDevice")
  private Integer mspAddAdoptDevice;

  @JsonProperty("mspUsers")
  private Integer mspUsers;

  @JsonProperty("mspRoles")
  private Integer mspRoles;

  @JsonProperty("mspSamlUsers")
  private Integer mspSamlUsers;

  @JsonProperty("mspSamlRoles")
  private Integer mspSamlRoles;

  @JsonProperty("mspSamlSsos")
  private Integer mspSamlSsos;

  @JsonProperty("mspSetting")
  private Integer mspSetting;

  @JsonProperty("mspExportData")
  private Integer mspExportData;

  @JsonProperty("mspWebhook")
  private Integer mspWebhook;

  @JsonProperty("mspSites")
  private Integer mspSites;

  public MspRoleVo mspDashboard(Integer mspDashboard) {
    this.mspDashboard = mspDashboard;
    return this;
  }

  /**
   * Msp dashboard permission. It should be a value as follows: 0:block; 1:view only; 2:modify
   * @return mspDashboard
  */
  @ApiModelProperty(value = "Msp dashboard permission. It should be a value as follows: 0:block; 1:view only; 2:modify")


  public Integer getMspDashboard() {
    return mspDashboard;
  }

  public void setMspDashboard(Integer mspDashboard) {
    this.mspDashboard = mspDashboard;
  }

  public MspRoleVo mspDevice(Integer mspDevice) {
    this.mspDevice = mspDevice;
    return this;
  }

  /**
   * Msp device. It should be a value as follows: 0:block; 1:view only; 2:modify
   * @return mspDevice
  */
  @ApiModelProperty(value = "Msp device. It should be a value as follows: 0:block; 1:view only; 2:modify")


  public Integer getMspDevice() {
    return mspDevice;
  }

  public void setMspDevice(Integer mspDevice) {
    this.mspDevice = mspDevice;
  }

  public MspRoleVo mspLog(Integer mspLog) {
    this.mspLog = mspLog;
    return this;
  }

  /**
   * Msp log. It should be a value as follows: 0:block; 1:view only; 2:modify
   * @return mspLog
  */
  @ApiModelProperty(value = "Msp log. It should be a value as follows: 0:block; 1:view only; 2:modify")


  public Integer getMspLog() {
    return mspLog;
  }

  public void setMspLog(Integer mspLog) {
    this.mspLog = mspLog;
  }

  public MspRoleVo mspLicense(Integer mspLicense) {
    this.mspLicense = mspLicense;
    return this;
  }

  /**
   * Msp license. It should be a value as follows: 0:block; 1:view only; 2:modify
   * @return mspLicense
  */
  @ApiModelProperty(value = "Msp license. It should be a value as follows: 0:block; 1:view only; 2:modify")


  public Integer getMspLicense() {
    return mspLicense;
  }

  public void setMspLicense(Integer mspLicense) {
    this.mspLicense = mspLicense;
  }

  public MspRoleVo mspLicenseBind(Integer mspLicenseBind) {
    this.mspLicenseBind = mspLicenseBind;
    return this;
  }

  /**
   * msp license bind
   * @return mspLicenseBind
  */
  @ApiModelProperty(value = "msp license bind")


  public Integer getMspLicenseBind() {
    return mspLicenseBind;
  }

  public void setMspLicenseBind(Integer mspLicenseBind) {
    this.mspLicenseBind = mspLicenseBind;
  }

  public MspRoleVo mspAdopt(Integer mspAdopt) {
    this.mspAdopt = mspAdopt;
    return this;
  }

  /**
   * Msp adopt. It should be a value as follows: 0:block; 2:access
   * @return mspAdopt
  */
  @ApiModelProperty(value = "Msp adopt. It should be a value as follows: 0:block; 2:access")


  public Integer getMspAdopt() {
    return mspAdopt;
  }

  public void setMspAdopt(Integer mspAdopt) {
    this.mspAdopt = mspAdopt;
  }

  public MspRoleVo mspAddDevices(Integer mspAddDevices) {
    this.mspAddDevices = mspAddDevices;
    return this;
  }

  /**
   * Msp add devices. It should be a value as follows: 0:block; 2:access
   * @return mspAddDevices
  */
  @ApiModelProperty(value = "Msp add devices. It should be a value as follows: 0:block; 2:access")


  public Integer getMspAddDevices() {
    return mspAddDevices;
  }

  public void setMspAddDevices(Integer mspAddDevices) {
    this.mspAddDevices = mspAddDevices;
  }

  public MspRoleVo mspAddAdoptDevice(Integer mspAddAdoptDevice) {
    this.mspAddAdoptDevice = mspAddAdoptDevice;
    return this;
  }

  /**
   * Msp add and adopt devices. It should be a value as follows: 0:block; 2:access
   * @return mspAddAdoptDevice
  */
  @ApiModelProperty(value = "Msp add and adopt devices. It should be a value as follows: 0:block; 2:access")


  public Integer getMspAddAdoptDevice() {
    return mspAddAdoptDevice;
  }

  public void setMspAddAdoptDevice(Integer mspAddAdoptDevice) {
    this.mspAddAdoptDevice = mspAddAdoptDevice;
  }

  public MspRoleVo mspUsers(Integer mspUsers) {
    this.mspUsers = mspUsers;
    return this;
  }

  /**
   * Msp users. It should be a value as follows: 0:block; 1:view only; 2:modify
   * @return mspUsers
  */
  @ApiModelProperty(value = "Msp users. It should be a value as follows: 0:block; 1:view only; 2:modify")


  public Integer getMspUsers() {
    return mspUsers;
  }

  public void setMspUsers(Integer mspUsers) {
    this.mspUsers = mspUsers;
  }

  public MspRoleVo mspRoles(Integer mspRoles) {
    this.mspRoles = mspRoles;
    return this;
  }

  /**
   * Msp roles. It should be a value as follows: 0:block; 1:view only; 2:modify
   * @return mspRoles
  */
  @ApiModelProperty(value = "Msp roles. It should be a value as follows: 0:block; 1:view only; 2:modify")


  public Integer getMspRoles() {
    return mspRoles;
  }

  public void setMspRoles(Integer mspRoles) {
    this.mspRoles = mspRoles;
  }

  public MspRoleVo mspSamlUsers(Integer mspSamlUsers) {
    this.mspSamlUsers = mspSamlUsers;
    return this;
  }

  /**
   * Saml users in msp view. It should be a value as follows: 0:block; 1:view only; 2:modify
   * @return mspSamlUsers
  */
  @ApiModelProperty(value = "Saml users in msp view. It should be a value as follows: 0:block; 1:view only; 2:modify")


  public Integer getMspSamlUsers() {
    return mspSamlUsers;
  }

  public void setMspSamlUsers(Integer mspSamlUsers) {
    this.mspSamlUsers = mspSamlUsers;
  }

  public MspRoleVo mspSamlRoles(Integer mspSamlRoles) {
    this.mspSamlRoles = mspSamlRoles;
    return this;
  }

  /**
   * Saml roles in msp view. It should be a value as follows: 0:block; 1:view only; 2:modify
   * @return mspSamlRoles
  */
  @ApiModelProperty(value = "Saml roles in msp view. It should be a value as follows: 0:block; 1:view only; 2:modify")


  public Integer getMspSamlRoles() {
    return mspSamlRoles;
  }

  public void setMspSamlRoles(Integer mspSamlRoles) {
    this.mspSamlRoles = mspSamlRoles;
  }

  public MspRoleVo mspSamlSsos(Integer mspSamlSsos) {
    this.mspSamlSsos = mspSamlSsos;
    return this;
  }

  /**
   * Saml ssos in msp view. It should be a value as follows: 0:block; 1:view only; 2:modify
   * @return mspSamlSsos
  */
  @ApiModelProperty(value = "Saml ssos in msp view. It should be a value as follows: 0:block; 1:view only; 2:modify")


  public Integer getMspSamlSsos() {
    return mspSamlSsos;
  }

  public void setMspSamlSsos(Integer mspSamlSsos) {
    this.mspSamlSsos = mspSamlSsos;
  }

  public MspRoleVo mspSetting(Integer mspSetting) {
    this.mspSetting = mspSetting;
    return this;
  }

  /**
   * Msp setting. It should be a value as follows: 0:block; 1:view only; 2:modify
   * @return mspSetting
  */
  @ApiModelProperty(value = "Msp setting. It should be a value as follows: 0:block; 1:view only; 2:modify")


  public Integer getMspSetting() {
    return mspSetting;
  }

  public void setMspSetting(Integer mspSetting) {
    this.mspSetting = mspSetting;
  }

  public MspRoleVo mspExportData(Integer mspExportData) {
    this.mspExportData = mspExportData;
    return this;
  }

  /**
   * Export data in msp view. It should be a value as follows: 0:block; 2:access
   * @return mspExportData
  */
  @ApiModelProperty(value = "Export data in msp view. It should be a value as follows: 0:block; 2:access")


  public Integer getMspExportData() {
    return mspExportData;
  }

  public void setMspExportData(Integer mspExportData) {
    this.mspExportData = mspExportData;
  }

  public MspRoleVo mspWebhook(Integer mspWebhook) {
    this.mspWebhook = mspWebhook;
    return this;
  }

  /**
   * Msp webhook. It should be a value as follows: 0:block; 1:view only; 2:modify
   * @return mspWebhook
  */
  @ApiModelProperty(value = "Msp webhook. It should be a value as follows: 0:block; 1:view only; 2:modify")


  public Integer getMspWebhook() {
    return mspWebhook;
  }

  public void setMspWebhook(Integer mspWebhook) {
    this.mspWebhook = mspWebhook;
  }

  public MspRoleVo mspSites(Integer mspSites) {
    this.mspSites = mspSites;
    return this;
  }

  /**
   * Msp sites. It should be a value as follows: 0:block; 2:access
   * @return mspSites
  */
  @ApiModelProperty(value = "Msp sites. It should be a value as follows: 0:block; 2:access")


  public Integer getMspSites() {
    return mspSites;
  }

  public void setMspSites(Integer mspSites) {
    this.mspSites = mspSites;
  }


  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    MspRoleVo mspRoleVo = (MspRoleVo) o;
    return Objects.equals(this.mspDashboard, mspRoleVo.mspDashboard) &&
        Objects.equals(this.mspDevice, mspRoleVo.mspDevice) &&
        Objects.equals(this.mspLog, mspRoleVo.mspLog) &&
        Objects.equals(this.mspLicense, mspRoleVo.mspLicense) &&
        Objects.equals(this.mspLicenseBind, mspRoleVo.mspLicenseBind) &&
        Objects.equals(this.mspAdopt, mspRoleVo.mspAdopt) &&
        Objects.equals(this.mspAddDevices, mspRoleVo.mspAddDevices) &&
        Objects.equals(this.mspAddAdoptDevice, mspRoleVo.mspAddAdoptDevice) &&
        Objects.equals(this.mspUsers, mspRoleVo.mspUsers) &&
        Objects.equals(this.mspRoles, mspRoleVo.mspRoles) &&
        Objects.equals(this.mspSamlUsers, mspRoleVo.mspSamlUsers) &&
        Objects.equals(this.mspSamlRoles, mspRoleVo.mspSamlRoles) &&
        Objects.equals(this.mspSamlSsos, mspRoleVo.mspSamlSsos) &&
        Objects.equals(this.mspSetting, mspRoleVo.mspSetting) &&
        Objects.equals(this.mspExportData, mspRoleVo.mspExportData) &&
        Objects.equals(this.mspWebhook, mspRoleVo.mspWebhook) &&
        Objects.equals(this.mspSites, mspRoleVo.mspSites);
  }

  @Override
  public int hashCode() {
    return Objects.hash(mspDashboard, mspDevice, mspLog, mspLicense, mspLicenseBind, mspAdopt, mspAddDevices, mspAddAdoptDevice, mspUsers, mspRoles, mspSamlUsers, mspSamlRoles, mspSamlSsos, mspSetting, mspExportData, mspWebhook, mspSites);
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class MspRoleVo {\n");
    
    sb.append("    mspDashboard: ").append(toIndentedString(mspDashboard)).append("\n");
    sb.append("    mspDevice: ").append(toIndentedString(mspDevice)).append("\n");
    sb.append("    mspLog: ").append(toIndentedString(mspLog)).append("\n");
    sb.append("    mspLicense: ").append(toIndentedString(mspLicense)).append("\n");
    sb.append("    mspLicenseBind: ").append(toIndentedString(mspLicenseBind)).append("\n");
    sb.append("    mspAdopt: ").append(toIndentedString(mspAdopt)).append("\n");
    sb.append("    mspAddDevices: ").append(toIndentedString(mspAddDevices)).append("\n");
    sb.append("    mspAddAdoptDevice: ").append(toIndentedString(mspAddAdoptDevice)).append("\n");
    sb.append("    mspUsers: ").append(toIndentedString(mspUsers)).append("\n");
    sb.append("    mspRoles: ").append(toIndentedString(mspRoles)).append("\n");
    sb.append("    mspSamlUsers: ").append(toIndentedString(mspSamlUsers)).append("\n");
    sb.append("    mspSamlRoles: ").append(toIndentedString(mspSamlRoles)).append("\n");
    sb.append("    mspSamlSsos: ").append(toIndentedString(mspSamlSsos)).append("\n");
    sb.append("    mspSetting: ").append(toIndentedString(mspSetting)).append("\n");
    sb.append("    mspExportData: ").append(toIndentedString(mspExportData)).append("\n");
    sb.append("    mspWebhook: ").append(toIndentedString(mspWebhook)).append("\n");
    sb.append("    mspSites: ").append(toIndentedString(mspSites)).append("\n");
    sb.append("}");
    return sb.toString();
  }

  /**
   * Convert the given object to string with each line indented by 4 spaces
   * (except the first line).
   */
  private String toIndentedString(Object o) {
    if (o == null) {
      return "null";
    }
    return o.toString().replace("\n", "\n    ");
  }
}

