text: /**
   * ORY Hydra
   * Welcome to the ORY Hydra HTTP API documentation. You will find documentation for all HTTP APIs here.
   *
   * OpenAPI spec version: latest
   *
   * NOTE: This class is auto generated by the swagger code generator program.
   * https://github.com/swagger-api/swagger-codegen.git
   *
   * Swagger Codegen version: 2.2.3
   *
   * Do not edit the class manually.
   *
   */
  
  (function(root, factory) {
    if (typeof define === 'function' && define.amd) {
      // AMD. Register as an anonymous module.
      define(['ApiClient', 'model/OAuth2Client', 'model/OpenIDConnectContext'], factory);
    } else if (typeof module === 'object' && module.exports) {
      // CommonJS-like environments that support module.exports, like Node.
      module.exports = factory(require('../ApiClient'), require('./OAuth2Client'), require('./OpenIDConnectContext'));
    } else {
      // Browser globals (root is window)
      if (!root.OryHydra) {
        root.OryHydra = {};
      }
      root.OryHydra.ConsentRequest = factory(root.OryHydra.ApiClient, root.OryHydra.OAuth2Client, root.OryHydra.OpenIDConnectContext);
    }
  }(this, function(ApiClient, OAuth2Client, OpenIDConnectContext) {
    'use strict';
  
  
  
  
    /**
     * The ConsentRequest model module.
     * @module model/ConsentRequest
     * @version latest
     */
  
    /**
     * Constructs a new <code>ConsentRequest</code>.
     * @alias module:model/ConsentRequest
     * @class
     */
    var exports = function() {
      var _this = this;
  
  
  
  
  
  
  
  
  
  
  
  
  
    };
  
    /**
     * Constructs a <code>ConsentRequest</code> from a plain JavaScript object, optionally creating a new instance.
     * Copies all relevant properties from <code>data</code> to <code>obj</code> if supplied or a new instance if not.
     * @param {Object} data The plain JavaScript object bearing properties of interest.
     * @param {module:model/ConsentRequest} obj Optional instance to populate.
     * @return {module:model/ConsentRequest} The populated <code>ConsentRequest</code> instance.
     */
    exports.constructFromObject = function(data, obj) {
      if (data) {
        obj = obj || new exports();
  
        if (data.hasOwnProperty('acr')) {
          obj['acr'] = ApiClient.convertToType(data['acr'], 'String');
        }
        if (data.hasOwnProperty('challenge')) {
          obj['challenge'] = ApiClient.convertToType(data['challenge'], 'String');
        }
        if (data.hasOwnProperty('client')) {
          obj['client'] = OAuth2Client.constructFromObject(data['client']);
        }
        if (data.hasOwnProperty('context')) {
          obj['context'] = ApiClient.convertToType(data['context'], {'String': Object});
        }
        if (data.hasOwnProperty('login_challenge')) {
          obj['login_challenge'] = ApiClient.convertToType(data['login_challenge'], 'String');
        }
        if (data.hasOwnProperty('login_session_id')) {
          obj['login_session_id'] = ApiClient.convertToType(data['login_session_id'], 'String');
        }
        if (data.hasOwnProperty('oidc_context')) {
          obj['oidc_context'] = OpenIDConnectContext.constructFromObject(data['oidc_context']);
        }
        if (data.hasOwnProperty('request_url')) {
          obj['request_url'] = ApiClient.convertToType(data['request_url'], 'String');
        }
        if (data.hasOwnProperty('requested_access_token_audience')) {
          obj['requested_access_token_audience'] = ApiClient.convertToType(data['requested_access_token_audience'], ['String']);
        }
        if (data.hasOwnProperty('requested_scope')) {
          obj['requested_scope'] = ApiClient.convertToType(data['requested_scope'], ['String']);
        }
        if (data.hasOwnProperty('skip')) {
          obj['skip'] = ApiClient.convertToType(data['skip'], 'Boolean');
        }
        if (data.hasOwnProperty('subject')) {
          obj['subject'] = ApiClient.convertToType(data['subject'], 'String');
        }
      }
      return obj;
    }
  
    /**
     * ACR represents the Authentication AuthorizationContext Class Reference value for this authentication session. You can use it to express that, for example, a user authenticated using two factor authentication.
     * @member {String} acr
     */
    exports.prototype['acr'] = undefined;
    /**
     * Challenge is the identifier (\"authorization challenge\") of the consent authorization request. It is used to identify the session.
     * @member {String} challenge
     */
    exports.prototype['challenge'] = undefined;
    /**
     * @member {module:model/OAuth2Client} client
     */
    exports.prototype['client'] = undefined;
    /**
     * Context contains arbitrary information set by the login endpoint or is empty if not set.
     * @member {Object.<String, Object>} context
     */
    exports.prototype['context'] = undefined;
    /**
     * LoginChallenge is the login challenge this consent challenge belongs to. It can be used to associate a login and consent request in the login & consent app.
     * @member {String} login_challenge
     */
    exports.prototype['login_challenge'] = undefined;
    /**
     * LoginSessionID is the login session ID. If the user-agent reuses a login session (via cookie / remember flag) this ID will remain the same. If the user-agent did not have an existing authentication session (e.g. remember is false) this will be a new random value. This value is used as the \"sid\" parameter in the ID Token and in OIDC Front-/Back- channel logout. It's value can generally be used to associate consecutive login requests by a certain user.
     * @member {String} login_session_id
     */
    exports.prototype['login_session_id'] = undefined;
    /**
     * @member {module:model/OpenIDConnectContext} oidc_context
     */
    exports.prototype['oidc_context'] = undefined;
    /**
     * RequestURL is the original OAuth 2.0 Authorization URL requested by the OAuth 2.0 client. It is the URL which initiates the OAuth 2.0 Authorization Code or OAuth 2.0 Implicit flow. This URL is typically not needed, but might come in handy if you want to deal with additional request parameters.
     * @member {String} request_url
     */
    exports.prototype['request_url'] = undefined;
    /**
     * RequestedScope contains the access token audience as requested by the OAuth 2.0 Client.
     * @member {Array.<String>} requested_access_token_audience
     */
    exports.prototype['requested_access_token_audience'] = undefined;
    /**
     * RequestedScope contains the OAuth 2.0 Scope requested by the OAuth 2.0 Client.
     * @member {Array.<String>} requested_scope
     */
    exports.prototype['requested_scope'] = undefined;
    /**
     * Skip, if true, implies that the client has requested the same scopes from the same user previously. If true, you must not ask the user to grant the requested scopes. You must however either allow or deny the consent request using the usual API call.
     * @member {Boolean} skip
     */
    exports.prototype['skip'] = undefined;
    /**
     * Subject is the user ID of the end-user that authenticated. Now, that end user needs to grant or deny the scope requested by the OAuth 2.0 client.
     * @member {String} subject
     */
    exports.prototype['subject'] = undefined;
  
  
  
    return exports;
  }));
  
  
  