Skip to content

Commit

Permalink
feat: Autogenerate SDK (#255)
Browse files Browse the repository at this point in the history
  • Loading branch information
greathouse authored Jul 2, 2024
1 parent dca36aa commit 0f1df12
Show file tree
Hide file tree
Showing 654 changed files with 76,144 additions and 17,171 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/pull-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v1
with:
dotnet-version: 7.0.x
dotnet-version: 8.0.x

- name: Verify
run: bash scripts/verify.sh
- name: Build
run: bash scripts/build.sh
36 changes: 36 additions & 0 deletions .openapi-generator-ignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# OpenAPI Generator Ignore
# Generated by openapi-generator https://github.com/openapitools/openapi-generator

# Use this file to prevent files from being overwritten by the generator.
# The patterns follow closely to .gitignore or .dockerignore.

# As an example, the C# client generator defines ApiClient.cs.
# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line:
#ApiClient.cs

# You can match any string of characters against a directory, file or extension with a single asterisk (*):
#foo/*/qux
# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux

# You can recursively match patterns against a directory, file or extension with a double asterisk (**):
#foo/**/qux
# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux

# You can also negate patterns with an exclamation (!).
# For example, you can ignore all files in a docs folder with the file extension .md:
#docs/*.md
# Then explicitly reverse the ignore rule for a single file:
#!docs/README.md

.github/**/*
.gitignore
.travis.yml
appveyor.yml
build.bat
build.sh
BasisTheory.net.sln
git_push.sh
mono_nunit_test.sh
scripts/**/*
makefile
swagger.json
246 changes: 246 additions & 0 deletions .openapi-generator/FILES
Original file line number Diff line number Diff line change
@@ -0,0 +1,246 @@
README.md
docs/AccessRule.md
docs/Application.md
docs/ApplicationKey.md
docs/ApplicationKeysApi.md
docs/ApplicationPaginatedList.md
docs/ApplicationTemplate.md
docs/ApplicationTemplatesApi.md
docs/ApplicationsApi.md
docs/AuthenticateThreeDSSessionRequest.md
docs/AuthorizeSessionRequest.md
docs/BinDetails.md
docs/BinDetailsBank.md
docs/BinDetailsCountry.md
docs/BinDetailsProduct.md
docs/CardDetails.md
docs/Condition.md
docs/CreateApplicationRequest.md
docs/CreateProxyRequest.md
docs/CreateReactorFormulaRequest.md
docs/CreateReactorRequest.md
docs/CreateSessionResponse.md
docs/CreateTenantConnectionRequest.md
docs/CreateTenantConnectionResponse.md
docs/CreateTenantInvitationRequest.md
docs/CreateTokenRequest.md
docs/CursorPagination.md
docs/GetApplications.md
docs/GetLogs.md
docs/GetPermissions.md
docs/GetProxies.md
docs/GetReactorFormulas.md
docs/GetReactors.md
docs/GetTenantInvitations.md
docs/GetTenantMembers.md
docs/GetTokens.md
docs/GetTokensV2.md
docs/Log.md
docs/LogEntityType.md
docs/LogPaginatedList.md
docs/LogsApi.md
docs/Pagination.md
docs/PatchProxyRequest.md
docs/PatchReactorRequest.md
docs/Permission.md
docs/PermissionsApi.md
docs/Privacy.md
docs/ProblemDetails.md
docs/ProxiesApi.md
docs/Proxy.md
docs/ProxyPaginatedList.md
docs/ProxyTransform.md
docs/ReactRequest.md
docs/ReactResponse.md
docs/Reactor.md
docs/ReactorFormula.md
docs/ReactorFormulaConfiguration.md
docs/ReactorFormulaPaginatedList.md
docs/ReactorFormulaRequestParameter.md
docs/ReactorFormulasApi.md
docs/ReactorPaginatedList.md
docs/ReactorsApi.md
docs/Role.md
docs/RolesApi.md
docs/SearchTokensRequest.md
docs/SearchTokensRequestV2.md
docs/SessionsApi.md
docs/StringStringKeyValuePair.md
docs/Tenant.md
docs/TenantConnectionOptions.md
docs/TenantInvitationResponse.md
docs/TenantInvitationResponsePaginatedList.md
docs/TenantInvitationStatus.md
docs/TenantMemberResponse.md
docs/TenantMemberResponsePaginatedList.md
docs/TenantUsageReport.md
docs/TenantsApi.md
docs/ThreeDSAcsRenderingType.md
docs/ThreeDSAddress.md
docs/ThreeDSApi.md
docs/ThreeDSAuthentication.md
docs/ThreeDSCardholderAccountInfo.md
docs/ThreeDSCardholderAuthenticationInfo.md
docs/ThreeDSCardholderInfo.md
docs/ThreeDSCardholderPhoneNumber.md
docs/ThreeDSDeviceInfo.md
docs/ThreeDSMerchantInfo.md
docs/ThreeDSMerchantRiskInfo.md
docs/ThreeDSMessageExtension.md
docs/ThreeDSMethod.md
docs/ThreeDSMobileSdkRenderOptions.md
docs/ThreeDSPriorAuthenticationInfo.md
docs/ThreeDSPurchaseInfo.md
docs/ThreeDSRequestorInfo.md
docs/ThreeDSSession.md
docs/ThreeDSVersion.md
docs/Token.md
docs/TokenCursorPaginatedList.md
docs/TokenEnrichments.md
docs/TokenMetrics.md
docs/TokenPaginatedList.md
docs/TokenReport.md
docs/TokenizeApi.md
docs/TokensApi.md
docs/UpdateApplicationRequest.md
docs/UpdatePrivacy.md
docs/UpdateProxyRequest.md
docs/UpdateReactorFormulaRequest.md
docs/UpdateReactorRequest.md
docs/UpdateTenantMemberRequest.md
docs/UpdateTenantRequest.md
docs/UpdateTokenRequest.md
docs/User.md
docs/ValidationProblemDetails.md
src/BasisTheory.net.Test/BasisTheory.net.Test.csproj
src/BasisTheory.net/Api/ApplicationKeysApi.cs
src/BasisTheory.net/Api/ApplicationTemplatesApi.cs
src/BasisTheory.net/Api/ApplicationsApi.cs
src/BasisTheory.net/Api/LogsApi.cs
src/BasisTheory.net/Api/PermissionsApi.cs
src/BasisTheory.net/Api/ProxiesApi.cs
src/BasisTheory.net/Api/ReactorFormulasApi.cs
src/BasisTheory.net/Api/ReactorsApi.cs
src/BasisTheory.net/Api/RolesApi.cs
src/BasisTheory.net/Api/SessionsApi.cs
src/BasisTheory.net/Api/TenantsApi.cs
src/BasisTheory.net/Api/ThreeDSApi.cs
src/BasisTheory.net/Api/TokenizeApi.cs
src/BasisTheory.net/Api/TokensApi.cs
src/BasisTheory.net/BasisTheory.net.csproj
src/BasisTheory.net/Client/ApiClient.cs
src/BasisTheory.net/Client/ApiException.cs
src/BasisTheory.net/Client/ApiResponse.cs
src/BasisTheory.net/Client/ClientUtils.cs
src/BasisTheory.net/Client/Configuration.cs
src/BasisTheory.net/Client/ExceptionFactory.cs
src/BasisTheory.net/Client/GlobalConfiguration.cs
src/BasisTheory.net/Client/HttpMethod.cs
src/BasisTheory.net/Client/IApiAccessor.cs
src/BasisTheory.net/Client/IAsynchronousClient.cs
src/BasisTheory.net/Client/IReadableConfiguration.cs
src/BasisTheory.net/Client/ISynchronousClient.cs
src/BasisTheory.net/Client/Multimap.cs
src/BasisTheory.net/Client/OpenAPIDateConverter.cs
src/BasisTheory.net/Client/RequestOptions.cs
src/BasisTheory.net/Client/RetryConfiguration.cs
src/BasisTheory.net/Model/AbstractOpenAPISchema.cs
src/BasisTheory.net/Model/AccessRule.cs
src/BasisTheory.net/Model/Application.cs
src/BasisTheory.net/Model/ApplicationKey.cs
src/BasisTheory.net/Model/ApplicationPaginatedList.cs
src/BasisTheory.net/Model/ApplicationTemplate.cs
src/BasisTheory.net/Model/AuthenticateThreeDSSessionRequest.cs
src/BasisTheory.net/Model/AuthorizeSessionRequest.cs
src/BasisTheory.net/Model/BinDetails.cs
src/BasisTheory.net/Model/BinDetailsBank.cs
src/BasisTheory.net/Model/BinDetailsCountry.cs
src/BasisTheory.net/Model/BinDetailsProduct.cs
src/BasisTheory.net/Model/CardDetails.cs
src/BasisTheory.net/Model/Condition.cs
src/BasisTheory.net/Model/CreateApplicationRequest.cs
src/BasisTheory.net/Model/CreateProxyRequest.cs
src/BasisTheory.net/Model/CreateReactorFormulaRequest.cs
src/BasisTheory.net/Model/CreateReactorRequest.cs
src/BasisTheory.net/Model/CreateSessionResponse.cs
src/BasisTheory.net/Model/CreateTenantConnectionRequest.cs
src/BasisTheory.net/Model/CreateTenantConnectionResponse.cs
src/BasisTheory.net/Model/CreateTenantInvitationRequest.cs
src/BasisTheory.net/Model/CreateTokenRequest.cs
src/BasisTheory.net/Model/CursorPagination.cs
src/BasisTheory.net/Model/GetApplications.cs
src/BasisTheory.net/Model/GetLogs.cs
src/BasisTheory.net/Model/GetPermissions.cs
src/BasisTheory.net/Model/GetProxies.cs
src/BasisTheory.net/Model/GetReactorFormulas.cs
src/BasisTheory.net/Model/GetReactors.cs
src/BasisTheory.net/Model/GetTenantInvitations.cs
src/BasisTheory.net/Model/GetTenantMembers.cs
src/BasisTheory.net/Model/GetTokens.cs
src/BasisTheory.net/Model/GetTokensV2.cs
src/BasisTheory.net/Model/Log.cs
src/BasisTheory.net/Model/LogEntityType.cs
src/BasisTheory.net/Model/LogPaginatedList.cs
src/BasisTheory.net/Model/Pagination.cs
src/BasisTheory.net/Model/PatchProxyRequest.cs
src/BasisTheory.net/Model/PatchReactorRequest.cs
src/BasisTheory.net/Model/Permission.cs
src/BasisTheory.net/Model/Privacy.cs
src/BasisTheory.net/Model/ProblemDetails.cs
src/BasisTheory.net/Model/Proxy.cs
src/BasisTheory.net/Model/ProxyPaginatedList.cs
src/BasisTheory.net/Model/ProxyTransform.cs
src/BasisTheory.net/Model/ReactRequest.cs
src/BasisTheory.net/Model/ReactResponse.cs
src/BasisTheory.net/Model/Reactor.cs
src/BasisTheory.net/Model/ReactorFormula.cs
src/BasisTheory.net/Model/ReactorFormulaConfiguration.cs
src/BasisTheory.net/Model/ReactorFormulaPaginatedList.cs
src/BasisTheory.net/Model/ReactorFormulaRequestParameter.cs
src/BasisTheory.net/Model/ReactorPaginatedList.cs
src/BasisTheory.net/Model/Role.cs
src/BasisTheory.net/Model/SearchTokensRequest.cs
src/BasisTheory.net/Model/SearchTokensRequestV2.cs
src/BasisTheory.net/Model/StringStringKeyValuePair.cs
src/BasisTheory.net/Model/Tenant.cs
src/BasisTheory.net/Model/TenantConnectionOptions.cs
src/BasisTheory.net/Model/TenantInvitationResponse.cs
src/BasisTheory.net/Model/TenantInvitationResponsePaginatedList.cs
src/BasisTheory.net/Model/TenantInvitationStatus.cs
src/BasisTheory.net/Model/TenantMemberResponse.cs
src/BasisTheory.net/Model/TenantMemberResponsePaginatedList.cs
src/BasisTheory.net/Model/TenantUsageReport.cs
src/BasisTheory.net/Model/ThreeDSAcsRenderingType.cs
src/BasisTheory.net/Model/ThreeDSAddress.cs
src/BasisTheory.net/Model/ThreeDSAuthentication.cs
src/BasisTheory.net/Model/ThreeDSCardholderAccountInfo.cs
src/BasisTheory.net/Model/ThreeDSCardholderAuthenticationInfo.cs
src/BasisTheory.net/Model/ThreeDSCardholderInfo.cs
src/BasisTheory.net/Model/ThreeDSCardholderPhoneNumber.cs
src/BasisTheory.net/Model/ThreeDSDeviceInfo.cs
src/BasisTheory.net/Model/ThreeDSMerchantInfo.cs
src/BasisTheory.net/Model/ThreeDSMerchantRiskInfo.cs
src/BasisTheory.net/Model/ThreeDSMessageExtension.cs
src/BasisTheory.net/Model/ThreeDSMethod.cs
src/BasisTheory.net/Model/ThreeDSMobileSdkRenderOptions.cs
src/BasisTheory.net/Model/ThreeDSPriorAuthenticationInfo.cs
src/BasisTheory.net/Model/ThreeDSPurchaseInfo.cs
src/BasisTheory.net/Model/ThreeDSRequestorInfo.cs
src/BasisTheory.net/Model/ThreeDSSession.cs
src/BasisTheory.net/Model/ThreeDSVersion.cs
src/BasisTheory.net/Model/Token.cs
src/BasisTheory.net/Model/TokenCursorPaginatedList.cs
src/BasisTheory.net/Model/TokenEnrichments.cs
src/BasisTheory.net/Model/TokenMetrics.cs
src/BasisTheory.net/Model/TokenPaginatedList.cs
src/BasisTheory.net/Model/TokenReport.cs
src/BasisTheory.net/Model/UpdateApplicationRequest.cs
src/BasisTheory.net/Model/UpdatePrivacy.cs
src/BasisTheory.net/Model/UpdateProxyRequest.cs
src/BasisTheory.net/Model/UpdateReactorFormulaRequest.cs
src/BasisTheory.net/Model/UpdateReactorRequest.cs
src/BasisTheory.net/Model/UpdateTenantMemberRequest.cs
src/BasisTheory.net/Model/UpdateTenantRequest.cs
src/BasisTheory.net/Model/UpdateTokenRequest.cs
src/BasisTheory.net/Model/User.cs
src/BasisTheory.net/Model/ValidationProblemDetails.cs
1 change: 1 addition & 0 deletions .openapi-generator/VERSION
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
6.2.1
68 changes: 68 additions & 0 deletions .openapi-generator/templates/AbstractOpenAPISchema.mustache
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
{{>partial_header}}

using System;
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;

namespace {{packageName}}.{{modelPackage}}
{
/// <summary>
/// Abstract base class for oneOf, anyOf schemas in the OpenAPI specification
/// </summary>
{{>visibility}} abstract partial class AbstractOpenAPISchema
{
/// <summary>
/// Custom JSON serializer
/// </summary>
static public readonly JsonSerializerSettings SerializerSettings = new JsonSerializerSettings
{
// OpenAPI generated types generally hide default constructors.
ConstructorHandling = ConstructorHandling.AllowNonPublicDefaultConstructor,
MissingMemberHandling = MissingMemberHandling.Error,
ContractResolver = new DefaultContractResolver
{
NamingStrategy = new CamelCaseNamingStrategy
{
OverrideSpecifiedNames = false
}
}
};

/// <summary>
/// Custom JSON serializer for objects with additional properties
/// </summary>
static public readonly JsonSerializerSettings AdditionalPropertiesSerializerSettings = new JsonSerializerSettings
{
// OpenAPI generated types generally hide default constructors.
ConstructorHandling = ConstructorHandling.AllowNonPublicDefaultConstructor,
MissingMemberHandling = MissingMemberHandling.Ignore,
ContractResolver = new DefaultContractResolver
{
NamingStrategy = new CamelCaseNamingStrategy
{
OverrideSpecifiedNames = false
}
}
};

/// <summary>
/// Gets or Sets the actual instance
/// </summary>
public abstract Object ActualInstance { get; set; }

/// <summary>
/// Gets or Sets IsNullable to indicate whether the instance is nullable
/// </summary>
public bool IsNullable { get; protected set; }

/// <summary>
/// Gets or Sets the schema type, which can be either `oneOf` or `anyOf`
/// </summary>
public string SchemaType { get; protected set; }

/// <summary>
/// Converts the instance into JSON string.
/// </summary>
public abstract string ToJson();
}
}
Loading

0 comments on commit 0f1df12

Please sign in to comment.