|
/*
* 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.Threading.Tasks;
using NexportApi.Client;
using NexportApi.Model;
namespace NexportApi.Api
{
/// <summary>
/// Represents a collection of functions to interact with the API endpoints
/// </summary>
public interface ISsoApiSync : IApiAccessor
{
#region Synchronous Operations
/// <summary>
/// Retrieves url of classroom student view for a particular enrollment. Can also create a redirect entity to attach to the subscription of the enrollment which will cause the subscribed user to be redirected upon logging out, using an expired token, or using an invalid token (if those urls are set). Requires the Use SSO API permission in the enrollment subscription organization or an ancestor.
/// </summary>
/// <exception cref="ApiException">Thrown when fails to make API call</exception>
/// <param name="accessToken">Use the AdminApi Authenticate method to get the access_token</param>
/// <param name="classroomSsoRequest">Contains option for chrome/nochrome and enrollment id</param>
/// <returns>SsoResponse</returns>
SsoResponse SsoApiClassroom(string accessToken, ClassroomSsoRequest classroomSsoRequest);
/// <summary>
/// Retrieves url of classroom student view for a particular enrollment. Can also create a redirect entity to attach to the subscription of the enrollment which will cause the subscribed user to be redirected upon logging out, using an expired token, or using an invalid token (if those urls are set). Requires the Use SSO API permission in the enrollment subscription organization or an ancestor.
/// </summary>
/// <exception cref="ApiException">Thrown when fails to make API call</exception>
/// <param name="accessToken">Use the AdminApi Authenticate method to get the access_token</param>
/// <param name="classroomSsoRequest">Contains option for chrome/nochrome and enrollment id</param>
/// <returns>ApiResponse of SsoResponse</returns>
ApiResponse<SsoResponse> SsoApiClassroomWithHttpInfo(string accessToken, ClassroomSsoRequest classroomSsoRequest);
/// <summary>
/// Automatically log users into Nexport with out requiring their login credentials. Can also create a redirect entity to attach to the subscription of the user in the organization which will cause them to be redirected upon logging out, using an expired token, or using an invalid token (if those urls are set). Can use either user_id and org_id OR just subscription_id. Requires the Use SSO API permission in the subscription organization or an ancestor.
/// </summary>
/// <exception cref="ApiException">Thrown when fails to make API call</exception>
/// <param name="accessToken">Use the AdminApi Authenticate method to get the access_token</param>
/// <param name="ssoRequest">Request information</param>
/// <returns>SsoResponse</returns>
SsoResponse SsoApiSignIn(string accessToken, SsoRequest ssoRequest);
/// <summary>
/// Automatically log users into Nexport with out requiring their login credentials. Can also create a redirect entity to attach to the subscription of the user in the organization which will cause them to be redirected upon logging out, using an expired token, or using an invalid token (if those urls are set). Can use either user_id and org_id OR just subscription_id. Requires the Use SSO API permission in the subscription organization or an ancestor.
/// </summary>
/// <exception cref="ApiException">Thrown when fails to make API call</exception>
/// <param name="accessToken">Use the AdminApi Authenticate method to get the access_token</param>
/// <param name="ssoRequest">Request information</param>
/// <returns>ApiResponse of SsoResponse</returns>
ApiResponse<SsoResponse> SsoApiSignInWithHttpInfo(string accessToken, SsoRequest ssoRequest);
#endregion Synchronous Operations
}
/// <summary>
/// Represents a collection of functions to interact with the API endpoints
/// </summary>
public interface ISsoApiAsync : IApiAccessor
{
#region Asynchronous Operations
/// <summary>
/// Retrieves url of classroom student view for a particular enrollment. Can also create a redirect entity to attach to the subscription of the enrollment which will cause the subscribed user to be redirected upon logging out, using an expired token, or using an invalid token (if those urls are set). Requires the Use SSO API permission in the enrollment subscription organization or an ancestor.
/// </summary>
/// <exception cref="ApiException">Thrown when fails to make API call</exception>
/// <param name="accessToken">Use the AdminApi Authenticate method to get the access_token</param>
/// <param name="classroomSsoRequest">Contains option for chrome/nochrome and enrollment id</param>
/// <returns>Task of SsoResponse</returns>
Task<SsoResponse> SsoApiClassroomAsync(string accessToken, ClassroomSsoRequest classroomSsoRequest);
/// <summary>
/// Retrieves url of classroom student view for a particular enrollment. Can also create a redirect entity to attach to the subscription of the enrollment which will cause the subscribed user to be redirected upon logging out, using an expired token, or using an invalid token (if those urls are set). Requires the Use SSO API permission in the enrollment subscription organization or an ancestor.
/// </summary>
/// <exception cref="ApiException">Thrown when fails to make API call</exception>
/// <param name="accessToken">Use the AdminApi Authenticate method to get the access_token</param>
/// <param name="classroomSsoRequest">Contains option for chrome/nochrome and enrollment id</param>
/// <returns>Task of ApiResponse (SsoResponse)</returns>
Task<ApiResponse<SsoResponse>> SsoApiClassroomAsyncWithHttpInfo(string accessToken, ClassroomSsoRequest classroomSsoRequest);
/// <summary>
/// Automatically log users into Nexport with out requiring their login credentials. Can also create a redirect entity to attach to the subscription of the user in the organization which will cause them to be redirected upon logging out, using an expired token, or using an invalid token (if those urls are set). Can use either user_id and org_id OR just subscription_id. Requires the Use SSO API permission in the subscription organization or an ancestor.
/// </summary>
/// <exception cref="ApiException">Thrown when fails to make API call</exception>
/// <param name="accessToken">Use the AdminApi Authenticate method to get the access_token</param>
/// <param name="ssoRequest">Request information</param>
/// <returns>Task of SsoResponse</returns>
Task<SsoResponse> SsoApiSignInAsync(string accessToken, SsoRequest ssoRequest);
/// <summary>
/// Automatically log users into Nexport with out requiring their login credentials. Can also create a redirect entity to attach to the subscription of the user in the organization which will cause them to be redirected upon logging out, using an expired token, or using an invalid token (if those urls are set). Can use either user_id and org_id OR just subscription_id. Requires the Use SSO API permission in the subscription organization or an ancestor.
/// </summary>
/// <exception cref="ApiException">Thrown when fails to make API call</exception>
/// <param name="accessToken">Use the AdminApi Authenticate method to get the access_token</param>
/// <param name="ssoRequest">Request information</param>
/// <returns>Task of ApiResponse (SsoResponse)</returns>
Task<ApiResponse<SsoResponse>> SsoApiSignInAsyncWithHttpInfo(string accessToken, SsoRequest ssoRequest);
#endregion Asynchronous Operations
}
/// <summary>
/// Represents a collection of functions to interact with the API endpoints
/// </summary>
public interface ISsoApi : ISsoApiSync, ISsoApiAsync
{
}
/// <summary>
/// Represents a collection of functions to interact with the API endpoints
/// </summary>
public class SsoApi : ISsoApi
{
private ExceptionFactory _exceptionFactory = (name, response) => null;
/// <summary>
/// Initializes a new instance of the <see cref="SsoApi"/> class.
/// </summary>
/// <returns></returns>
public SsoApi() : this((string)null)
{
}
/// <summary>
/// Initializes a new instance of the <see cref="SsoApi"/> class.
/// </summary>
/// <returns></returns>
public SsoApi(string basePath)
{
Configuration = NexportApi.Client.Configuration.MergeConfigurations(
GlobalConfiguration.Instance,
new Configuration { BasePath = basePath }
);
Client = new ApiClient(Configuration.BasePath);
AsynchronousClient = new ApiClient(Configuration.BasePath);
ExceptionFactory = NexportApi.Client.Configuration.DefaultExceptionFactory;
}
/// <summary>
/// Initializes a new instance of the <see cref="SsoApi"/> class
/// using Configuration object
/// </summary>
/// <param name="configuration">An instance of Configuration</param>
/// <returns></returns>
public SsoApi(Configuration configuration)
{
if (configuration == null) throw new ArgumentNullException(nameof(configuration));
Configuration = NexportApi.Client.Configuration.MergeConfigurations(
GlobalConfiguration.Instance,
configuration
);
Client = new ApiClient(Configuration.BasePath);
AsynchronousClient = new ApiClient(Configuration.BasePath);
ExceptionFactory = NexportApi.Client.Configuration.DefaultExceptionFactory;
}
/// <summary>
/// Initializes a new instance of the <see cref="SsoApi"/> class
/// using a Configuration object and client instance.
/// </summary>
/// <param name="client">The client interface for synchronous API access.</param>
/// <param name="asyncClient">The client interface for asynchronous API access.</param>
/// <param name="configuration">The configuration object.</param>
public SsoApi(ISynchronousClient client, IAsynchronousClient asyncClient, IReadableConfiguration configuration)
{
Client = client ?? throw new ArgumentNullException(nameof(client));
AsynchronousClient = asyncClient ?? throw new ArgumentNullException(nameof(asyncClient));
Configuration = configuration ?? throw new ArgumentNullException(nameof(configuration));
ExceptionFactory = NexportApi.Client.Configuration.DefaultExceptionFactory;
}
/// <summary>
/// The client for accessing this underlying API asynchronously.
/// </summary>
public IAsynchronousClient AsynchronousClient { get; set; }
/// <summary>
/// The client for accessing this underlying API synchronously.
/// </summary>
public ISynchronousClient Client { get; set; }
/// <summary>
/// Gets the base path of the API client.
/// </summary>
/// <value>The base path</value>
public string GetBasePath()
{
return Configuration.BasePath;
}
/// <summary>
/// Gets or sets the configuration object
/// </summary>
/// <value>An instance of the Configuration</value>
public IReadableConfiguration Configuration { get; set; }
/// <summary>
/// Provides a factory method hook for the creation of exceptions.
/// </summary>
public ExceptionFactory ExceptionFactory
{
get
{
if (_exceptionFactory != null && _exceptionFactory.GetInvocationList().Length > 1)
{
throw new InvalidOperationException("Multicast delegate for ExceptionFactory is unsupported.");
}
return _exceptionFactory;
}
set => _exceptionFactory = value;
}
/// <summary>
/// Retrieves url of classroom student view for a particular enrollment. Can also create a redirect entity to attach to the subscription of the enrollment which will cause the subscribed user to be redirected upon logging out, using an expired token, or using an invalid token (if those urls are set). Requires the Use SSO API permission in the enrollment subscription organization or an ancestor.
/// </summary>
/// <exception cref="ApiException">Thrown when fails to make API call</exception>
/// <param name="accessToken">Use the AdminApi Authenticate method to get the access_token</param>
/// <param name="classroomSsoRequest">Contains option for chrome/nochrome and enrollment id</param>
/// <returns>SsoResponse</returns>
public SsoResponse SsoApiClassroom(string accessToken, ClassroomSsoRequest classroomSsoRequest)
{
var localVarResponse = SsoApiClassroomWithHttpInfo(accessToken, classroomSsoRequest);
return localVarResponse.Data;
}
/// <summary>
/// Retrieves url of classroom student view for a particular enrollment. Can also create a redirect entity to attach to the subscription of the enrollment which will cause the subscribed user to be redirected upon logging out, using an expired token, or using an invalid token (if those urls are set). Requires the Use SSO API permission in the enrollment subscription organization or an ancestor.
/// </summary>
/// <exception cref="ApiException">Thrown when fails to make API call</exception>
/// <param name="accessToken">Use the AdminApi Authenticate method to get the access_token</param>
/// <param name="classroomSsoRequest">Contains option for chrome/nochrome and enrollment id</param>
/// <returns>ApiResponse of SsoResponse</returns>
public ApiResponse<SsoResponse> SsoApiClassroomWithHttpInfo(string accessToken, ClassroomSsoRequest classroomSsoRequest)
{
// verify the required parameter 'accessToken' is set
if (accessToken == null)
throw new ApiException(400, "Missing required parameter 'accessToken' when calling SsoApi->SsoApiClassroom");
// verify the required parameter 'classroomSsoRequest' is set
if (classroomSsoRequest == null)
throw new ApiException(400, "Missing required parameter 'classroomSsoRequest' when calling SsoApi->SsoApiClassroom");
var localVarRequestOptions = new RequestOptions();
var contentTypes = new[] {
"application/json",
"text/json"
};
// to determine the Accept header
var accepts = new[] {
"application/json",
"text/json"
};
var localVarContentType = ClientUtils.SelectHeaderContentType(contentTypes);
if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
var localVarAccept = ClientUtils.SelectHeaderAccept(accepts);
if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
localVarRequestOptions.QueryParameters.Add(ClientUtils.ParameterToMultiMap("", "access_token", accessToken));
localVarRequestOptions.Data = classroomSsoRequest;
// make the HTTP request
var localVarResponse = Client.Post<SsoResponse>("/api/v1/SsoApi/Classroom", localVarRequestOptions, Configuration);
var exception = ExceptionFactory?.Invoke("SsoApiClassroom", localVarResponse);
if (exception != null) throw exception;
return localVarResponse;
}
/// <summary>
/// Retrieves url of classroom student view for a particular enrollment. Can also create a redirect entity to attach to the subscription of the enrollment which will cause the subscribed user to be redirected upon logging out, using an expired token, or using an invalid token (if those urls are set). Requires the Use SSO API permission in the enrollment subscription organization or an ancestor.
/// </summary>
/// <exception cref="ApiException">Thrown when fails to make API call</exception>
/// <param name="accessToken">Use the AdminApi Authenticate method to get the access_token</param>
/// <param name="classroomSsoRequest">Contains option for chrome/nochrome and enrollment id</param>
/// <returns>Task of SsoResponse</returns>
public async Task<SsoResponse> SsoApiClassroomAsync(string accessToken, ClassroomSsoRequest classroomSsoRequest)
{
var localVarResponse = await SsoApiClassroomAsyncWithHttpInfo(accessToken, classroomSsoRequest);
return localVarResponse.Data;
}
/// <summary>
/// Retrieves url of classroom student view for a particular enrollment. Can also create a redirect entity to attach to the subscription of the enrollment which will cause the subscribed user to be redirected upon logging out, using an expired token, or using an invalid token (if those urls are set). Requires the Use SSO API permission in the enrollment subscription organization or an ancestor.
/// </summary>
/// <exception cref="ApiException">Thrown when fails to make API call</exception>
/// <param name="accessToken">Use the AdminApi Authenticate method to get the access_token</param>
/// <param name="classroomSsoRequest">Contains option for chrome/nochrome and enrollment id</param>
/// <returns>Task of ApiResponse (SsoResponse)</returns>
public async Task<ApiResponse<SsoResponse>> SsoApiClassroomAsyncWithHttpInfo(string accessToken, ClassroomSsoRequest classroomSsoRequest)
{
// verify the required parameter 'accessToken' is set
if (accessToken == null)
throw new ApiException(400, "Missing required parameter 'accessToken' when calling SsoApi->SsoApiClassroom");
// verify the required parameter 'classroomSsoRequest' is set
if (classroomSsoRequest == null)
throw new ApiException(400, "Missing required parameter 'classroomSsoRequest' when calling SsoApi->SsoApiClassroom");
var localVarRequestOptions = new RequestOptions();
var contentTypes = new[] {
"application/json",
"text/json"
};
// to determine the Accept header
var accepts = new[] {
"application/json",
"text/json"
};
foreach (var contentType in contentTypes)
localVarRequestOptions.HeaderParameters.Add("Content-Type", contentType);
foreach (var accept in accepts)
localVarRequestOptions.HeaderParameters.Add("Accept", accept);
localVarRequestOptions.QueryParameters.Add(ClientUtils.ParameterToMultiMap("", "access_token", accessToken));
localVarRequestOptions.Data = classroomSsoRequest;
// make the HTTP request
var localVarResponse = await AsynchronousClient.PostAsync<SsoResponse>("/api/v1/SsoApi/Classroom", localVarRequestOptions, Configuration);
var exception = ExceptionFactory?.Invoke("SsoApiClassroom", localVarResponse);
if (exception != null) throw exception;
return localVarResponse;
}
/// <summary>
/// Automatically log users into Nexport with out requiring their login credentials. Can also create a redirect entity to attach to the subscription of the user in the organization which will cause them to be redirected upon logging out, using an expired token, or using an invalid token (if those urls are set). Can use either user_id and org_id OR just subscription_id. Requires the Use SSO API permission in the subscription organization or an ancestor.
/// </summary>
/// <exception cref="ApiException">Thrown when fails to make API call</exception>
/// <param name="accessToken">Use the AdminApi Authenticate method to get the access_token</param>
/// <param name="ssoRequest">Request information</param>
/// <returns>SsoResponse</returns>
public SsoResponse SsoApiSignIn(string accessToken, SsoRequest ssoRequest)
{
var localVarResponse = SsoApiSignInWithHttpInfo(accessToken, ssoRequest);
return localVarResponse.Data;
}
/// <summary>
/// Automatically log users into Nexport with out requiring their login credentials. Can also create a redirect entity to attach to the subscription of the user in the organization which will cause them to be redirected upon logging out, using an expired token, or using an invalid token (if those urls are set). Can use either user_id and org_id OR just subscription_id. Requires the Use SSO API permission in the subscription organization or an ancestor.
/// </summary>
/// <exception cref="ApiException">Thrown when fails to make API call</exception>
/// <param name="accessToken">Use the AdminApi Authenticate method to get the access_token</param>
/// <param name="ssoRequest">Request information</param>
/// <returns>ApiResponse of SsoResponse</returns>
public ApiResponse<SsoResponse> SsoApiSignInWithHttpInfo(string accessToken, SsoRequest ssoRequest)
{
// verify the required parameter 'accessToken' is set
if (accessToken == null)
throw new ApiException(400, "Missing required parameter 'accessToken' when calling SsoApi->SsoApiSignIn");
// verify the required parameter 'ssoRequest' is set
if (ssoRequest == null)
throw new ApiException(400, "Missing required parameter 'ssoRequest' when calling SsoApi->SsoApiSignIn");
var localVarRequestOptions = new RequestOptions();
var contentTypes = new[] {
"application/json",
"text/json"
};
// to determine the Accept header
var accepts = new[] {
"application/json",
"text/json"
};
var localVarContentType = ClientUtils.SelectHeaderContentType(contentTypes);
if (localVarContentType != null) localVarRequestOptions.HeaderParameters.Add("Content-Type", localVarContentType);
var localVarAccept = ClientUtils.SelectHeaderAccept(accepts);
if (localVarAccept != null) localVarRequestOptions.HeaderParameters.Add("Accept", localVarAccept);
localVarRequestOptions.QueryParameters.Add(ClientUtils.ParameterToMultiMap("", "access_token", accessToken));
localVarRequestOptions.Data = ssoRequest;
// make the HTTP request
var localVarResponse = Client.Post<SsoResponse>("/api/v1/SsoApi/SignIn", localVarRequestOptions, Configuration);
var exception = ExceptionFactory?.Invoke("SsoApiSignIn", localVarResponse);
if (exception != null) throw exception;
return localVarResponse;
}
/// <summary>
/// Automatically log users into Nexport with out requiring their login credentials. Can also create a redirect entity to attach to the subscription of the user in the organization which will cause them to be redirected upon logging out, using an expired token, or using an invalid token (if those urls are set). Can use either user_id and org_id OR just subscription_id. Requires the Use SSO API permission in the subscription organization or an ancestor.
/// </summary>
/// <exception cref="ApiException">Thrown when fails to make API call</exception>
/// <param name="accessToken">Use the AdminApi Authenticate method to get the access_token</param>
/// <param name="ssoRequest">Request information</param>
/// <returns>Task of SsoResponse</returns>
public async Task<SsoResponse> SsoApiSignInAsync(string accessToken, SsoRequest ssoRequest)
{
var localVarResponse = await SsoApiSignInAsyncWithHttpInfo(accessToken, ssoRequest);
return localVarResponse.Data;
}
/// <summary>
/// Automatically log users into Nexport with out requiring their login credentials. Can also create a redirect entity to attach to the subscription of the user in the organization which will cause them to be redirected upon logging out, using an expired token, or using an invalid token (if those urls are set). Can use either user_id and org_id OR just subscription_id. Requires the Use SSO API permission in the subscription organization or an ancestor.
/// </summary>
/// <exception cref="ApiException">Thrown when fails to make API call</exception>
/// <param name="accessToken">Use the AdminApi Authenticate method to get the access_token</param>
/// <param name="ssoRequest">Request information</param>
/// <returns>Task of ApiResponse (SsoResponse)</returns>
public async Task<ApiResponse<SsoResponse>> SsoApiSignInAsyncWithHttpInfo(string accessToken, SsoRequest ssoRequest)
{
// verify the required parameter 'accessToken' is set
if (accessToken == null)
throw new ApiException(400, "Missing required parameter 'accessToken' when calling SsoApi->SsoApiSignIn");
// verify the required parameter 'ssoRequest' is set
if (ssoRequest == null)
throw new ApiException(400, "Missing required parameter 'ssoRequest' when calling SsoApi->SsoApiSignIn");
var localVarRequestOptions = new RequestOptions();
var contentTypes = new[] {
"application/json",
"text/json"
};
// to determine the Accept header
var accepts = new[] {
"application/json",
"text/json"
};
foreach (var contentType in contentTypes)
localVarRequestOptions.HeaderParameters.Add("Content-Type", contentType);
foreach (var accept in accepts)
localVarRequestOptions.HeaderParameters.Add("Accept", accept);
localVarRequestOptions.QueryParameters.Add(ClientUtils.ParameterToMultiMap("", "access_token", accessToken));
localVarRequestOptions.Data = ssoRequest;
// make the HTTP request
var localVarResponse = await AsynchronousClient.PostAsync<SsoResponse>("/api/v1/SsoApi/SignIn", localVarRequestOptions, Configuration);
var exception = ExceptionFactory?.Invoke("SsoApiSignIn", localVarResponse);
if (exception != null) throw exception;
return localVarResponse;
}
}
}
|
Loading...