/**
* @classdesc Represents a user group in CompleteFTP. Instances of this class should be obtained using
* {@link GroupManager#get GroupManager.get}.
* @class
* @hideconstructor
*/
Group = function () {
/**
* The ID of this group.
*
* @type {String}
* @readonly
*/
this.id = null;
/**
* The name of this group. Group names must be unique.
*
* @type {String}
*/
this.name = null;
/**
* Is this an inbuilt group that is created automatically during installation?
*
* @type {Boolean}
* @readonly
*/
this.inbuilt = null;
/**
* The date and time when this group was created.
*
* @type {Date}
* @readonly
*/
this.createdTime = null;
/**
* The date and time when this group was last modified.
*
* @type {Date}
* @readonly
*/
this.modifiedTime = null;
/**
* Deletes this group.
*
* @method
*/
this.remove = function () { };
/**
* An object that allows members of this group to be managed.
*
* @type {Members}
*/
this.members = null;
}
/**
* @classdesc Provides APIs for managing members of the current group. Instances of this class
* should be obtained using {@link Group#members Group.members}.
*
* @class
* @hideconstructor
*/
Members = function () {
/**
* Adds the given user to the current group.
*
* @method
* @param {(String|User)} user Name of the user or {@link User} object.
*/
this.add = function (user) { }
/**
* Removes the given user from the current group.
*
* @method
* @param {(String|User)} user Name of the user or {@link User} object.
*/
this.remove = function (user) { }
/**
* Returns a member list of the current group as an array of strings being the names of the users.
*
* @method
* @return {String[]}
*/
this.toArray = function () { }
}