@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.
146 lines (136 loc) • 7.11 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _ApiClient = _interopRequireDefault(require("../ApiClient"));
var _DeliveryOptimizationType = _interopRequireDefault(require("./DeliveryOptimizationType"));
var _SplitOptions = _interopRequireDefault(require("./SplitOptions"));
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 CampaignOptions model module.
* @module model/CampaignOptions
* @version 4.0.26
*/
var CampaignOptions = /*#__PURE__*/function () {
/**
* Constructs a new <code>CampaignOptions</code>.
* Different send options for a Campaign
* @alias module:model/CampaignOptions
*/
function CampaignOptions() {
_classCallCheck(this, CampaignOptions);
CampaignOptions.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(CampaignOptions, null, [{
key: "initialize",
value: function initialize(obj) {}
/**
* Constructs a <code>CampaignOptions</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/CampaignOptions} obj Optional instance to populate.
* @return {module:model/CampaignOptions} The populated <code>CampaignOptions</code> instance.
*/
}, {
key: "constructFromObject",
value: function constructFromObject(data, obj) {
if (data) {
obj = obj || new CampaignOptions();
if (data.hasOwnProperty('DeliveryOptimization')) {
obj['DeliveryOptimization'] = _DeliveryOptimizationType["default"].constructFromObject(data['DeliveryOptimization']);
}
if (data.hasOwnProperty('TrackOpens')) {
obj['TrackOpens'] = _ApiClient["default"].convertToType(data['TrackOpens'], 'Boolean');
}
if (data.hasOwnProperty('TrackClicks')) {
obj['TrackClicks'] = _ApiClient["default"].convertToType(data['TrackClicks'], 'Boolean');
}
if (data.hasOwnProperty('ScheduleFor')) {
obj['ScheduleFor'] = _ApiClient["default"].convertToType(data['ScheduleFor'], 'Date');
}
if (data.hasOwnProperty('TriggerFrequency')) {
obj['TriggerFrequency'] = _ApiClient["default"].convertToType(data['TriggerFrequency'], 'Number');
}
if (data.hasOwnProperty('TriggerCount')) {
obj['TriggerCount'] = _ApiClient["default"].convertToType(data['TriggerCount'], 'Number');
}
if (data.hasOwnProperty('SplitOptions')) {
obj['SplitOptions'] = _SplitOptions["default"].constructFromObject(data['SplitOptions']);
}
}
return obj;
}
/**
* Validates the JSON data with respect to <code>CampaignOptions</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>CampaignOptions</code>.
*/
}, {
key: "validateJSON",
value: function validateJSON(data) {
// validate the optional field `SplitOptions`
if (data['SplitOptions']) {
// data not null
_SplitOptions["default"].validateJSON(data['SplitOptions']);
}
return true;
}
}]);
}();
/**
* @member {module:model/DeliveryOptimizationType} DeliveryOptimization
*/
CampaignOptions.prototype['DeliveryOptimization'] = undefined;
/**
* Should the opens be tracked? If no value has been provided, Account's default setting will be used.
* @member {Boolean} TrackOpens
*/
CampaignOptions.prototype['TrackOpens'] = undefined;
/**
* Should the clicks be tracked? If no value has been provided, Account's default setting will be used.
* @member {Boolean} TrackClicks
*/
CampaignOptions.prototype['TrackClicks'] = undefined;
/**
* Date when this Campaign is scheduled to be sent on
* @member {Date} ScheduleFor
*/
CampaignOptions.prototype['ScheduleFor'] = undefined;
/**
* How often (in minutes) to send the campaign
* @member {Number} TriggerFrequency
*/
CampaignOptions.prototype['TriggerFrequency'] = undefined;
/**
* How many times send the campaign
* @member {Number} TriggerCount
*/
CampaignOptions.prototype['TriggerCount'] = undefined;
/**
* @member {module:model/SplitOptions} SplitOptions
*/
CampaignOptions.prototype['SplitOptions'] = undefined;
var _default = exports["default"] = CampaignOptions;