/**
*
* 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 UserAccessList
@constructor
@property {Array} tokens - Array of Tokens.
@see Resource
@example Load projects
var userAccessList = new UserAccessList();
userAccessList.load({
onSuccess: function(){
alert('List Loaded'+userAccessList.customLists.length+' custom lists on list');
},
onFailure:function(err){alert(err.responseText);}
});
*/
function UserAccessList(){
this.tokens = [];
};
/**
Inherits Resource
@borrows Resource.js
*/
UserAccessList.prototype = new Resource();
/**
Overrides Resource's loadPreset method.
@method
@see Resource#loadPreset
*/
UserAccessList.prototype.loadPreset = function () {
/**
Overrides Resource's generateUrl method to return the request url
@method
@see Resource#generateUrl
*/
this.generateUrl=function () {
return this.selfUrl||context.link.useraccess;
};
};
/**
Overrides Resource's loadSet method to set local variables after request.
@method
@param {array} rObject - Array representation of the loaded data.
@see Resource#loadSet
*/
UserAccessList.prototype.load = function(options){
var loadOptions = {};
var father = this;
//father.selfUrl=context.link.useraccess;
loadOptions.onSuccess = function(rObject){
father.tokens = [];
var tknarray = rObject;
for (var i = 0; i < tknarray.length; i++) {
var arrayElement =tknarray[i];
var tkn = new Token();
tkn.id = arrayElement.refreshToken;
tkn.selfUrl = context.link.useraccess+'/'+tkn.id+'/';
tkn.links = tkn.getArray(tknarray[i], "link");
tkn.categories = tkn.getArray(tknarray[i], "category");
for (key in arrayElement) {
if (arrayElement.hasOwnProperty(key)) {
switch (key) {
case 'updated':
case 'published':
tkn[key] = new Date(arrayElement[key]);
break;
default:
tkn[key]=arrayElement[key];
}
}
}
father.tokens.push(tkn);
}
options.onSuccess(rObject);
};
loadOptions.onFailure = function(e){
options.eObject=e;
father.errorManager(options);
};
loadOptions.baseUrl = options.baseUrl || RMPApplication.getBaseUrl();
father.JSONLoad(loadOptions);
};