model/UserAccountManagementGranularInformation.js

/**
 * Docusign eSignature REST API
 * The Docusign eSignature REST API provides you with a powerful, convenient, and simple Web services API for interacting with Docusign.
 *
 * OpenAPI spec version: v2.1
 * Contact: devcenter@docusign.com
 *
 * NOTE: This class is auto generated. Do not edit the class manually and submit a new issue instead.
 *
 */

(function(root, factory) {
  if (typeof define === 'function' && define.amd) {
    // AMD. Register as an anonymous module.
    define(['ApiClient', 'model/SettingsMetadata'], factory);
  } else if (typeof module === 'object' && module.exports) {
    // CommonJS-like environments that support module.exports, like Node.
    module.exports = factory(require('../ApiClient'), require('./SettingsMetadata'));
  } else {
    // Browser globals (root is window)
    if (!root.Docusign) {
      root.Docusign = {};
    }
    root.Docusign.UserAccountManagementGranularInformation = factory(root.Docusign.ApiClient, root.Docusign.SettingsMetadata);
  }
}(this, function(ApiClient, SettingsMetadata) {
  'use strict';


  /**
   * The UserAccountManagementGranularInformation model module.
   * @module model/UserAccountManagementGranularInformation
   */

  /**
   * Constructs a new <code>UserAccountManagementGranularInformation</code>.
   * Describes which account management capabilities a user has.
   * @alias module:model/UserAccountManagementGranularInformation
   * @class
   */
  var exports = function() {
    var _this = this;


  };

  /**
   * Constructs a <code>UserAccountManagementGranularInformation</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/UserAccountManagementGranularInformation} obj Optional instance to populate.
   * @return {module:model/UserAccountManagementGranularInformation} The populated <code>UserAccountManagementGranularInformation</code> instance.
   */
  exports.constructFromObject = function(data, obj) {
    if (data) {
      obj = obj || new exports();

      if (data.hasOwnProperty('canManageAccountSecuritySettings')) {
        obj['canManageAccountSecuritySettings'] = ApiClient.convertToType(data['canManageAccountSecuritySettings'], 'String');
      }
      if (data.hasOwnProperty('canManageAccountSecuritySettingsMetadata')) {
        obj['canManageAccountSecuritySettingsMetadata'] = SettingsMetadata.constructFromObject(data['canManageAccountSecuritySettingsMetadata']);
      }
      if (data.hasOwnProperty('canManageAccountSettings')) {
        obj['canManageAccountSettings'] = ApiClient.convertToType(data['canManageAccountSettings'], 'String');
      }
      if (data.hasOwnProperty('canManageAccountSettingsMetadata')) {
        obj['canManageAccountSettingsMetadata'] = SettingsMetadata.constructFromObject(data['canManageAccountSettingsMetadata']);
      }
      if (data.hasOwnProperty('canManageAdmins')) {
        obj['canManageAdmins'] = ApiClient.convertToType(data['canManageAdmins'], 'String');
      }
      if (data.hasOwnProperty('canManageAdminsMetadata')) {
        obj['canManageAdminsMetadata'] = SettingsMetadata.constructFromObject(data['canManageAdminsMetadata']);
      }
      if (data.hasOwnProperty('canManageConnect')) {
        obj['canManageConnect'] = ApiClient.convertToType(data['canManageConnect'], 'String');
      }
      if (data.hasOwnProperty('canManageConnectMetadata')) {
        obj['canManageConnectMetadata'] = SettingsMetadata.constructFromObject(data['canManageConnectMetadata']);
      }
      if (data.hasOwnProperty('canManageDocumentRetention')) {
        obj['canManageDocumentRetention'] = ApiClient.convertToType(data['canManageDocumentRetention'], 'String');
      }
      if (data.hasOwnProperty('canManageDocumentRetentionMetadata')) {
        obj['canManageDocumentRetentionMetadata'] = SettingsMetadata.constructFromObject(data['canManageDocumentRetentionMetadata']);
      }
      if (data.hasOwnProperty('canManageEnvelopeTransfer')) {
        obj['canManageEnvelopeTransfer'] = ApiClient.convertToType(data['canManageEnvelopeTransfer'], 'String');
      }
      if (data.hasOwnProperty('canManageEnvelopeTransferMetadata')) {
        obj['canManageEnvelopeTransferMetadata'] = SettingsMetadata.constructFromObject(data['canManageEnvelopeTransferMetadata']);
      }
      if (data.hasOwnProperty('canManageGroupsButNotUsers')) {
        obj['canManageGroupsButNotUsers'] = ApiClient.convertToType(data['canManageGroupsButNotUsers'], 'String');
      }
      if (data.hasOwnProperty('canManageGroupsButNotUsersMetadata')) {
        obj['canManageGroupsButNotUsersMetadata'] = SettingsMetadata.constructFromObject(data['canManageGroupsButNotUsersMetadata']);
      }
      if (data.hasOwnProperty('canManageJointAgreements')) {
        obj['canManageJointAgreements'] = ApiClient.convertToType(data['canManageJointAgreements'], 'String');
      }
      if (data.hasOwnProperty('canManageJointAgreementsMetadata')) {
        obj['canManageJointAgreementsMetadata'] = SettingsMetadata.constructFromObject(data['canManageJointAgreementsMetadata']);
      }
      if (data.hasOwnProperty('canManageReporting')) {
        obj['canManageReporting'] = ApiClient.convertToType(data['canManageReporting'], 'String');
      }
      if (data.hasOwnProperty('canManageReportingMetadata')) {
        obj['canManageReportingMetadata'] = SettingsMetadata.constructFromObject(data['canManageReportingMetadata']);
      }
      if (data.hasOwnProperty('canManageSharing')) {
        obj['canManageSharing'] = ApiClient.convertToType(data['canManageSharing'], 'String');
      }
      if (data.hasOwnProperty('canManageSharingMetadata')) {
        obj['canManageSharingMetadata'] = SettingsMetadata.constructFromObject(data['canManageSharingMetadata']);
      }
      if (data.hasOwnProperty('canManageSigningGroups')) {
        obj['canManageSigningGroups'] = ApiClient.convertToType(data['canManageSigningGroups'], 'String');
      }
      if (data.hasOwnProperty('canManageSigningGroupsMetadata')) {
        obj['canManageSigningGroupsMetadata'] = SettingsMetadata.constructFromObject(data['canManageSigningGroupsMetadata']);
      }
      if (data.hasOwnProperty('canManageStamps')) {
        obj['canManageStamps'] = ApiClient.convertToType(data['canManageStamps'], 'String');
      }
      if (data.hasOwnProperty('canManageStampsMetadata')) {
        obj['canManageStampsMetadata'] = SettingsMetadata.constructFromObject(data['canManageStampsMetadata']);
      }
      if (data.hasOwnProperty('canManageUsers')) {
        obj['canManageUsers'] = ApiClient.convertToType(data['canManageUsers'], 'String');
      }
      if (data.hasOwnProperty('canManageUsersMetadata')) {
        obj['canManageUsersMetadata'] = SettingsMetadata.constructFromObject(data['canManageUsersMetadata']);
      }
      if (data.hasOwnProperty('canViewUsers')) {
        obj['canViewUsers'] = ApiClient.convertToType(data['canViewUsers'], 'String');
      }
    }
    return obj;
  }

  /**
   * 
   * @member {String} canManageAccountSecuritySettings
   */
  exports.prototype['canManageAccountSecuritySettings'] = undefined;
  /**
   * 
   * @member {module:model/SettingsMetadata} canManageAccountSecuritySettingsMetadata
   */
  exports.prototype['canManageAccountSecuritySettingsMetadata'] = undefined;
  /**
   * 
   * @member {String} canManageAccountSettings
   */
  exports.prototype['canManageAccountSettings'] = undefined;
  /**
   * 
   * @member {module:model/SettingsMetadata} canManageAccountSettingsMetadata
   */
  exports.prototype['canManageAccountSettingsMetadata'] = undefined;
  /**
   * 
   * @member {String} canManageAdmins
   */
  exports.prototype['canManageAdmins'] = undefined;
  /**
   * Metadata that indicates whether the `canManageAdmins` property is editable. 
   * @member {module:model/SettingsMetadata} canManageAdminsMetadata
   */
  exports.prototype['canManageAdminsMetadata'] = undefined;
  /**
   * 
   * @member {String} canManageConnect
   */
  exports.prototype['canManageConnect'] = undefined;
  /**
   * 
   * @member {module:model/SettingsMetadata} canManageConnectMetadata
   */
  exports.prototype['canManageConnectMetadata'] = undefined;
  /**
   * 
   * @member {String} canManageDocumentRetention
   */
  exports.prototype['canManageDocumentRetention'] = undefined;
  /**
   * 
   * @member {module:model/SettingsMetadata} canManageDocumentRetentionMetadata
   */
  exports.prototype['canManageDocumentRetentionMetadata'] = undefined;
  /**
   * 
   * @member {String} canManageEnvelopeTransfer
   */
  exports.prototype['canManageEnvelopeTransfer'] = undefined;
  /**
   * 
   * @member {module:model/SettingsMetadata} canManageEnvelopeTransferMetadata
   */
  exports.prototype['canManageEnvelopeTransferMetadata'] = undefined;
  /**
   * 
   * @member {String} canManageGroupsButNotUsers
   */
  exports.prototype['canManageGroupsButNotUsers'] = undefined;
  /**
   * 
   * @member {module:model/SettingsMetadata} canManageGroupsButNotUsersMetadata
   */
  exports.prototype['canManageGroupsButNotUsersMetadata'] = undefined;
  /**
   * 
   * @member {String} canManageJointAgreements
   */
  exports.prototype['canManageJointAgreements'] = undefined;
  /**
   * 
   * @member {module:model/SettingsMetadata} canManageJointAgreementsMetadata
   */
  exports.prototype['canManageJointAgreementsMetadata'] = undefined;
  /**
   * 
   * @member {String} canManageReporting
   */
  exports.prototype['canManageReporting'] = undefined;
  /**
   * 
   * @member {module:model/SettingsMetadata} canManageReportingMetadata
   */
  exports.prototype['canManageReportingMetadata'] = undefined;
  /**
   * 
   * @member {String} canManageSharing
   */
  exports.prototype['canManageSharing'] = undefined;
  /**
   * Metadata that indicates whether the `canManageSharing` property is editable. 
   * @member {module:model/SettingsMetadata} canManageSharingMetadata
   */
  exports.prototype['canManageSharingMetadata'] = undefined;
  /**
   * 
   * @member {String} canManageSigningGroups
   */
  exports.prototype['canManageSigningGroups'] = undefined;
  /**
   * 
   * @member {module:model/SettingsMetadata} canManageSigningGroupsMetadata
   */
  exports.prototype['canManageSigningGroupsMetadata'] = undefined;
  /**
   * 
   * @member {String} canManageStamps
   */
  exports.prototype['canManageStamps'] = undefined;
  /**
   * 
   * @member {module:model/SettingsMetadata} canManageStampsMetadata
   */
  exports.prototype['canManageStampsMetadata'] = undefined;
  /**
   * 
   * @member {String} canManageUsers
   */
  exports.prototype['canManageUsers'] = undefined;
  /**
   * Metadata that indicates whether the `canManageUsers` property is editable. 
   * @member {module:model/SettingsMetadata} canManageUsersMetadata
   */
  exports.prototype['canManageUsersMetadata'] = undefined;
  /**
   * 
   * @member {String} canViewUsers
   */
  exports.prototype['canViewUsers'] = undefined;



  return exports;
}));