(function(window) { var Gitana = window.Gitana; Gitana.Client = Gitana.AbstractPlatformObject.extend( /** @lends Gitana.Client.prototype */ { /** * @constructs * @augments Gitana.AbstractPlatformObject * * @class Client * * @param {Gitana.Platform} platform * @param [Object] object json object (if no callback required for populating) */ constructor: function(platform, object) { this.base(platform, object); this.objectType = function() { return "Gitana.Client"; }; }, /** * @OVERRIDE */ getType: function() { return Gitana.TypedIDConstants.TYPE_CLIENT; }, /** * @OVERRIDE */ getUri: function() { return "/clients/" + this.getId(); }, /** * @override */ clone: function() { return this.getFactory().client(this.getPlatform(), this); }, /** * Gets the authorized grant types for the client */ getAuthorizedGrantTypes: function() { return this.get("authorizedGrantTypes"); }, /** * Gets the scope for the client */ getScope: function() { return this.get("scope"); }, /** * Gets the allow open driver authentication option for the client */ getAllowOpenDriverAuthentication: function() { return this.get("allowOpenDriverAuthentication"); }, /** * Returns whether the client is enabled or not */ getEnabled: function() { return this.get("enabled"); }, /** * Lists the authentication grants for this client * * @param pagination * * @chained authentication grant map */ listAuthenticationGrants: function(pagination) { var params = {}; if (pagination) { Gitana.copyInto(params, pagination); } params.clientId = this.getId(); var chainable = this.getFactory().authenticationGrantMap(this.getPlatform()); return this.chainGet(chainable, "/auth/grants", params); } }); })(window);