/**
* DocuSign Click API
* Elastic signing (also known as DocuSign Click) lets you capture consent to standard agreement terms with a single click: terms and conditions, terms of service, terms of use, privacy policies, and more. The Click API lets you include this customizable elastic template solution in your DocuSign integrations.
*
* OpenAPI spec version: v1
* 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/DataField', 'model/DisplaySettings', 'model/Document', 'model/UserAgreementResponseStyle'], factory);
} else if (typeof module === 'object' && module.exports) {
// CommonJS-like environments that support module.exports, like Node.
module.exports = factory(require('../ApiClient'), require('./DataField'), require('./DisplaySettings'), require('./Document'), require('./UserAgreementResponseStyle'));
} else {
// Browser globals (root is window)
if (!root.DocusignClick) {
root.DocusignClick = {};
}
root.DocusignClick.UserAgreementResponse = factory(root.DocusignClick.ApiClient, root.DocusignClick.DataField, root.DocusignClick.DisplaySettings, root.DocusignClick.Document, root.DocusignClick.UserAgreementResponseStyle);
}
}(this, function(ApiClient, DataField, DisplaySettings, Document, UserAgreementResponseStyle) {
'use strict';
/**
* The UserAgreementResponse model module.
* @module model/UserAgreementResponse
*/
/**
* Constructs a new <code>UserAgreementResponse</code>.
* @alias module:model/UserAgreementResponse
* @class
*/
var exports = function() {
var _this = this;
};
/**
* Constructs a <code>UserAgreementResponse</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/UserAgreementResponse} obj Optional instance to populate.
* @return {module:model/UserAgreementResponse} The populated <code>UserAgreementResponse</code> instance.
*/
exports.constructFromObject = function(data, obj) {
if (data) {
obj = obj || new exports();
if (data.hasOwnProperty('accountId')) {
obj['accountId'] = ApiClient.convertToType(data['accountId'], 'String');
}
if (data.hasOwnProperty('agreedOn')) {
obj['agreedOn'] = ApiClient.convertToType(data['agreedOn'], Object);
}
if (data.hasOwnProperty('agreementId')) {
obj['agreementId'] = ApiClient.convertToType(data['agreementId'], 'String');
}
if (data.hasOwnProperty('agreementUrl')) {
obj['agreementUrl'] = ApiClient.convertToType(data['agreementUrl'], 'String');
}
if (data.hasOwnProperty('clickwrapId')) {
obj['clickwrapId'] = ApiClient.convertToType(data['clickwrapId'], 'String');
}
if (data.hasOwnProperty('clientUserId')) {
obj['clientUserId'] = ApiClient.convertToType(data['clientUserId'], 'String');
}
if (data.hasOwnProperty('consumerDisclosureEnabled')) {
obj['consumerDisclosureEnabled'] = ApiClient.convertToType(data['consumerDisclosureEnabled'], 'Boolean');
}
if (data.hasOwnProperty('consumerDisclosureHtml')) {
obj['consumerDisclosureHtml'] = ApiClient.convertToType(data['consumerDisclosureHtml'], 'String');
}
if (data.hasOwnProperty('createdOn')) {
obj['createdOn'] = ApiClient.convertToType(data['createdOn'], Object);
}
if (data.hasOwnProperty('dataFields')) {
obj['dataFields'] = ApiClient.convertToType(data['dataFields'], [DataField]);
}
if (data.hasOwnProperty('declinedOn')) {
obj['declinedOn'] = ApiClient.convertToType(data['declinedOn'], Object);
}
if (data.hasOwnProperty('documentData')) {
obj['documentData'] = ApiClient.convertToType(data['documentData'], {'String': 'String'});
}
if (data.hasOwnProperty('documents')) {
obj['documents'] = ApiClient.convertToType(data['documents'], [Document]);
}
if (data.hasOwnProperty('metadata')) {
obj['metadata'] = ApiClient.convertToType(data['metadata'], 'String');
}
if (data.hasOwnProperty('returnUrl')) {
obj['returnUrl'] = ApiClient.convertToType(data['returnUrl'], 'String');
}
if (data.hasOwnProperty('settings')) {
obj['settings'] = DisplaySettings.constructFromObject(data['settings']);
}
if (data.hasOwnProperty('status')) {
obj['status'] = ApiClient.convertToType(data['status'], 'String');
}
if (data.hasOwnProperty('style')) {
obj['style'] = UserAgreementResponseStyle.constructFromObject(data['style']);
}
if (data.hasOwnProperty('version')) {
obj['version'] = ApiClient.convertToType(data['version'], 'String');
}
if (data.hasOwnProperty('versionId')) {
obj['versionId'] = ApiClient.convertToType(data['versionId'], 'String');
}
if (data.hasOwnProperty('versionNumber')) {
obj['versionNumber'] = ApiClient.convertToType(data['versionNumber'], 'Number');
}
}
return obj;
}
/**
* The external account number (int) or account ID GUID.
* @member {String} accountId
*/
exports.prototype['accountId'] = undefined;
/**
* Date that the client last completed the agreement. This property is null if `agreementUrl` is not null and `status` is not `agreed`.
* @member {Object} agreedOn
*/
exports.prototype['agreedOn'] = undefined;
/**
* The agreement ID.
* @member {String} agreementId
*/
exports.prototype['agreementId'] = undefined;
/**
* When not null, an agreement is required for user specified by `clientUserId`. When missing the user specified by `clientUserId` has already agreed and does not require a new acceptance. Use this URL to render the agreement in a web page. <!-- or redirected to when providing redirect_url as a query parameter. -->
* @member {String} agreementUrl
*/
exports.prototype['agreementUrl'] = undefined;
/**
* The ID of the clickwrap.
* @member {String} clickwrapId
*/
exports.prototype['clickwrapId'] = undefined;
/**
* A unique value that identifies a user.\\nYou can use anything that your system uses\\nto identify unique users, such as\\nemployee IDs, email addresses, and surrogate keys as the value of `clientUserId`.\\n\\nA clickwrap with a specific `clientUserId` will not appear again\\nonce it has been accepted.\\n\"
* @member {String} clientUserId
*/
exports.prototype['clientUserId'] = undefined;
/**
* **True** if consumer disclosure was required by this agreement.
* @member {Boolean} consumerDisclosureEnabled
*/
exports.prototype['consumerDisclosureEnabled'] = undefined;
/**
* The customer-branded HTML with the Electronic Record and Signature Disclosure information
* @member {String} consumerDisclosureHtml
*/
exports.prototype['consumerDisclosureHtml'] = undefined;
/**
* The date when the clickwrap was created. May be null.
* @member {Object} createdOn
*/
exports.prototype['createdOn'] = undefined;
/**
* The list of all the data fields available for the clickwrap (custom fields and standard fields).
* @member {Array.<module:model/DataField>} dataFields
*/
exports.prototype['dataFields'] = undefined;
/**
* The date when the user declined the most recent required agreement. This property is valid only when `status` is `declined`. Otherwise it is null.
* @member {Object} declinedOn
*/
exports.prototype['declinedOn'] = undefined;
/**
* This property specifies the data used to create a clickwrap with [dynamic content][]. [dynamic content]: /docs/click-api/click101/customize-clickwrap-fields/#embed-clickwraps-that-contain-dynamic-content
* @member {Object.<String, String>} documentData
*/
exports.prototype['documentData'] = undefined;
/**
* An array of documents.
* @member {Array.<module:model/Document>} documents
*/
exports.prototype['documents'] = undefined;
/**
* A customer-defined string you can use in requests. This string will appear in the corresponding response.
* @member {String} metadata
*/
exports.prototype['metadata'] = undefined;
/**
* The URL redirected to after the agreement was completed.
* @member {String} returnUrl
*/
exports.prototype['returnUrl'] = undefined;
/**
* The display settings for this agreement.
* @member {module:model/DisplaySettings} settings
*/
exports.prototype['settings'] = undefined;
/**
* User agreement status. One of: - `created` - `agreed` - `declined`
* @member {String} status
*/
exports.prototype['status'] = undefined;
/**
* @member {module:model/UserAgreementResponseStyle} style
*/
exports.prototype['style'] = undefined;
/**
* The human-readable semver version string.
* @member {String} version
*/
exports.prototype['version'] = undefined;
/**
* The ID of the version.
* @member {String} versionId
*/
exports.prototype['versionId'] = undefined;
/**
* Version of the clickwrap.
* @member {Number} versionNumber
*/
exports.prototype['versionNumber'] = undefined;
return exports;
}));