@elasticemail/elasticemail-client
Version:
Official ElasticEmail SDK. This API is based on the REST API architecture, allowing the user to easily manage their data with this resource-based approach.
201 lines (187 loc) • 8.78 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _ApiClient = _interopRequireDefault(require("../ApiClient"));
var _ConsentData = _interopRequireDefault(require("./ConsentData"));
var _ContactActivity = _interopRequireDefault(require("./ContactActivity"));
var _ContactSource = _interopRequireDefault(require("./ContactSource"));
var _ContactStatus = _interopRequireDefault(require("./ContactStatus"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } /**
* Elastic Email REST API
* This API is based on the REST API architecture, allowing the user to easily manage their data with this resource-based approach. Every API call is established on which specific request type (GET, POST, PUT, DELETE) will be used. The API has a limit of 20 concurrent connections and a hard timeout of 600 seconds per request. To start using this API, you will need your Access Token (available <a target=\"_blank\" href=\"https://app.elasticemail.com/marketing/settings/new/manage-api\">here</a>). Remember to keep it safe. Required access levels are listed in the given request’s description. Downloadable library clients can be found in our Github repository <a target=\"_blank\" href=\"https://github.com/ElasticEmail?tab=repositories&q=%22rest+api%22+in%3Areadme\">here</a>
*
* The version of the OpenAPI document: 4.0.0
* Contact: support@elasticemail.com
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*
*/
/**
* The Contact model module.
* @module model/Contact
* @version 4.0.26
*/
var Contact = /*#__PURE__*/function () {
/**
* Constructs a new <code>Contact</code>.
* Contact
* @alias module:model/Contact
*/
function Contact() {
_classCallCheck(this, Contact);
Contact.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.
*/
return _createClass(Contact, null, [{
key: "initialize",
value: function initialize(obj) {}
/**
* Constructs a <code>Contact</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/Contact} obj Optional instance to populate.
* @return {module:model/Contact} The populated <code>Contact</code> instance.
*/
}, {
key: "constructFromObject",
value: function constructFromObject(data, obj) {
if (data) {
obj = obj || new Contact();
if (data.hasOwnProperty('Email')) {
obj['Email'] = _ApiClient["default"].convertToType(data['Email'], 'String');
}
if (data.hasOwnProperty('Status')) {
obj['Status'] = _ContactStatus["default"].constructFromObject(data['Status']);
}
if (data.hasOwnProperty('FirstName')) {
obj['FirstName'] = _ApiClient["default"].convertToType(data['FirstName'], 'String');
}
if (data.hasOwnProperty('LastName')) {
obj['LastName'] = _ApiClient["default"].convertToType(data['LastName'], 'String');
}
if (data.hasOwnProperty('CustomFields')) {
obj['CustomFields'] = _ApiClient["default"].convertToType(data['CustomFields'], {
'String': 'String'
});
}
if (data.hasOwnProperty('Consent')) {
obj['Consent'] = _ConsentData["default"].constructFromObject(data['Consent']);
}
if (data.hasOwnProperty('Source')) {
obj['Source'] = _ContactSource["default"].constructFromObject(data['Source']);
}
if (data.hasOwnProperty('DateAdded')) {
obj['DateAdded'] = _ApiClient["default"].convertToType(data['DateAdded'], 'Date');
}
if (data.hasOwnProperty('DateUpdated')) {
obj['DateUpdated'] = _ApiClient["default"].convertToType(data['DateUpdated'], 'Date');
}
if (data.hasOwnProperty('StatusChangeDate')) {
obj['StatusChangeDate'] = _ApiClient["default"].convertToType(data['StatusChangeDate'], 'Date');
}
if (data.hasOwnProperty('Activity')) {
obj['Activity'] = _ContactActivity["default"].constructFromObject(data['Activity']);
}
}
return obj;
}
/**
* Validates the JSON data with respect to <code>Contact</code>.
* @param {Object} data The plain JavaScript object bearing properties of interest.
* @return {boolean} to indicate whether the JSON data is valid with respect to <code>Contact</code>.
*/
}, {
key: "validateJSON",
value: function validateJSON(data) {
// ensure the json data is a string
if (data['Email'] && !(typeof data['Email'] === 'string' || data['Email'] instanceof String)) {
throw new Error("Expected the field `Email` to be a primitive type in the JSON string but got " + data['Email']);
}
// ensure the json data is a string
if (data['FirstName'] && !(typeof data['FirstName'] === 'string' || data['FirstName'] instanceof String)) {
throw new Error("Expected the field `FirstName` to be a primitive type in the JSON string but got " + data['FirstName']);
}
// ensure the json data is a string
if (data['LastName'] && !(typeof data['LastName'] === 'string' || data['LastName'] instanceof String)) {
throw new Error("Expected the field `LastName` to be a primitive type in the JSON string but got " + data['LastName']);
}
// validate the optional field `Consent`
if (data['Consent']) {
// data not null
_ConsentData["default"].validateJSON(data['Consent']);
}
// validate the optional field `Activity`
if (data['Activity']) {
// data not null
_ContactActivity["default"].validateJSON(data['Activity']);
}
return true;
}
}]);
}();
/**
* Proper email address.
* @member {String} Email
*/
Contact.prototype['Email'] = undefined;
/**
* @member {module:model/ContactStatus} Status
*/
Contact.prototype['Status'] = undefined;
/**
* First name.
* @member {String} FirstName
*/
Contact.prototype['FirstName'] = undefined;
/**
* Last name.
* @member {String} LastName
*/
Contact.prototype['LastName'] = undefined;
/**
* A key-value collection of custom contact fields which can be used in the system.
* @member {Object.<String, String>} CustomFields
*/
Contact.prototype['CustomFields'] = undefined;
/**
* @member {module:model/ConsentData} Consent
*/
Contact.prototype['Consent'] = undefined;
/**
* @member {module:model/ContactSource} Source
*/
Contact.prototype['Source'] = undefined;
/**
* Date of creation in YYYY-MM-DDThh:ii:ss format
* @member {Date} DateAdded
*/
Contact.prototype['DateAdded'] = undefined;
/**
* Last change date
* @member {Date} DateUpdated
*/
Contact.prototype['DateUpdated'] = undefined;
/**
* Date of last status change.
* @member {Date} StatusChangeDate
*/
Contact.prototype['StatusChangeDate'] = undefined;
/**
* @member {module:model/ContactActivity} Activity
*/
Contact.prototype['Activity'] = undefined;
var _default = exports["default"] = Contact;