1 /** 2 * @fileOverview JavaScript representation of the Finesse Users collection 3 * object which contains a list of Users objects. 4 * 5 * @name finesse.restservices.Users 6 * @requires finesse.clientservices.ClientServices 7 * @requires Class 8 * @requires finesse.FinesseBase 9 * @requires finesse.restservices.RestBase 10 * @requires finesse.restservices.RestCollectionBase 11 * @requires finesse.restservices.User 12 */ 13 14 var finesse = finesse || {}; 15 finesse.restservices = finesse.restservices || {}; 16 17 /** @private */ 18 finesse.restservices.Users = finesse.restservices.RestCollectionBase.extend(/** @lends finesse.restservices.Users.prototype */{ 19 20 /** 21 * @class 22 * JavaScript representation of the Finesse Users collection 23 * object which contains a list of Users objects. 24 * 25 * @param {Object} options 26 * An object with the following properties:<ul> 27 * <li><b>id:</b> The id of the object being constructed</li> 28 * <li><b>onLoad(this): (optional)</b> when the object is successfully loaded from the server</li> 29 * <li><b>onChange(this): (optional)</b> when an update notification of the object is received</li> 30 * <li><b>onAdd(this): (optional)</b> when a notification that the object is created is received</li> 31 * <li><b>onDelete(this): (optional)</b> when a notification that the object is deleted is received</li> 32 * <li><b>onError(rsp): (optional)</b> if loading of the object fails, invoked with the error response object:<ul> 33 * <li><b>status:</b> {Number} The HTTP status code returned</li> 34 * <li><b>content:</b> {String} Raw string of response</li> 35 * <li><b>object:</b> {Object} Parsed object of response</li> 36 * <li><b>error:</b> {Object} Wrapped exception that was caught:<ul> 37 * <li><b>errorType:</b> {String} Type of error that was caught</li> 38 * <li><b>errorMessage:</b> {String} Message associated with error</li> 39 * </ul></li> 40 * </ul></li> 41 * <li><b>parentObj: (optional)</b> The parent object</li></ul> 42 * @constructs finesse.restservices.Users 43 **/ 44 init: function (options) { 45 this._super(options); 46 }, 47 48 /** 49 * @private 50 * Gets the REST class for the current object - this is the Users class. 51 */ 52 getRestClass: function () { 53 return finesse.restservices.Users; 54 }, 55 56 /** 57 * @private 58 * Gets the REST class for the objects that make up the collection. - this 59 * is the User class. 60 */ 61 getRestItemClass: function () { 62 return finesse.restservices.User; 63 }, 64 65 /** 66 * @private 67 * Gets the REST type for the current object - this is a "Users". 68 */ 69 getRestType: function () { 70 return "Users"; 71 }, 72 73 /** 74 * @private 75 * Gets the REST type for the objects that make up the collection - this is "User". 76 */ 77 getRestItemType: function () { 78 return "User"; 79 }, 80 81 /** 82 * @private 83 * Gets the node path for the current object - this is the team Users node 84 * @returns {String} The node path 85 */ 86 getXMPPNodePath: function () { 87 return this.getRestUrl(); 88 }, 89 90 /** 91 * @private 92 * Override default to indicates that the collection doesn't support making 93 * requests. 94 */ 95 supportsRequests: false, 96 97 /** 98 * @private 99 * Override default to indicate that we need to subscribe explicitly 100 */ 101 explicitSubscription: true 102 103 });