|
/*
* NexPort Web API
*
* The NexPort Open Web API allows NexPort Campus Organizations to integrate, programatically, with remote systems. This is achieved by exposing most of the administrative features of Nexport through a JSON based, RPC style Web API.
*
* The version of the OpenAPI document: v1
* Contact: support@nexportcampus.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Text;
using System.Collections.Generic;
using System.Runtime.Serialization;
using Newtonsoft.Json;
using System.ComponentModel.DataAnnotations;
namespace NexportApi.Model
{
/// <summary>
/// Should conform to RFC 6750 Section 4 https://tools.ietf.org/html/rfc6750#section-4 and https://tools.ietf.org/html/rfc6749#section-4.2.2 If the resource owner grants the access request, the authorization server issues an access token and delivers it to the client by adding the following parameters to the fragment component of the redirection URI using the "application/x-www-form-urlencoded" format, per Appendix B:
/// </summary>
[DataContract]
public class AuthenticationTokenResponse : IEquatable<AuthenticationTokenResponse>, IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="AuthenticationTokenResponse" /> class.
/// </summary>
[JsonConstructor]
protected AuthenticationTokenResponse() { }
/// <summary>
/// Initializes a new instance of the <see cref="AuthenticationTokenResponse" /> class.
/// </summary>
/// <param name="accessToken">REQUIRED. The access token issued by the authorization server. (required).</param>
/// <param name="tokenType"> REQUIRED. The type of the token issued as described in Section 7.1. Value is case insensitive. (required).</param>
/// <param name="expiresIn"> RECOMMENDED. The lifetime in seconds of the access token. For example, the value "3600" denotes that the access token will expire in one hour from the time the response was generated. If omitted, the authorization server SHOULD provide the expiration time via other means or document the default value. This field will be excluded from the response if the client provides a specific expiration date in the request..</param>
/// <param name="apiErrorEntity">apiErrorEntity (required).</param>
public AuthenticationTokenResponse(Guid accessToken = default, string tokenType = default, int? expiresIn = default, ApiErrorEntity apiErrorEntity = default)
{
AccessToken = accessToken;
// to ensure "tokenType" is required (not null)
TokenType = tokenType ?? throw new ArgumentNullException(nameof(TokenType), "tokenType is a required property for AuthenticationTokenResponse and cannot be null");
// to ensure "apiErrorEntity" is required (not null)
ApiErrorEntity = apiErrorEntity ?? throw new ArgumentNullException(nameof(ApiErrorEntity), "apiErrorEntity is a required property for AuthenticationTokenResponse and cannot be null");
ExpiresIn = expiresIn;
}
/// <summary>
/// REQUIRED. The access token issued by the authorization server.
/// </summary>
/// <value>REQUIRED. The access token issued by the authorization server.</value>
[DataMember(Name = "access_token", EmitDefaultValue = false)]
public Guid AccessToken { get; set; }
/// <summary>
/// REQUIRED. The type of the token issued as described in Section 7.1. Value is case insensitive.
/// </summary>
/// <value> REQUIRED. The type of the token issued as described in Section 7.1. Value is case insensitive.</value>
[DataMember(Name = "token_type", EmitDefaultValue = false)]
public string TokenType { get; set; }
/// <summary>
/// RECOMMENDED. The lifetime in seconds of the access token. For example, the value "3600" denotes that the access token will expire in one hour from the time the response was generated. If omitted, the authorization server SHOULD provide the expiration time via other means or document the default value. This field will be excluded from the response if the client provides a specific expiration date in the request.
/// </summary>
/// <value> RECOMMENDED. The lifetime in seconds of the access token. For example, the value "3600" denotes that the access token will expire in one hour from the time the response was generated. If omitted, the authorization server SHOULD provide the expiration time via other means or document the default value. This field will be excluded from the response if the client provides a specific expiration date in the request.</value>
[DataMember(Name = "expires_in", EmitDefaultValue = false)]
public int? ExpiresIn { get; set; }
/// <summary>
/// Gets or Sets ApiErrorEntity
/// </summary>
[DataMember(Name = "api_error_entity", EmitDefaultValue = false)]
public ApiErrorEntity ApiErrorEntity { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
var sb = new StringBuilder();
sb.Append("class AuthenticationTokenResponse {\n");
sb.Append(" AccessToken: ").Append(AccessToken).Append("\n");
sb.Append(" TokenType: ").Append(TokenType).Append("\n");
sb.Append(" ExpiresIn: ").Append(ExpiresIn).Append("\n");
sb.Append(" ApiErrorEntity: ").Append(ApiErrorEntity).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return JsonConvert.SerializeObject(this, Formatting.Indented);
}
/// <summary>
/// Returns true if objects are equal
/// </summary>
/// <param name="input">Object to be compared</param>
/// <returns>Boolean</returns>
public override bool Equals(object input)
{
return Equals(input as AuthenticationTokenResponse);
}
/// <summary>
/// Returns true if AuthenticationTokenResponse instances are equal
/// </summary>
/// <param name="input">Instance of AuthenticationTokenResponse to be compared</param>
/// <returns>Boolean</returns>
public bool Equals(AuthenticationTokenResponse input)
{
if (input == null)
return false;
return
(
AccessToken == input.AccessToken ||
(AccessToken.Equals(input.AccessToken))
) &&
(
TokenType == input.TokenType ||
(TokenType != null &&
TokenType.Equals(input.TokenType))
) &&
(
ExpiresIn == input.ExpiresIn ||
(ExpiresIn != null &&
ExpiresIn.Equals(input.ExpiresIn))
) &&
(
ApiErrorEntity.Equals(input.ApiErrorEntity) ||
(ApiErrorEntity != null &&
ApiErrorEntity.Equals(input.ApiErrorEntity))
);
}
/// <summary>
/// Gets the hash code
/// </summary>
/// <returns>Hash code</returns>
public override int GetHashCode()
{
unchecked // Overflow is fine, just wrap
{
var hashCode = 41;
hashCode = hashCode * 59 + AccessToken.GetHashCode();
if (TokenType != null)
hashCode = hashCode * 59 + TokenType.GetHashCode();
if (ExpiresIn != null)
hashCode = hashCode * 59 + ExpiresIn.GetHashCode();
if (ApiErrorEntity != null)
hashCode = hashCode * 59 + ApiErrorEntity.GetHashCode();
return hashCode;
}
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}
|
Loading...