/**
 *
 * 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.
 */
 /**
  Create a new instance of AllLaneUsers
	@constructor
	@property {Array} users - Array of users.
	@see Lane
	@see Resource
*/
function AllLaneUserList(){
	this.users = [];
	this.availableFilters = new Array("NAME")// DEPRECATED;
};
/**
	 @borrows
	 Inherits Resource
*/
AllLaneUserList.prototype = new  Resource();
/**
	Overrides Resource's loadPreset method.
	@method
	@see Resource#loadPreset
*/
AllLaneUserList.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
*/
AllLaneUserList.prototype.loadSet = function (rObject) {
	var father = this;
	father.users = [];
	var ent=this.getArray(rObject, "entry");
	for (var i = 0; i < ent.length; i++) {
		var u = new User();//Create a new istance of User
		u.id = ent[i].id;
		u.categories = u.getArray(ent[i], "category");
		u.selfUrl = ent[i].content.src;
		u.author = ent[i].author;
		u.title = ent[i].title;
		u.updated = new Date(ent[i].updated);
		u.setLinks = u.getArray(ent[i], "link");
		u.rights = ent[i].rights;
		u.title = ent[i].title;
		u.name = ent[i].author.name;
		u.email = ent[i].author.email;
		var cat = u.categories;
		for (var j = 0; j < cat.length; j++) {
			switch (cat[j].term) {
				case 'profile':
					u.profile = cat[j].label;
					break;
				case 'language':
					u.language = cat[j].label;
					break;
				case 'status':
					u.status = cat[j].label;
					break;
				case 'receive_alert':
					u.receive_alert = cat[j].label;
					break;
			}
		}
		father.users.push(u);
	}
};
