|
/*
* 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.IO;
using System.Text;
using System.Collections.Generic;
using System.Runtime.Serialization;
using Newtonsoft.Json;
using System.ComponentModel.DataAnnotations;
namespace NexportApi.Model
{
/// <summary>
/// Contains response information for an SSO request
/// </summary>
[DataContract]
public class SsoResponse : IEquatable<SsoResponse>, IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="SsoResponse" /> class.
/// </summary>
[JsonConstructor]
protected SsoResponse() { }
/// <summary>
/// Initializes a new instance of the <see cref="SsoResponse" /> class.
/// </summary>
/// <param name="url">Url to redirect to after SSO authentication (required).</param>
/// <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 SsoResponse(string url = default, Guid accessToken = default, string tokenType = default, int? expiresIn = default, ApiErrorEntity apiErrorEntity = default)
{
// to ensure "url" is required (not null)
Url = url ?? throw new InvalidDataException("url is a required property for SsoResponse and cannot be null");
AccessToken = accessToken;
// to ensure "tokenType" is required (not null)
TokenType = tokenType ?? throw new InvalidDataException("tokenType is a required property for SsoResponse and cannot be null");
// to ensure "apiErrorEntity" is required (not null)
ApiErrorEntity = apiErrorEntity ?? throw new InvalidDataException("apiErrorEntity is a required property for SsoResponse and cannot be null");
ExpiresIn = expiresIn;
}
/// <summary>
/// Url to redirect to after SSO authentication
/// </summary>
/// <value>Url to redirect to after SSO authentication</value>
[DataMember(Name = "url", EmitDefaultValue = false)]
public string Url { get; set; }
/// <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 SsoResponse {\n");
sb.Append(" Url: ").Append(Url).Append("\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 SsoResponse);
}
/// <summary>
/// Returns true if SsoResponse instances are equal
/// </summary>
/// <param name="input">Instance of SsoResponse to be compared</param>
/// <returns>Boolean</returns>
public bool Equals(SsoResponse input)
{
if (input == null)
return false;
return
(
Url == input.Url ||
(Url != null &&
Url.Equals(input.Url))
) &&
(
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;
if (Url != null)
hashCode = hashCode * 59 + Url.GetHashCode();
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...