text: /*
   * Copyright (c) 2017-2019 THL A29 Limited, a Tencent company. All Rights Reserved.
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *    http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  
  #ifndef TENCENTCLOUD_TMS_V20201229_MODEL_TEXTMODERATIONREQUEST_H_
  #define TENCENTCLOUD_TMS_V20201229_MODEL_TEXTMODERATIONREQUEST_H_
  
  #include <string>
  #include <vector>
  #include <map>
  #include <tencentcloud/core/AbstractModel.h>
  #include <tencentcloud/tms/v20201229/model/User.h>
  #include <tencentcloud/tms/v20201229/model/Device.h>
  
  
  namespace TencentCloud
  {
      namespace Tms
      {
          namespace V20201229
          {
              namespace Model
              {
                  /**
                  * TextModeration request structure.
                  */
                  class TextModerationRequest : public AbstractModel
                  {
                  public:
                      TextModerationRequest();
                      ~TextModerationRequest() = default;
                      std::string ToJsonString() const;
  
  
                      /**
                       * 获取This field indicates the text content of the object to be moderated. The text needs to be encoded in utf-8 format and encrypted with Base64. It can contain up to 10,000 characters, calculated by unicode encoding.
                       * @return Content This field indicates the text content of the object to be moderated. The text needs to be encoded in utf-8 format and encrypted with Base64. It can contain up to 10,000 characters, calculated by unicode encoding.
                       */
                      std::string GetContent() const;
  
                      /**
                       * 设置This field indicates the text content of the object to be moderated. The text needs to be encoded in utf-8 format and encrypted with Base64. It can contain up to 10,000 characters, calculated by unicode encoding.
                       * @param Content This field indicates the text content of the object to be moderated. The text needs to be encoded in utf-8 format and encrypted with Base64. It can contain up to 10,000 characters, calculated by unicode encoding.
                       */
                      void SetContent(const std::string& _content);
  
                      /**
                       * 判断参数 Content 是否已赋值
                       * @return Content 是否已赋值
                       */
                      bool ContentHasBeenSet() const;
  
                      /**
                       * 获取This field indicates the specific policy number, which is used for the API call and can be configured in the CMS console. If it's not entered (left empty), the default moderation policy is adopted. If it's entered, the moderation policies are specified for business scenarios. <br>Note: Biztype contains 3 to 32 characters, including numbers, letters and underscores only. Different Biztypes are associated with different business scenarios and moderation policies. Ensure that you use the Biztype corresponding to the policy you want to apply.
                       * @return BizType This field indicates the specific policy number, which is used for the API call and can be configured in the CMS console. If it's not entered (left empty), the default moderation policy is adopted. If it's entered, the moderation policies are specified for business scenarios. <br>Note: Biztype contains 3 to 32 characters, including numbers, letters and underscores only. Different Biztypes are associated with different business scenarios and moderation policies. Ensure that you use the Biztype corresponding to the policy you want to apply.
                       */
                      std::string GetBizType() const;
  
                      /**
                       * 设置This field indicates the specific policy number, which is used for the API call and can be configured in the CMS console. If it's not entered (left empty), the default moderation policy is adopted. If it's entered, the moderation policies are specified for business scenarios. <br>Note: Biztype contains 3 to 32 characters, including numbers, letters and underscores only. Different Biztypes are associated with different business scenarios and moderation policies. Ensure that you use the Biztype corresponding to the policy you want to apply.
                       * @param BizType This field indicates the specific policy number, which is used for the API call and can be configured in the CMS console. If it's not entered (left empty), the default moderation policy is adopted. If it's entered, the moderation policies are specified for business scenarios. <br>Note: Biztype contains 3 to 32 characters, including numbers, letters and underscores only. Different Biztypes are associated with different business scenarios and moderation policies. Ensure that you use the Biztype corresponding to the policy you want to apply.
                       */
                      void SetBizType(const std::string& _bizType);
  
                      /**
                       * 判断参数 BizType 是否已赋值
                       * @return BizType 是否已赋值
                       */
                      bool BizTypeHasBeenSet() const;
  
                      /**
                       * 获取This field indicates the data ID you assigned to the object to be moderated, which is convenient for you to identify and manage the file. <br>Value: this field can contain **up to 64 characters**, including uppercase and lowercase letters, numbers and four special symbols (_, -, @, #)
                       * @return DataId This field indicates the data ID you assigned to the object to be moderated, which is convenient for you to identify and manage the file. <br>Value: this field can contain **up to 64 characters**, including uppercase and lowercase letters, numbers and four special symbols (_, -, @, #)
                       */
                      std::string GetDataId() const;
  
                      /**
                       * 设置This field indicates the data ID you assigned to the object to be moderated, which is convenient for you to identify and manage the file. <br>Value: this field can contain **up to 64 characters**, including uppercase and lowercase letters, numbers and four special symbols (_, -, @, #)
                       * @param DataId This field indicates the data ID you assigned to the object to be moderated, which is convenient for you to identify and manage the file. <br>Value: this field can contain **up to 64 characters**, including uppercase and lowercase letters, numbers and four special symbols (_, -, @, #)
                       */
                      void SetDataId(const std::string& _dataId);
  
                      /**
                       * 判断参数 DataId 是否已赋值
                       * @return DataId 是否已赋值
                       */
                      bool DataIdHasBeenSet() const;
  
                      /**
                       * 获取This field indicates the user information related with the object to be moderated, which can be used to identify violating users at risk.
                       * @return User This field indicates the user information related with the object to be moderated, which can be used to identify violating users at risk.
                       */
                      User GetUser() const;
  
                      /**
                       * 设置This field indicates the user information related with the object to be moderated, which can be used to identify violating users at risk.
                       * @param User This field indicates the user information related with the object to be moderated, which can be used to identify violating users at risk.
                       */
                      void SetUser(const User& _user);
  
                      /**
                       * 判断参数 User 是否已赋值
                       * @return User 是否已赋值
                       */
                      bool UserHasBeenSet() const;
  
                      /**
                       * 获取This field indicates the device information related with the object to be moderated, which can be used to identify violating devices at risk.
                       * @return Device This field indicates the device information related with the object to be moderated, which can be used to identify violating devices at risk.
                       */
                      Device GetDevice() const;
  
                      /**
                       * 设置This field indicates the device information related with the object to be moderated, which can be used to identify violating devices at risk.
                       * @param Device This field indicates the device information related with the object to be moderated, which can be used to identify violating devices at risk.
                       */
                      void SetDevice(const Device& _device);
  
                      /**
                       * 判断参数 Device 是否已赋值
                       * @return Device 是否已赋值
                       */
                      bool DeviceHasBeenSet() const;
  
                  private:
  
                      /**
                       * This field indicates the text content of the object to be moderated. The text needs to be encoded in utf-8 format and encrypted with Base64. It can contain up to 10,000 characters, calculated by unicode encoding.
                       */
                      std::string m_content;
                      bool m_contentHasBeenSet;
  
                      /**
                       * This field indicates the specific policy number, which is used for the API call and can be configured in the CMS console. If it's not entered (left empty), the default moderation policy is adopted. If it's entered, the moderation policies are specified for business scenarios. <br>Note: Biztype contains 3 to 32 characters, including numbers, letters and underscores only. Different Biztypes are associated with different business scenarios and moderation policies. Ensure that you use the Biztype corresponding to the policy you want to apply.
                       */
                      std::string m_bizType;
                      bool m_bizTypeHasBeenSet;
  
                      /**
                       * This field indicates the data ID you assigned to the object to be moderated, which is convenient for you to identify and manage the file. <br>Value: this field can contain **up to 64 characters**, including uppercase and lowercase letters, numbers and four special symbols (_, -, @, #)
                       */
                      std::string m_dataId;
                      bool m_dataIdHasBeenSet;
  
                      /**
                       * This field indicates the user information related with the object to be moderated, which can be used to identify violating users at risk.
                       */
                      User m_user;
                      bool m_userHasBeenSet;
  
                      /**
                       * This field indicates the device information related with the object to be moderated, which can be used to identify violating devices at risk.
                       */
                      Device m_device;
                      bool m_deviceHasBeenSet;
  
                  };
              }
          }
      }
  }
  
  #endif // !TENCENTCLOUD_TMS_V20201229_MODEL_TEXTMODERATIONREQUEST_H_
  