/**
* 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/AddressInformation', 'model/ConnectUserObject', 'model/ErrorDetails', 'model/ForgottenPasswordInformation', 'model/Group', 'model/NameValue', 'model/UserSettingsInformation'], factory);
} else if (typeof module === 'object' && module.exports) {
// CommonJS-like environments that support module.exports, like Node.
module.exports = factory(require('../ApiClient'), require('./AddressInformation'), require('./ConnectUserObject'), require('./ErrorDetails'), require('./ForgottenPasswordInformation'), require('./Group'), require('./NameValue'), require('./UserSettingsInformation'));
} else {
// Browser globals (root is window)
if (!root.Docusign) {
root.Docusign = {};
}
root.Docusign.UserInformation = factory(root.Docusign.ApiClient, root.Docusign.AddressInformation, root.Docusign.ConnectUserObject, root.Docusign.ErrorDetails, root.Docusign.ForgottenPasswordInformation, root.Docusign.Group, root.Docusign.NameValue, root.Docusign.UserSettingsInformation);
}
}(this, function(ApiClient, AddressInformation, ConnectUserObject, ErrorDetails, ForgottenPasswordInformation, Group, NameValue, UserSettingsInformation) {
'use strict';
/**
* The UserInformation model module.
* @module model/UserInformation
*/
/**
* Constructs a new <code>UserInformation</code>.
* User information.
* @alias module:model/UserInformation
* @class
*/
var exports = function() {
var _this = this;
};
/**
* Constructs a <code>UserInformation</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/UserInformation} obj Optional instance to populate.
* @return {module:model/UserInformation} The populated <code>UserInformation</code> instance.
*/
exports.constructFromObject = function(data, obj) {
if (data) {
obj = obj || new exports();
if (data.hasOwnProperty('activationAccessCode')) {
obj['activationAccessCode'] = ApiClient.convertToType(data['activationAccessCode'], 'String');
}
if (data.hasOwnProperty('company')) {
obj['company'] = ApiClient.convertToType(data['company'], 'String');
}
if (data.hasOwnProperty('connectConfigurations')) {
obj['connectConfigurations'] = ApiClient.convertToType(data['connectConfigurations'], [ConnectUserObject]);
}
if (data.hasOwnProperty('countryCode')) {
obj['countryCode'] = ApiClient.convertToType(data['countryCode'], 'String');
}
if (data.hasOwnProperty('createdDateTime')) {
obj['createdDateTime'] = ApiClient.convertToType(data['createdDateTime'], 'String');
}
if (data.hasOwnProperty('customSettings')) {
obj['customSettings'] = ApiClient.convertToType(data['customSettings'], [NameValue]);
}
if (data.hasOwnProperty('defaultAccountId')) {
obj['defaultAccountId'] = ApiClient.convertToType(data['defaultAccountId'], 'String');
}
if (data.hasOwnProperty('email')) {
obj['email'] = ApiClient.convertToType(data['email'], 'String');
}
if (data.hasOwnProperty('enableConnectForUser')) {
obj['enableConnectForUser'] = ApiClient.convertToType(data['enableConnectForUser'], 'String');
}
if (data.hasOwnProperty('errorDetails')) {
obj['errorDetails'] = ErrorDetails.constructFromObject(data['errorDetails']);
}
if (data.hasOwnProperty('firstName')) {
obj['firstName'] = ApiClient.convertToType(data['firstName'], 'String');
}
if (data.hasOwnProperty('forgottenPasswordInfo')) {
obj['forgottenPasswordInfo'] = ForgottenPasswordInformation.constructFromObject(data['forgottenPasswordInfo']);
}
if (data.hasOwnProperty('groupList')) {
obj['groupList'] = ApiClient.convertToType(data['groupList'], [Group]);
}
if (data.hasOwnProperty('hasRemoteNotary')) {
obj['hasRemoteNotary'] = ApiClient.convertToType(data['hasRemoteNotary'], 'Boolean');
}
if (data.hasOwnProperty('homeAddress')) {
obj['homeAddress'] = AddressInformation.constructFromObject(data['homeAddress']);
}
if (data.hasOwnProperty('initialsImageUri')) {
obj['initialsImageUri'] = ApiClient.convertToType(data['initialsImageUri'], 'String');
}
if (data.hasOwnProperty('isAdmin')) {
obj['isAdmin'] = ApiClient.convertToType(data['isAdmin'], 'String');
}
if (data.hasOwnProperty('isAlternateAdmin')) {
obj['isAlternateAdmin'] = ApiClient.convertToType(data['isAlternateAdmin'], 'String');
}
if (data.hasOwnProperty('isNAREnabled')) {
obj['isNAREnabled'] = ApiClient.convertToType(data['isNAREnabled'], 'String');
}
if (data.hasOwnProperty('jobTitle')) {
obj['jobTitle'] = ApiClient.convertToType(data['jobTitle'], 'String');
}
if (data.hasOwnProperty('lastLogin')) {
obj['lastLogin'] = ApiClient.convertToType(data['lastLogin'], 'String');
}
if (data.hasOwnProperty('lastName')) {
obj['lastName'] = ApiClient.convertToType(data['lastName'], 'String');
}
if (data.hasOwnProperty('loginStatus')) {
obj['loginStatus'] = ApiClient.convertToType(data['loginStatus'], 'String');
}
if (data.hasOwnProperty('middleName')) {
obj['middleName'] = ApiClient.convertToType(data['middleName'], 'String');
}
if (data.hasOwnProperty('password')) {
obj['password'] = ApiClient.convertToType(data['password'], 'String');
}
if (data.hasOwnProperty('passwordExpiration')) {
obj['passwordExpiration'] = ApiClient.convertToType(data['passwordExpiration'], 'String');
}
if (data.hasOwnProperty('permissionProfileId')) {
obj['permissionProfileId'] = ApiClient.convertToType(data['permissionProfileId'], 'String');
}
if (data.hasOwnProperty('permissionProfileName')) {
obj['permissionProfileName'] = ApiClient.convertToType(data['permissionProfileName'], 'String');
}
if (data.hasOwnProperty('profileImageUri')) {
obj['profileImageUri'] = ApiClient.convertToType(data['profileImageUri'], 'String');
}
if (data.hasOwnProperty('sendActivationEmail')) {
obj['sendActivationEmail'] = ApiClient.convertToType(data['sendActivationEmail'], 'String');
}
if (data.hasOwnProperty('sendActivationOnInvalidLogin')) {
obj['sendActivationOnInvalidLogin'] = ApiClient.convertToType(data['sendActivationOnInvalidLogin'], 'String');
}
if (data.hasOwnProperty('signatureImageUri')) {
obj['signatureImageUri'] = ApiClient.convertToType(data['signatureImageUri'], 'String');
}
if (data.hasOwnProperty('subscribe')) {
obj['subscribe'] = ApiClient.convertToType(data['subscribe'], 'String');
}
if (data.hasOwnProperty('suffixName')) {
obj['suffixName'] = ApiClient.convertToType(data['suffixName'], 'String');
}
if (data.hasOwnProperty('title')) {
obj['title'] = ApiClient.convertToType(data['title'], 'String');
}
if (data.hasOwnProperty('uri')) {
obj['uri'] = ApiClient.convertToType(data['uri'], 'String');
}
if (data.hasOwnProperty('userAddedToAccountDateTime')) {
obj['userAddedToAccountDateTime'] = ApiClient.convertToType(data['userAddedToAccountDateTime'], 'String');
}
if (data.hasOwnProperty('userId')) {
obj['userId'] = ApiClient.convertToType(data['userId'], 'String');
}
if (data.hasOwnProperty('userName')) {
obj['userName'] = ApiClient.convertToType(data['userName'], 'String');
}
if (data.hasOwnProperty('userProfileLastModifiedDate')) {
obj['userProfileLastModifiedDate'] = ApiClient.convertToType(data['userProfileLastModifiedDate'], 'String');
}
if (data.hasOwnProperty('userSettings')) {
obj['userSettings'] = UserSettingsInformation.constructFromObject(data['userSettings']);
}
if (data.hasOwnProperty('userStatus')) {
obj['userStatus'] = ApiClient.convertToType(data['userStatus'], 'String');
}
if (data.hasOwnProperty('userType')) {
obj['userType'] = ApiClient.convertToType(data['userType'], 'String');
}
if (data.hasOwnProperty('workAddress')) {
obj['workAddress'] = AddressInformation.constructFromObject(data['workAddress']);
}
}
return obj;
}
/**
* The activation code the new user must enter when activating their account.
* @member {String} activationAccessCode
*/
exports.prototype['activationAccessCode'] = undefined;
/**
*
* @member {String} company
*/
exports.prototype['company'] = undefined;
/**
*
* @member {Array.<module:model/ConnectUserObject>} connectConfigurations
*/
exports.prototype['connectConfigurations'] = undefined;
/**
*
* @member {String} countryCode
*/
exports.prototype['countryCode'] = undefined;
/**
* Indicates the date and time the item was created.
* @member {String} createdDateTime
*/
exports.prototype['createdDateTime'] = undefined;
/**
* The name/value pair information for the user custom setting.
* @member {Array.<module:model/NameValue>} customSettings
*/
exports.prototype['customSettings'] = undefined;
/**
*
* @member {String} defaultAccountId
*/
exports.prototype['defaultAccountId'] = undefined;
/**
*
* @member {String} email
*/
exports.prototype['email'] = undefined;
/**
* Specifies whether the user is enabled for updates from DocuSign Connect. Valid values: true or false.
* @member {String} enableConnectForUser
*/
exports.prototype['enableConnectForUser'] = undefined;
/**
* Array or errors.
* @member {module:model/ErrorDetails} errorDetails
*/
exports.prototype['errorDetails'] = undefined;
/**
* The user's first name. Maximum Length: 50 characters.
* @member {String} firstName
*/
exports.prototype['firstName'] = undefined;
/**
* A complex element containing up to four Question/Answer pairs for forgotten password information.
* @member {module:model/ForgottenPasswordInformation} forgottenPasswordInfo
*/
exports.prototype['forgottenPasswordInfo'] = undefined;
/**
* A list of the group information for groups to add the user to. Group information can be found by calling [ML:GET group information]. The only required parameter is groupId. The parameters are: * groupId - The DocuSign group ID for the group. * groupName - The name of the group * permissionProfileId - The ID of the permission profile associated with the group. * groupType - The group type.
* @member {Array.<module:model/Group>} groupList
*/
exports.prototype['groupList'] = undefined;
/**
*
* @member {Boolean} hasRemoteNotary
*/
exports.prototype['hasRemoteNotary'] = undefined;
/**
* Specifies the email for the signing host. It is a Required element for In Person Signers recipient Type. Maximum Length: 100 characters.
* @member {module:model/AddressInformation} homeAddress
*/
exports.prototype['homeAddress'] = undefined;
/**
* Contains the URI for an endpoint that you can use to retrieve the initials image.
* @member {String} initialsImageUri
*/
exports.prototype['initialsImageUri'] = undefined;
/**
* Determines if the feature set is actively set as part of the plan.
* @member {String} isAdmin
*/
exports.prototype['isAdmin'] = undefined;
/**
*
* @member {String} isAlternateAdmin
*/
exports.prototype['isAlternateAdmin'] = undefined;
/**
*
* @member {String} isNAREnabled
*/
exports.prototype['isNAREnabled'] = undefined;
/**
*
* @member {String} jobTitle
*/
exports.prototype['jobTitle'] = undefined;
/**
* Shows the date-time when the user last logged on to the system.
* @member {String} lastLogin
*/
exports.prototype['lastLogin'] = undefined;
/**
* The user's last name. Maximum Length: 50 characters.
* @member {String} lastName
*/
exports.prototype['lastName'] = undefined;
/**
* Shows the current status of the user's password. Possible values are: * password_reset * password_active * password_expired * password_locked * password_reset_failed
* @member {String} loginStatus
*/
exports.prototype['loginStatus'] = undefined;
/**
* The user's middle name. Maximum Length: 50 characters.
* @member {String} middleName
*/
exports.prototype['middleName'] = undefined;
/**
*
* @member {String} password
*/
exports.prototype['password'] = undefined;
/**
*
* @member {String} passwordExpiration
*/
exports.prototype['passwordExpiration'] = undefined;
/**
*
* @member {String} permissionProfileId
*/
exports.prototype['permissionProfileId'] = undefined;
/**
*
* @member {String} permissionProfileName
*/
exports.prototype['permissionProfileName'] = undefined;
/**
*
* @member {String} profileImageUri
*/
exports.prototype['profileImageUri'] = undefined;
/**
*
* @member {String} sendActivationEmail
*/
exports.prototype['sendActivationEmail'] = undefined;
/**
* When set to **true**, specifies that an additional activation email is sent to the user if they fail a log on before activating their account.
* @member {String} sendActivationOnInvalidLogin
*/
exports.prototype['sendActivationOnInvalidLogin'] = undefined;
/**
* Contains the URI for an endpoint that you can use to retrieve the signature image.
* @member {String} signatureImageUri
*/
exports.prototype['signatureImageUri'] = undefined;
/**
*
* @member {String} subscribe
*/
exports.prototype['subscribe'] = undefined;
/**
* The suffix for the user's name. Maximum Length: 50 characters.
* @member {String} suffixName
*/
exports.prototype['suffixName'] = undefined;
/**
* The title of the user.
* @member {String} title
*/
exports.prototype['title'] = undefined;
/**
*
* @member {String} uri
*/
exports.prototype['uri'] = undefined;
/**
*
* @member {String} userAddedToAccountDateTime
*/
exports.prototype['userAddedToAccountDateTime'] = undefined;
/**
*
* @member {String} userId
*/
exports.prototype['userId'] = undefined;
/**
*
* @member {String} userName
*/
exports.prototype['userName'] = undefined;
/**
*
* @member {String} userProfileLastModifiedDate
*/
exports.prototype['userProfileLastModifiedDate'] = undefined;
/**
* The name/value pair information for user settings. These determine the actions that a user can take in the account. The `[ML:userSettings]` are listed and described below.
* @member {module:model/UserSettingsInformation} userSettings
*/
exports.prototype['userSettings'] = undefined;
/**
*
* @member {String} userStatus
*/
exports.prototype['userStatus'] = undefined;
/**
*
* @member {String} userType
*/
exports.prototype['userType'] = undefined;
/**
*
* @member {module:model/AddressInformation} workAddress
*/
exports.prototype['workAddress'] = undefined;
return exports;
}));