/**
 *
 * 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 the login user's projects
  	@constructor
	@property {Array} projects - Array of projects.
	@see Resource
	@example Load projects
		var proList = new ProjectList();
		proList.load({
			onSuccess: function(){
				alert('List Loaded '+proList.projects.length+' projects on list');
			},
			onFailure:function(err){
				alert(err.responseText);
			}
		});
 */
function ProjectList(){
	this.projects = [];
};
/**
	Inherits Resource
	@borrows Resource.js
*/
ProjectList.prototype = new  Resource();
/**
	Overrides Resource's loadPreset method.
	@method
	@see Resource#loadPreset
*/
ProjectList.prototype.loadPreset = function () {
	/**
		Overrides Resource's generateUrl method to return the request url
		@method
		@see Resource#generateUrl
	*/
	this.generateUrl=function () {
		return this.reconstructUrl(context.link.project);
	};
};
/**
	Overrides Resource's loadSet method to set local variables after request.
	@method
	@param {json} rObject - JSON representation of the loaded data.
	@see Resource#loadSet
*/
ProjectList.prototype.loadSet = function (rObject) {
	var father = this;
	father.projects = [];
	var ent=this.getArray(rObject, "entry");
	for (var i = 0; i < ent.length; i++) {
		var p = new Project();
		p.id = ent[i].id;
		p.summary = ent[i].summary;
		if(ent[i].summary.P_value) p.summary.data = ent[i].summary.P_value;
		p.content = ent[i].content;
		p.selfUrl = ent[i].content.src;
		p.author.name = ent[i].author.name;
		p.author.selfUrl = ent[i].author.uri;
		p.title = ent[i].title;
		p.updated = new Date(ent[i].updated);
		p.links = p.getArray(ent[i], "link");
		p.rights = ent[i].rights;
		father.projects.push(p);
	}
};
