text: /**
   * Pipedrive API v1
   * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
   *
   * The version of the OpenAPI document: 1.0.0
   * 
   *
   * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
   * https://openapi-generator.tech
   * Do not edit the class manually.
   *
   */
  
  import ApiClient from '../ApiClient';
  import NumberBoolean from './NumberBoolean';
  
  /**
   * The BaseUser model module.
   * @module model/BaseUser
   * @version 1.0.0
   */
  class BaseUser {
      /**
       * Constructs a new <code>BaseUser</code>.
       * @alias module:model/BaseUser
       */
      constructor() { 
          
          BaseUser.initialize(this);
      }
  
      /**
       * Initializes the fields of this object.
       * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins).
       * Only for internal use.
       */
      static initialize(obj) { 
      }
  
      /**
       * Constructs a <code>BaseUser</code> from a plain JavaScript object, optionally creating a new instance.
       * Copies all relevant properties from <code>data</code> to <code>obj</code> if supplied or a new instance if not.
       * @param {Object} data The plain JavaScript object bearing properties of interest.
       * @param {module:model/BaseUser} obj Optional instance to populate.
       * @return {module:model/BaseUser} The populated <code>BaseUser</code> instance.
       */
      static constructFromObject(data, obj) {
          if (data) {
              obj = obj || new BaseUser();
  
              if (data.hasOwnProperty('id')) {
                  obj['id'] = ApiClient.convertToType(data['id'], 'Number');
  
                  delete data['id'];
              }
              if (data.hasOwnProperty('name')) {
                  obj['name'] = ApiClient.convertToType(data['name'], 'String');
  
                  delete data['name'];
              }
              if (data.hasOwnProperty('default_currency')) {
                  obj['default_currency'] = ApiClient.convertToType(data['default_currency'], 'String');
  
                  delete data['default_currency'];
              }
              if (data.hasOwnProperty('locale')) {
                  obj['locale'] = ApiClient.convertToType(data['locale'], 'String');
  
                  delete data['locale'];
              }
              if (data.hasOwnProperty('lang')) {
                  obj['lang'] = ApiClient.convertToType(data['lang'], 'Number');
  
                  delete data['lang'];
              }
              if (data.hasOwnProperty('email')) {
                  obj['email'] = ApiClient.convertToType(data['email'], 'String');
  
                  delete data['email'];
              }
              if (data.hasOwnProperty('phone')) {
                  obj['phone'] = ApiClient.convertToType(data['phone'], 'String');
  
                  delete data['phone'];
              }
              if (data.hasOwnProperty('activated')) {
                  obj['activated'] = ApiClient.convertToType(data['activated'], 'Boolean');
  
                  delete data['activated'];
              }
              if (data.hasOwnProperty('last_login')) {
                  obj['last_login'] = ApiClient.convertToType(data['last_login'], 'String');
  
                  delete data['last_login'];
              }
              if (data.hasOwnProperty('created')) {
                  obj['created'] = ApiClient.convertToType(data['created'], 'String');
  
                  delete data['created'];
              }
              if (data.hasOwnProperty('modified')) {
                  obj['modified'] = ApiClient.convertToType(data['modified'], 'String');
  
                  delete data['modified'];
              }
              if (data.hasOwnProperty('signup_flow_variation')) {
                  obj['signup_flow_variation'] = ApiClient.convertToType(data['signup_flow_variation'], 'String');
  
                  delete data['signup_flow_variation'];
              }
              if (data.hasOwnProperty('has_created_company')) {
                  obj['has_created_company'] = ApiClient.convertToType(data['has_created_company'], 'Boolean');
  
                  delete data['has_created_company'];
              }
              if (data.hasOwnProperty('is_admin')) {
                  obj['is_admin'] = ApiClient.convertToType(data['is_admin'], NumberBoolean);
  
                  delete data['is_admin'];
              }
              if (data.hasOwnProperty('active_flag')) {
                  obj['active_flag'] = ApiClient.convertToType(data['active_flag'], 'Boolean');
  
                  delete data['active_flag'];
              }
              if (data.hasOwnProperty('timezone_name')) {
                  obj['timezone_name'] = ApiClient.convertToType(data['timezone_name'], 'String');
  
                  delete data['timezone_name'];
              }
              if (data.hasOwnProperty('timezone_offset')) {
                  obj['timezone_offset'] = ApiClient.convertToType(data['timezone_offset'], 'String');
  
                  delete data['timezone_offset'];
              }
              if (data.hasOwnProperty('role_id')) {
                  obj['role_id'] = ApiClient.convertToType(data['role_id'], 'Number');
  
                  delete data['role_id'];
              }
              if (data.hasOwnProperty('icon_url')) {
                  obj['icon_url'] = ApiClient.convertToType(data['icon_url'], 'String');
  
                  delete data['icon_url'];
              }
              if (data.hasOwnProperty('is_you')) {
                  obj['is_you'] = ApiClient.convertToType(data['is_you'], 'Boolean');
  
                  delete data['is_you'];
              }
  
              if (Object.keys(data).length > 0) {
                  Object.assign(obj, data);
              }
  
          }
          return obj;
      }
  
  
  }
  
  /**
   * The User ID
   * @member {Number} id
   */
  BaseUser.prototype['id'] = undefined;
  
  /**
   * The User name
   * @member {String} name
   */
  BaseUser.prototype['name'] = undefined;
  
  /**
   * The User default currency
   * @member {String} default_currency
   */
  BaseUser.prototype['default_currency'] = undefined;
  
  /**
   * The User locale
   * @member {String} locale
   */
  BaseUser.prototype['locale'] = undefined;
  
  /**
   * The User language ID
   * @member {Number} lang
   */
  BaseUser.prototype['lang'] = undefined;
  
  /**
   * The User email
   * @member {String} email
   */
  BaseUser.prototype['email'] = undefined;
  
  /**
   * The User phone
   * @member {String} phone
   */
  BaseUser.prototype['phone'] = undefined;
  
  /**
   * Boolean that indicates if the User is activated
   * @member {Boolean} activated
   */
  BaseUser.prototype['activated'] = undefined;
  
  /**
   * The User last login date and time. Format: YYYY-MM-DD HH:MM:SS
   * @member {String} last_login
   */
  BaseUser.prototype['last_login'] = undefined;
  
  /**
   * The User creation date and time. Format: YYYY-MM-DD HH:MM:SS
   * @member {String} created
   */
  BaseUser.prototype['created'] = undefined;
  
  /**
   * The User last modification date and time. Format: YYYY-MM-DD HH:MM:SS
   * @member {String} modified
   */
  BaseUser.prototype['modified'] = undefined;
  
  /**
   * The variation of signup flow (if exists). E.g. google
   * @member {String} signup_flow_variation
   */
  BaseUser.prototype['signup_flow_variation'] = undefined;
  
  /**
   * Boolean that indicates if the User has created a Company
   * @member {Boolean} has_created_company
   */
  BaseUser.prototype['has_created_company'] = undefined;
  
  /**
   * Indication if the User is admin (1 = true, 0 = false)
   * @member {module:model/NumberBoolean} is_admin
   */
  BaseUser.prototype['is_admin'] = undefined;
  
  /**
   * Boolean that indicates if the User is activated
   * @member {Boolean} active_flag
   */
  BaseUser.prototype['active_flag'] = undefined;
  
  /**
   * The User timezone name
   * @member {String} timezone_name
   */
  BaseUser.prototype['timezone_name'] = undefined;
  
  /**
   * The User timezone offset
   * @member {String} timezone_offset
   */
  BaseUser.prototype['timezone_offset'] = undefined;
  
  /**
   * The ID of the User role
   * @member {Number} role_id
   */
  BaseUser.prototype['role_id'] = undefined;
  
  /**
   * The User icon URL
   * @member {String} icon_url
   */
  BaseUser.prototype['icon_url'] = undefined;
  
  /**
   * Boolean that indicates if the requested User is the same which is logged in (in this case, always true)
   * @member {Boolean} is_you
   */
  BaseUser.prototype['is_you'] = undefined;
  
  
  
  
  
  
  export default BaseUser;
  
  