/**
*
* Copyright (C) 2021 Akorbi Digital RMP
*
* This file is part of RunMyProcess SDK-JS.
*
* RunMyProcess SDK-JS is free software: you can redistribute it and/or modify
* it under the terms of the Apache License Version 2.0 (the "License");
*
* You may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
A List of a customer's subscriptions
@constructor
@property {Array} subscriptions - Array of subscriptions.
@see Customer
@see Resource
*/
function CustomerSubscriptionList(){
this.subscriptions = [];
};
/**
@borrows
Inherits Resource
*/
CustomerSubscriptionList.prototype = new Resource();
/**
Overrides Resource's loadPreset method.
@method
@see Resource#loadPreset
*/
CustomerSubscriptionList.prototype.loadPreset = function () {
/**
Overrides Resource's generateUrl method to return the request url
@method
@see Resource#generateUrl
*/
this.generateUrl=function () {
return this.selfUrl;
};
};
/**
Overrides Resource's loadSet method to set local variables after request.
@method
@param {json} rObject - JSON representation of the loaded data.
@see Resource#loadSet
*/
CustomerSubscriptionList.prototype.loadSet = function (rObject) {
var father = this;
father.subscriptions = [];
var ent=this.getArray(rObject, "entry");
for (var i = 0; i < ent.length; i++) {
var subs = new Subscription();
subs.object = ent[i];
subs.title = ent[i].title;
subs.summary = ent[i].summary.P_value;
subs.updated = new Date(ent[i].updated);
if(this.termSearch('price',ent[i].category))subs.price = Number(this.termSearch('price',ent[i].category).label);
if(this.termSearch('minimumVolume',ent[i].category))subs.minimumVolume = Number(this.termSearch('minimumVolume',ent[i].category).label);
subs.frequency = this.termSearch('frequency',ent[i].category);
if(this.termSearch('volume',ent[i].category))subs.volume = Number(this.termSearch('volume',ent[i].category).label);
if(this.termSearch('payment_ref',ent[i].category))subs.paymentRef = this.termSearch('payment_ref',ent[i].category).label;
if(this.termSearch('payment_method',ent[i].category))subs.paymentMethod = this.termSearch('payment_method',ent[i].category).label;
if(this.termSearch('start_date',ent[i].category))subs.startDate = new Date(this.termSearch('start_date',ent[i].category).label);
if(this.termSearch('end_date',ent[i].category))subs.endDate = new Date(this.termSearch('end_date',ent[i].category).label);
if(this.termSearch('creation_date',ent[i].category))subs.creationDate = new Date(this.termSearch('creation_date',ent[i].category).label);
if(this.termSearch('update_date',ent[i].category))subs.updateDate = new Date(this.termSearch('update_date',ent[i].category).label);
subs.object = ent[i];
subs.id = ent[i].id;
subs.categories = subs.getArray(ent[i], "category");
subs.setLinks = subs.getArray(ent[i], "link");
subs.setSelfUrl = ent[i].content.src;
subs.setRights = subs.object.rights;
father.subscriptions.push(subs);
}
};