3 Commits

Author SHA1 Message Date
73739e3180 Create wrapper class 2025-05-26 21:39:00 -03:00
42f42637b2 Add example project 2025-05-26 20:40:04 -03:00
f65b2a5912 Generate project with open-api-generator 2025-05-26 20:24:18 -03:00
119 changed files with 16552 additions and 24766 deletions

2
.gitignore vendored
View File

@@ -1,9 +1,7 @@
.vs/
bin/
obj/
releases/*
!releases/.gitkeep
.DS_Store
.env
*.filters

View File

@@ -1,66 +1,60 @@
src/Tribufu/Api/TribufuGeneratedApi.cs
src/Tribufu/Client/ApiClient.cs
src/Tribufu/Client/ApiException.cs
src/Tribufu/Client/ApiResponse.cs
src/Tribufu/Client/ClientUtils.cs
src/Tribufu/Client/Configuration.cs
src/Tribufu/Client/ExceptionFactory.cs
src/Tribufu/Client/GlobalConfiguration.cs
src/Tribufu/Client/HttpMethod.cs
src/Tribufu/Client/IApiAccessor.cs
src/Tribufu/Client/IAsynchronousClient.cs
src/Tribufu/Client/IReadableConfiguration.cs
src/Tribufu/Client/ISynchronousClient.cs
src/Tribufu/Client/Multimap.cs
src/Tribufu/Client/OpenAPIDateConverter.cs
src/Tribufu/Client/RequestOptions.cs
src/Tribufu/Client/RetryConfiguration.cs
src/Tribufu/Model/AbstractOpenAPISchema.cs
src/Tribufu/Model/Account.cs
src/Tribufu/Model/Application.cs
src/Tribufu/Model/ApplicationType.cs
src/Tribufu/Model/AuthorizeRequest.cs
src/Tribufu/Model/ClientInfo.cs
src/Tribufu/Model/ClientType.cs
src/Tribufu/Model/CodeChallengeMethod.cs
src/Tribufu/Model/CodeResponse.cs
src/Tribufu/Model/CreateUser.cs
src/Tribufu/Model/CryptoViewModel.cs
src/Tribufu/Model/File.cs
src/Tribufu/Model/Game.cs
src/Tribufu/Model/GameServer.cs
src/Tribufu/Model/GameServerCluster.cs
src/Tribufu/Model/GameServerQuery.cs
src/Tribufu/Model/GameServerStatus.cs
src/Tribufu/Model/GrantType.cs
src/Tribufu/Model/Group.cs
src/Tribufu/Model/GroupGame.cs
src/Tribufu/Model/GroupMember.cs
src/Tribufu/Model/GroupRank.cs
src/Tribufu/Model/HashViewModel.cs
src/Tribufu/Model/IntrospectRequest.cs
src/Tribufu/Model/IntrospectResponse.cs
src/Tribufu/Model/IpAddress.cs
src/Tribufu/Model/LeaderboardItem.cs
src/Tribufu/Model/LeaderboardOrder.cs
src/Tribufu/Model/LoginProvider.cs
src/Tribufu/Model/ModelClient.cs
src/Tribufu/Model/Package.cs
src/Tribufu/Model/PackageRelease.cs
src/Tribufu/Model/Profile.cs
src/Tribufu/Model/ProfileGame.cs
src/Tribufu/Model/ProfileGroup.cs
src/Tribufu/Model/ResponseType.cs
src/Tribufu/Model/RevokeRequest.cs
src/Tribufu/Model/Search.cs
src/Tribufu/Model/SearchType.cs
src/Tribufu/Model/ServerMetrics.cs
src/Tribufu/Model/Subscription.cs
src/Tribufu/Model/SubscriptionPrice.cs
src/Tribufu/Model/TokenHintType.cs
src/Tribufu/Model/TokenRequest.cs
src/Tribufu/Model/TokenResponse.cs
src/Tribufu/Model/TokenType.cs
src/Tribufu/Model/UpdateProfile.cs
src/Tribufu/Model/UserInfo.cs
src/Tribufu/Model/UserType.cs
src/Tribufu.Generated/Api/TribufuGeneratedApi.cs
src/Tribufu.Generated/Client/ApiClient.cs
src/Tribufu.Generated/Client/ApiException.cs
src/Tribufu.Generated/Client/ApiResponse.cs
src/Tribufu.Generated/Client/ClientUtils.cs
src/Tribufu.Generated/Client/Configuration.cs
src/Tribufu.Generated/Client/ExceptionFactory.cs
src/Tribufu.Generated/Client/GlobalConfiguration.cs
src/Tribufu.Generated/Client/HttpMethod.cs
src/Tribufu.Generated/Client/IApiAccessor.cs
src/Tribufu.Generated/Client/IAsynchronousClient.cs
src/Tribufu.Generated/Client/IReadableConfiguration.cs
src/Tribufu.Generated/Client/ISynchronousClient.cs
src/Tribufu.Generated/Client/Multimap.cs
src/Tribufu.Generated/Client/OpenAPIDateConverter.cs
src/Tribufu.Generated/Client/RequestOptions.cs
src/Tribufu.Generated/Client/RetryConfiguration.cs
src/Tribufu.Generated/Model/AbstractOpenAPISchema.cs
src/Tribufu.Generated/Model/Account.cs
src/Tribufu.Generated/Model/Application.cs
src/Tribufu.Generated/Model/ApplicationType.cs
src/Tribufu.Generated/Model/AuthorizeRequest.cs
src/Tribufu.Generated/Model/CodeChallengeMethod.cs
src/Tribufu.Generated/Model/CryptoViewModel.cs
src/Tribufu.Generated/Model/Game.cs
src/Tribufu.Generated/Model/GameServer.cs
src/Tribufu.Generated/Model/GameServerCluster.cs
src/Tribufu.Generated/Model/GrantType.cs
src/Tribufu.Generated/Model/Group.cs
src/Tribufu.Generated/Model/GroupGame.cs
src/Tribufu.Generated/Model/GroupMember.cs
src/Tribufu.Generated/Model/GroupRank.cs
src/Tribufu.Generated/Model/HashViewModel.cs
src/Tribufu.Generated/Model/IntrospectRequest.cs
src/Tribufu.Generated/Model/IpAddress.cs
src/Tribufu.Generated/Model/LeaderboardItem.cs
src/Tribufu.Generated/Model/LeaderboardOrder.cs
src/Tribufu.Generated/Model/LoginProvider.cs
src/Tribufu.Generated/Model/LoginRequest.cs
src/Tribufu.Generated/Model/LoginResponse.cs
src/Tribufu.Generated/Model/Package.cs
src/Tribufu.Generated/Model/Profile.cs
src/Tribufu.Generated/Model/ProfileGame.cs
src/Tribufu.Generated/Model/ProfileGroup.cs
src/Tribufu.Generated/Model/RefreshRequest.cs
src/Tribufu.Generated/Model/RegisterRequest.cs
src/Tribufu.Generated/Model/ResponseType.cs
src/Tribufu.Generated/Model/RevokeRequest.cs
src/Tribufu.Generated/Model/SearchRequest.cs
src/Tribufu.Generated/Model/SearchType.cs
src/Tribufu.Generated/Model/ServerMetrics.cs
src/Tribufu.Generated/Model/ServerStatus.cs
src/Tribufu.Generated/Model/Subscription.cs
src/Tribufu.Generated/Model/TokenHintType.cs
src/Tribufu.Generated/Model/TokenRequest.cs
src/Tribufu.Generated/Model/TokenResponse.cs
src/Tribufu.Generated/Model/TokenType.cs
src/Tribufu.Generated/Model/UpdateProfile.cs
src/Tribufu.Generated/Model/UserInfo.cs
src/Tribufu.Generated/Model/UserType.cs

View File

@@ -5,8 +5,8 @@
<Copyright>Copyright (c) Tribufu. All Rights Reserved.</Copyright>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<RepositoryType>git</RepositoryType>
<RepositoryUrl>https://github.com/tribufu/tribufu-dotnet</RepositoryUrl>
<Version>1.2.0</Version>
<RepositoryUrl>https://github.com/tribufu/sdk-dotnet</RepositoryUrl>
<Version>1.1.0</Version>
<AssemblyVersion>$(Version).0</AssemblyVersion>
<NoWarn>$(NoWarn);0618;1591;1998;2002;8767</NoWarn>
</PropertyGroup>

View File

@@ -3,22 +3,11 @@
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="CppAst.CodeGen" Version="0.4.1" />
<PackageVersion Include="dotenv.net" Version="3.2.0" />
<PackageVersion Include="IdGen" Version="3.0.7" />
<PackageVersion Include="JsonSubTypes" Version="2.0.1" />
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="8.0.16" />
<PackageVersion Include="Microsoft.Extensions.Configuration.Binder" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.Configuration.Ini" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.Configuration.Json" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.Configuration" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="8.0.1" />
<PackageVersion Include="Newtonsoft.Json" Version="13.0.3" />
<PackageVersion Include="Polly" Version="8.1.0" />
<PackageVersion Include="RestSharp" Version="112.1.0" />
<PackageVersion Include="System.ComponentModel.Annotations" Version="5.0.0" />
<PackageVersion Include="Tomlyn.Extensions.Configuration" Version="1.0.6" />
<PackageVersion Include="Tomlyn" Version="0.17.0" />
</ItemGroup>
</Project>

288
README.md
View File

@@ -1,23 +1,279 @@
# Tribufu .NET
# Tribufu - the C# library for the Tribufu API
.NET SDK to access Tribufu APIs and services.
REST API to access Tribufu services.
[![nuget][nuget-badge]][nuget-url]
[![MIT License][mit-badge]][mit-url]
[![Discord Chat][discord-badge]][discord-url]
This C# SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
[nuget-badge]: https://img.shields.io/nuget/v/tribufu.svg
[nuget-url]: https://www.nuget.org/packages/Tribufu
[mit-badge]: https://img.shields.io/badge/license-MIT-blue.svg
[mit-url]: https://github.com/tribufu/tribufu-dotnet/blob/main/LICENSE.txt
[discord-badge]: https://img.shields.io/discord/276504514616623104.svg?logo=discord&style=flat-square
[discord-url]: https://www.tribufu.com/discord
- API version: 1.1.0
- SDK version: 1.0.0
- Generator version: 7.8.0
- Build package: org.openapitools.codegen.languages.CSharpClientCodegen
For more information, please visit [https://www.tribufu.com/contact](https://www.tribufu.com/contact)
[Website](https://www.tribufu.com) |
[Discord](https://www.tribufu.com/discord)
<a id="frameworks-supported"></a>
## Frameworks supported
## License
<a id="dependencies"></a>
## Dependencies
This project is licensed under the [MIT License].
- [Json.NET](https://www.nuget.org/packages/Newtonsoft.Json/) - 13.0.2 or later
- [JsonSubTypes](https://www.nuget.org/packages/JsonSubTypes/) - 1.8.0 or later
- [System.ComponentModel.Annotations](https://www.nuget.org/packages/System.ComponentModel.Annotations) - 5.0.0 or later
The DLLs included in the package may not be the latest version. We recommend using [NuGet](https://docs.nuget.org/consume/installing-nuget) to obtain the latest version of the packages:
```
Install-Package Newtonsoft.Json
Install-Package JsonSubTypes
Install-Package System.ComponentModel.Annotations
```
<a id="installation"></a>
## Installation
Run the following command to generate the DLL
- [Mac/Linux] `/bin/sh build.sh`
- [Windows] `build.bat`
Then include the DLL (under the `bin` folder) in the C# project, and use the namespaces:
```csharp
using Tribufu.Api;
using Tribufu.Client;
using Tribufu.Model;
```
<a id="packaging"></a>
## Packaging
A `.nuspec` is included with the project. You can follow the Nuget quickstart to [create](https://docs.microsoft.com/en-us/nuget/quickstart/create-and-publish-a-package#create-the-package) and [publish](https://docs.microsoft.com/en-us/nuget/quickstart/create-and-publish-a-package#publish-the-package) packages.
This `.nuspec` uses placeholders from the `.csproj`, so build the `.csproj` directly:
```
nuget pack -Build -OutputDirectory out Tribufu.csproj
```
Then, publish to a [local feed](https://docs.microsoft.com/en-us/nuget/hosting-packages/local-feeds) or [other host](https://docs.microsoft.com/en-us/nuget/hosting-packages/overview) and consume the new package via Nuget as usual.
<a id="usage"></a>
## Usage
To use the API client with a HTTP proxy, setup a `System.Net.WebProxy`
```csharp
Configuration c = new Configuration();
System.Net.WebProxy webProxy = new System.Net.WebProxy("http://myProxyUrl:80/");
webProxy.Credentials = System.Net.CredentialCache.DefaultCredentials;
c.Proxy = webProxy;
```
### Connections
Each ApiClass (properly the ApiClient inside it) will create an instance of HttpClient. It will use that for the entire lifecycle and dispose it when called the Dispose method.
To better manager the connections it's a common practice to reuse the HttpClient and HttpClientHandler (see [here](https://docs.microsoft.com/en-us/dotnet/architecture/microservices/implement-resilient-applications/use-httpclientfactory-to-implement-resilient-http-requests#issues-with-the-original-httpclient-class-available-in-net) for details). To use your own HttpClient instance just pass it to the ApiClass constructor.
```csharp
HttpClientHandler yourHandler = new HttpClientHandler();
HttpClient yourHttpClient = new HttpClient(yourHandler);
var api = new YourApiClass(yourHttpClient, yourHandler);
```
If you want to use an HttpClient and don't have access to the handler, for example in a DI context in Asp.net Core when using IHttpClientFactory.
```csharp
HttpClient yourHttpClient = new HttpClient();
var api = new YourApiClass(yourHttpClient);
```
You'll loose some configuration settings, the features affected are: Setting and Retrieving Cookies, Client Certificates, Proxy settings. You need to either manually handle those in your setup of the HttpClient or they won't be available.
Here an example of DI setup in a sample web project:
```csharp
services.AddHttpClient<YourApiClass>(httpClient =>
new PetApi(httpClient));
```
<a id="getting-started"></a>
## Getting Started
```csharp
using System.Collections.Generic;
using System.Diagnostics;
using System.Net.Http;
using Tribufu.Api;
using Tribufu.Client;
using Tribufu.Model;
namespace Example
{
public class Example
{
public static void Main()
{
Configuration config = new Configuration();
config.BasePath = "http://localhost";
// Configure API key authorization: ApiKey
config.ApiKey.Add("Authorization", "YOUR_API_KEY");
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// config.ApiKeyPrefix.Add("Authorization", "Bearer");
// create instances of HttpClient, HttpClientHandler to be reused later with different Api classes
HttpClient httpClient = new HttpClient();
HttpClientHandler httpClientHandler = new HttpClientHandler();
var apiInstance = new TribufuApi(httpClient, config, httpClientHandler);
var authorizeRequest = new AuthorizeRequest?(); // AuthorizeRequest? | (optional)
try
{
// Authorize the client to access the user information.
apiInstance.Authorize(authorizeRequest);
}
catch (ApiException e)
{
Debug.Print("Exception when calling TribufuApi.Authorize: " + e.Message );
Debug.Print("Status Code: "+ e.ErrorCode);
Debug.Print(e.StackTrace);
}
}
}
}
```
<a id="documentation-for-api-endpoints"></a>
## Documentation for API Endpoints
All URIs are relative to *http://localhost*
Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*TribufuApi* | [**Authorize**](docs/TribufuApi.md#authorize) | **POST** /v1/oauth2/authorize | Authorize the client to access the user information.
*TribufuApi* | [**ChangeEmail**](docs/TribufuApi.md#changeemail) | **PUT** /v1/users/{id}/email | Change the email of a user.
*TribufuApi* | [**ChangePassword**](docs/TribufuApi.md#changepassword) | **PUT** /v1/users/{id}/password | Change the password of a user.
*TribufuApi* | [**ClaimGameServer**](docs/TribufuApi.md#claimgameserver) | **PUT** /v1/servers/{id}/claim | Claim a game server.
*TribufuApi* | [**ConvertBase64**](docs/TribufuApi.md#convertbase64) | **POST** /v1/utils/base64 | Convert a string to base64 or vice versa.
*TribufuApi* | [**CreateGameServer**](docs/TribufuApi.md#creategameserver) | **POST** /v1/servers | Create a new game server.
*TribufuApi* | [**CreateGameServerCluster**](docs/TribufuApi.md#creategameservercluster) | **POST** /v1/clusters | Create a new game server cluster.
*TribufuApi* | [**CreateGroup**](docs/TribufuApi.md#creategroup) | **POST** /v1/groups | Create a new group.
*TribufuApi* | [**CreateToken**](docs/TribufuApi.md#createtoken) | **POST** /v1/oauth2/token | Create a new token with grant type.
*TribufuApi* | [**DeleteGameServer**](docs/TribufuApi.md#deletegameserver) | **DELETE** /v1/servers/{id} | Delete a game server.
*TribufuApi* | [**DeleteGameServerCluster**](docs/TribufuApi.md#deletegameservercluster) | **DELETE** /v1/clusters/{id} | Delete a game server cluster.
*TribufuApi* | [**DeleteGroup**](docs/TribufuApi.md#deletegroup) | **DELETE** /v1/groups/{id} | Delete a group.
*TribufuApi* | [**GenerateFlakeId**](docs/TribufuApi.md#generateflakeid) | **GET** /v1/utils/flake | Generate one or more flake ids.
*TribufuApi* | [**GenerateFlakeIdFromTimestamp**](docs/TribufuApi.md#generateflakeidfromtimestamp) | **GET** /v1/utils/flake/{timestamp} | Generate one or more flake ids from a timestamp.
*TribufuApi* | [**GeneratePassword**](docs/TribufuApi.md#generatepassword) | **GET** /v1/utils/password | Generate a random password.
*TribufuApi* | [**GenerateUuid**](docs/TribufuApi.md#generateuuid) | **GET** /v1/utils/uuid | Generate one or more uuids with a specific version.
*TribufuApi* | [**GetClientInfo**](docs/TribufuApi.md#getclientinfo) | **GET** /v1/oauth2/clientinfo | Get current client information.
*TribufuApi* | [**GetCurrentIpAddress**](docs/TribufuApi.md#getcurrentipaddress) | **GET** /v1/geoip | Get current ip address location.
*TribufuApi* | [**GetGameById**](docs/TribufuApi.md#getgamebyid) | **GET** /v1/games/{id} | Get a game by id.
*TribufuApi* | [**GetGameClustersByGameId**](docs/TribufuApi.md#getgameclustersbygameid) | **GET** /v1/games/{id}/clusters | Get a list of game server clusters of a game.
*TribufuApi* | [**GetGameItems**](docs/TribufuApi.md#getgameitems) | **GET** /v1/games/{id}/items | Get a list of game items.
*TribufuApi* | [**GetGameServerByAddressAndQueryPort**](docs/TribufuApi.md#getgameserverbyaddressandqueryport) | **GET** /v1/servers/address/{address}:{port} | Get a game server by address and query port.
*TribufuApi* | [**GetGameServerById**](docs/TribufuApi.md#getgameserverbyid) | **GET** /v1/servers/{id} | Get a game server by id.
*TribufuApi* | [**GetGameServerClusterById**](docs/TribufuApi.md#getgameserverclusterbyid) | **GET** /v1/clusters/{id} | Get a game server cluster by id.
*TribufuApi* | [**GetGameServerClusters**](docs/TribufuApi.md#getgameserverclusters) | **GET** /v1/clusters | Get a list of game server clusters.
*TribufuApi* | [**GetGameServers**](docs/TribufuApi.md#getgameservers) | **GET** /v1/servers | Get a list of game servers.
*TribufuApi* | [**GetGameServersByCountry**](docs/TribufuApi.md#getgameserversbycountry) | **GET** /v1/servers/country/{country} | Get a list of game servers from a country.
*TribufuApi* | [**GetGameServersByGameId**](docs/TribufuApi.md#getgameserversbygameid) | **GET** /v1/games/{id}/servers | Get a list of game servers of a game.
*TribufuApi* | [**GetGameServersCountries**](docs/TribufuApi.md#getgameserverscountries) | **GET** /v1/servers/countries | Get a list of countries with the number of game servers.
*TribufuApi* | [**GetGameServersMetrics**](docs/TribufuApi.md#getgameserversmetrics) | **GET** /v1/servers/metrics | Get metrics about the tracked game servers.
*TribufuApi* | [**GetGames**](docs/TribufuApi.md#getgames) | **GET** /v1/games | Get a list of games.
*TribufuApi* | [**GetGroupById**](docs/TribufuApi.md#getgroupbyid) | **GET** /v1/groups/{id} | Get a group by id.
*TribufuApi* | [**GetGroupByTag**](docs/TribufuApi.md#getgroupbytag) | **GET** /v1/groups/tag/{tag} | Get a group by tag.
*TribufuApi* | [**GetGroupByUuid**](docs/TribufuApi.md#getgroupbyuuid) | **GET** /v1/groups/uuid/{uuid} | Get a group by uuid.
*TribufuApi* | [**GetGroupGames**](docs/TribufuApi.md#getgroupgames) | **GET** /v1/groups/{id}/games | Get a list of games of a group.
*TribufuApi* | [**GetGroupMembers**](docs/TribufuApi.md#getgroupmembers) | **GET** /v1/groups/{id}/members | Get a list of members in a group.
*TribufuApi* | [**GetGroups**](docs/TribufuApi.md#getgroups) | **GET** /v1/groups | Get a list of groups.
*TribufuApi* | [**GetIpAddress**](docs/TribufuApi.md#getipaddress) | **GET** /v1/geoip/addresses/{address} | Get a ip address location.
*TribufuApi* | [**GetIpAddresses**](docs/TribufuApi.md#getipaddresses) | **GET** /v1/geoip/addresses | Get a list of ip addresses.
*TribufuApi* | [**GetLeaderboard**](docs/TribufuApi.md#getleaderboard) | **GET** /v1/leaderboard | Get the top 20 leaderboard users.
*TribufuApi* | [**GetMe**](docs/TribufuApi.md#getme) | **GET** /v1/me | Get current user information.
*TribufuApi* | [**GetPackageById**](docs/TribufuApi.md#getpackagebyid) | **GET** /v1/packages/{id} | Get a package by id.
*TribufuApi* | [**GetPackages**](docs/TribufuApi.md#getpackages) | **GET** /v1/packages | Get a list of packages.
*TribufuApi* | [**GetPublicKeys**](docs/TribufuApi.md#getpublickeys) | **GET** /v1/oauth2/jwks | Get the public keys for the client.
*TribufuApi* | [**GetSubscriptionById**](docs/TribufuApi.md#getsubscriptionbyid) | **GET** /v1/subscriptions/{id} | Get a subscription by id.
*TribufuApi* | [**GetSubscriptions**](docs/TribufuApi.md#getsubscriptions) | **GET** /v1/subscriptions | Get a list of subscriptions.
*TribufuApi* | [**GetUserAccounts**](docs/TribufuApi.md#getuseraccounts) | **GET** /v1/users/{id}/accounts | Get a list of connected accounts of the user.
*TribufuApi* | [**GetUserById**](docs/TribufuApi.md#getuserbyid) | **GET** /v1/users/{id} | Get a user profile by id.
*TribufuApi* | [**GetUserByName**](docs/TribufuApi.md#getuserbyname) | **GET** /v1/users/name/{name} | Get a user profile by name.
*TribufuApi* | [**GetUserByUuid**](docs/TribufuApi.md#getuserbyuuid) | **GET** /v1/users/uuid/{uuid} | Get a user profile by uuid.
*TribufuApi* | [**GetUserFriends**](docs/TribufuApi.md#getuserfriends) | **GET** /v1/users/{id}/friends | Get a list of friends of the user.
*TribufuApi* | [**GetUserGames**](docs/TribufuApi.md#getusergames) | **GET** /v1/users/{id}/games | Get a list of games the user has played.
*TribufuApi* | [**GetUserGroups**](docs/TribufuApi.md#getusergroups) | **GET** /v1/users/{id}/groups | Get a list of groups the user is a member of.
*TribufuApi* | [**GetUserInfo**](docs/TribufuApi.md#getuserinfo) | **GET** /v1/oauth2/userinfo | Get current user information.
*TribufuApi* | [**GetUserPunishments**](docs/TribufuApi.md#getuserpunishments) | **GET** /v1/users/{id}/punishments | Get a list of punishments the user has received.
*TribufuApi* | [**GetUserServers**](docs/TribufuApi.md#getuserservers) | **GET** /v1/users/{id}/servers | Get a list of servers the user is owner of.
*TribufuApi* | [**GetUsers**](docs/TribufuApi.md#getusers) | **GET** /v1/users | Get a list of user profiles.
*TribufuApi* | [**HashArgon2**](docs/TribufuApi.md#hashargon2) | **POST** /v1/utils/argon2 | Hash a string using argon2.
*TribufuApi* | [**HashBcrypt**](docs/TribufuApi.md#hashbcrypt) | **POST** /v1/utils/bcrypt | Hash a string using bcrypt.
*TribufuApi* | [**HashMd5**](docs/TribufuApi.md#hashmd5) | **POST** /v1/utils/md5 | Hash a string using md5.
*TribufuApi* | [**HashSha256**](docs/TribufuApi.md#hashsha256) | **POST** /v1/utils/sha256 | Hash a string using sha256.
*TribufuApi* | [**IntrospectToken**](docs/TribufuApi.md#introspecttoken) | **POST** /v1/oauth2/introspect | Introspect a token.
*TribufuApi* | [**Login**](docs/TribufuApi.md#login) | **POST** /v1/login | Login with name or email and password.
*TribufuApi* | [**Logout**](docs/TribufuApi.md#logout) | **POST** /v1/logout | Invalidate credentials.
*TribufuApi* | [**Refresh**](docs/TribufuApi.md#refresh) | **POST** /v1/refresh | Refresh credentials.
*TribufuApi* | [**Register**](docs/TribufuApi.md#register) | **POST** /v1/register | Create a new user.
*TribufuApi* | [**RevokeToken**](docs/TribufuApi.md#revoketoken) | **POST** /v1/oauth2/revoke | Revoke a token.
*TribufuApi* | [**Search**](docs/TribufuApi.md#search) | **POST** /v1/search | Advanced search for servers or players.
*TribufuApi* | [**UpdateGameServer**](docs/TribufuApi.md#updategameserver) | **PUT** /v1/servers/{id} | Update a game server.
*TribufuApi* | [**UpdateGameServerCluster**](docs/TribufuApi.md#updategameservercluster) | **PUT** /v1/clusters/{id} | Update a game server cluster.
*TribufuApi* | [**UpdateGroup**](docs/TribufuApi.md#updategroup) | **PUT** /v1/groups/{id} | Update a group.
*TribufuApi* | [**UpdateUserProfile**](docs/TribufuApi.md#updateuserprofile) | **PUT** /v1/users/{id}/profile | Update a user profile.
<a id="documentation-for-models"></a>
## Documentation for Models
- [Model.Account](docs/Account.md)
- [Model.Application](docs/Application.md)
- [Model.ApplicationType](docs/ApplicationType.md)
- [Model.AuthorizeRequest](docs/AuthorizeRequest.md)
- [Model.CodeChallengeMethod](docs/CodeChallengeMethod.md)
- [Model.CryptoViewModel](docs/CryptoViewModel.md)
- [Model.Game](docs/Game.md)
- [Model.GameServer](docs/GameServer.md)
- [Model.GameServerCluster](docs/GameServerCluster.md)
- [Model.GrantType](docs/GrantType.md)
- [Model.Group](docs/Group.md)
- [Model.GroupGame](docs/GroupGame.md)
- [Model.GroupMember](docs/GroupMember.md)
- [Model.GroupRank](docs/GroupRank.md)
- [Model.HashViewModel](docs/HashViewModel.md)
- [Model.IntrospectRequest](docs/IntrospectRequest.md)
- [Model.IpAddress](docs/IpAddress.md)
- [Model.LeaderboardItem](docs/LeaderboardItem.md)
- [Model.LeaderboardOrder](docs/LeaderboardOrder.md)
- [Model.LoginProvider](docs/LoginProvider.md)
- [Model.LoginRequest](docs/LoginRequest.md)
- [Model.LoginResponse](docs/LoginResponse.md)
- [Model.Package](docs/Package.md)
- [Model.Profile](docs/Profile.md)
- [Model.ProfileGame](docs/ProfileGame.md)
- [Model.ProfileGroup](docs/ProfileGroup.md)
- [Model.RefreshRequest](docs/RefreshRequest.md)
- [Model.RegisterRequest](docs/RegisterRequest.md)
- [Model.ResponseType](docs/ResponseType.md)
- [Model.RevokeRequest](docs/RevokeRequest.md)
- [Model.SearchRequest](docs/SearchRequest.md)
- [Model.SearchType](docs/SearchType.md)
- [Model.ServerMetrics](docs/ServerMetrics.md)
- [Model.ServerStatus](docs/ServerStatus.md)
- [Model.Subscription](docs/Subscription.md)
- [Model.TokenHintType](docs/TokenHintType.md)
- [Model.TokenRequest](docs/TokenRequest.md)
- [Model.TokenResponse](docs/TokenResponse.md)
- [Model.TokenType](docs/TokenType.md)
- [Model.UpdateProfile](docs/UpdateProfile.md)
- [Model.UserInfo](docs/UserInfo.md)
- [Model.UserType](docs/UserType.md)
<a id="documentation-for-authorization"></a>
## Documentation for Authorization
Authentication schemes defined for the API:
<a id="ApiKey"></a>
### ApiKey
- **Type**: API key
- **API key parameter name**: Authorization
- **Location**: HTTP header
[MIT License]: https://github.com/tribufu/tribufu-dotnet/blob/main/LICENSE.txt

View File

@@ -3,22 +3,10 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tribufu", "src\Tribufu\Tribufu.csproj", "{7B7890D8-863A-4F1D-98C0-4B7D8C46CB52}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tribufu.Generated", "src\Tribufu.Generated\Tribufu.Generated.csproj", "{FF9B3170-0FD8-44A5-B6E3-01A8D11D2BEF}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tribufu.Example", "src\Tribufu.Example\Tribufu.Example.csproj", "{D6392A29-E2DC-4050-B4C1-B279DD2D226D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tribufu.Logging", "src\Tribufu.Logging\Tribufu.Logging.csproj", "{CFD80847-9B98-4991-BADF-8714E7D8D81C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tribufu.Configuration", "src\Tribufu.Configuration\Tribufu.Configuration.csproj", "{C0A841C8-9FC5-4AC0-B9AD-6BBFCEDCBE5F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tribufu.Platform", "src\Tribufu.Platform\Tribufu.Platform.csproj", "{26EEB407-733C-4383-9211-B083CD5F593B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tribufu.EntityFrameworkCore", "src\Tribufu.EntityFrameworkCore\Tribufu.EntityFrameworkCore.csproj", "{E7F9A76F-C087-410B-B4B5-A928A6CDC2BA}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tribufu.Serialization", "src\Tribufu.Serialization\Tribufu.Serialization.csproj", "{D6DAE078-2F80-49DD-97A3-B1223FE04F91}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tribufu.ComponentModel", "src\Tribufu.ComponentModel\Tribufu.ComponentModel.csproj", "{7CB04FFD-8F4B-4B40-BB4B-2BAA19D783E1}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tribufu.AspNetCore", "src\Tribufu.AspNetCore\Tribufu.AspNetCore.csproj", "{B6C47A6C-E389-4132-8E1C-0CBB6C96C205}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -41,6 +29,18 @@ Global
{7B7890D8-863A-4F1D-98C0-4B7D8C46CB52}.Release|x64.Build.0 = Release|Any CPU
{7B7890D8-863A-4F1D-98C0-4B7D8C46CB52}.Release|x86.ActiveCfg = Release|Any CPU
{7B7890D8-863A-4F1D-98C0-4B7D8C46CB52}.Release|x86.Build.0 = Release|Any CPU
{FF9B3170-0FD8-44A5-B6E3-01A8D11D2BEF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FF9B3170-0FD8-44A5-B6E3-01A8D11D2BEF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FF9B3170-0FD8-44A5-B6E3-01A8D11D2BEF}.Debug|x64.ActiveCfg = Debug|Any CPU
{FF9B3170-0FD8-44A5-B6E3-01A8D11D2BEF}.Debug|x64.Build.0 = Debug|Any CPU
{FF9B3170-0FD8-44A5-B6E3-01A8D11D2BEF}.Debug|x86.ActiveCfg = Debug|Any CPU
{FF9B3170-0FD8-44A5-B6E3-01A8D11D2BEF}.Debug|x86.Build.0 = Debug|Any CPU
{FF9B3170-0FD8-44A5-B6E3-01A8D11D2BEF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FF9B3170-0FD8-44A5-B6E3-01A8D11D2BEF}.Release|Any CPU.Build.0 = Release|Any CPU
{FF9B3170-0FD8-44A5-B6E3-01A8D11D2BEF}.Release|x64.ActiveCfg = Release|Any CPU
{FF9B3170-0FD8-44A5-B6E3-01A8D11D2BEF}.Release|x64.Build.0 = Release|Any CPU
{FF9B3170-0FD8-44A5-B6E3-01A8D11D2BEF}.Release|x86.ActiveCfg = Release|Any CPU
{FF9B3170-0FD8-44A5-B6E3-01A8D11D2BEF}.Release|x86.Build.0 = Release|Any CPU
{D6392A29-E2DC-4050-B4C1-B279DD2D226D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D6392A29-E2DC-4050-B4C1-B279DD2D226D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D6392A29-E2DC-4050-B4C1-B279DD2D226D}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -53,90 +53,6 @@ Global
{D6392A29-E2DC-4050-B4C1-B279DD2D226D}.Release|x64.Build.0 = Release|Any CPU
{D6392A29-E2DC-4050-B4C1-B279DD2D226D}.Release|x86.ActiveCfg = Release|Any CPU
{D6392A29-E2DC-4050-B4C1-B279DD2D226D}.Release|x86.Build.0 = Release|Any CPU
{CFD80847-9B98-4991-BADF-8714E7D8D81C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CFD80847-9B98-4991-BADF-8714E7D8D81C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CFD80847-9B98-4991-BADF-8714E7D8D81C}.Debug|x64.ActiveCfg = Debug|Any CPU
{CFD80847-9B98-4991-BADF-8714E7D8D81C}.Debug|x64.Build.0 = Debug|Any CPU
{CFD80847-9B98-4991-BADF-8714E7D8D81C}.Debug|x86.ActiveCfg = Debug|Any CPU
{CFD80847-9B98-4991-BADF-8714E7D8D81C}.Debug|x86.Build.0 = Debug|Any CPU
{CFD80847-9B98-4991-BADF-8714E7D8D81C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CFD80847-9B98-4991-BADF-8714E7D8D81C}.Release|Any CPU.Build.0 = Release|Any CPU
{CFD80847-9B98-4991-BADF-8714E7D8D81C}.Release|x64.ActiveCfg = Release|Any CPU
{CFD80847-9B98-4991-BADF-8714E7D8D81C}.Release|x64.Build.0 = Release|Any CPU
{CFD80847-9B98-4991-BADF-8714E7D8D81C}.Release|x86.ActiveCfg = Release|Any CPU
{CFD80847-9B98-4991-BADF-8714E7D8D81C}.Release|x86.Build.0 = Release|Any CPU
{C0A841C8-9FC5-4AC0-B9AD-6BBFCEDCBE5F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C0A841C8-9FC5-4AC0-B9AD-6BBFCEDCBE5F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C0A841C8-9FC5-4AC0-B9AD-6BBFCEDCBE5F}.Debug|x64.ActiveCfg = Debug|Any CPU
{C0A841C8-9FC5-4AC0-B9AD-6BBFCEDCBE5F}.Debug|x64.Build.0 = Debug|Any CPU
{C0A841C8-9FC5-4AC0-B9AD-6BBFCEDCBE5F}.Debug|x86.ActiveCfg = Debug|Any CPU
{C0A841C8-9FC5-4AC0-B9AD-6BBFCEDCBE5F}.Debug|x86.Build.0 = Debug|Any CPU
{C0A841C8-9FC5-4AC0-B9AD-6BBFCEDCBE5F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C0A841C8-9FC5-4AC0-B9AD-6BBFCEDCBE5F}.Release|Any CPU.Build.0 = Release|Any CPU
{C0A841C8-9FC5-4AC0-B9AD-6BBFCEDCBE5F}.Release|x64.ActiveCfg = Release|Any CPU
{C0A841C8-9FC5-4AC0-B9AD-6BBFCEDCBE5F}.Release|x64.Build.0 = Release|Any CPU
{C0A841C8-9FC5-4AC0-B9AD-6BBFCEDCBE5F}.Release|x86.ActiveCfg = Release|Any CPU
{C0A841C8-9FC5-4AC0-B9AD-6BBFCEDCBE5F}.Release|x86.Build.0 = Release|Any CPU
{26EEB407-733C-4383-9211-B083CD5F593B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{26EEB407-733C-4383-9211-B083CD5F593B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{26EEB407-733C-4383-9211-B083CD5F593B}.Debug|x64.ActiveCfg = Debug|Any CPU
{26EEB407-733C-4383-9211-B083CD5F593B}.Debug|x64.Build.0 = Debug|Any CPU
{26EEB407-733C-4383-9211-B083CD5F593B}.Debug|x86.ActiveCfg = Debug|Any CPU
{26EEB407-733C-4383-9211-B083CD5F593B}.Debug|x86.Build.0 = Debug|Any CPU
{26EEB407-733C-4383-9211-B083CD5F593B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{26EEB407-733C-4383-9211-B083CD5F593B}.Release|Any CPU.Build.0 = Release|Any CPU
{26EEB407-733C-4383-9211-B083CD5F593B}.Release|x64.ActiveCfg = Release|Any CPU
{26EEB407-733C-4383-9211-B083CD5F593B}.Release|x64.Build.0 = Release|Any CPU
{26EEB407-733C-4383-9211-B083CD5F593B}.Release|x86.ActiveCfg = Release|Any CPU
{26EEB407-733C-4383-9211-B083CD5F593B}.Release|x86.Build.0 = Release|Any CPU
{E7F9A76F-C087-410B-B4B5-A928A6CDC2BA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E7F9A76F-C087-410B-B4B5-A928A6CDC2BA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E7F9A76F-C087-410B-B4B5-A928A6CDC2BA}.Debug|x64.ActiveCfg = Debug|Any CPU
{E7F9A76F-C087-410B-B4B5-A928A6CDC2BA}.Debug|x64.Build.0 = Debug|Any CPU
{E7F9A76F-C087-410B-B4B5-A928A6CDC2BA}.Debug|x86.ActiveCfg = Debug|Any CPU
{E7F9A76F-C087-410B-B4B5-A928A6CDC2BA}.Debug|x86.Build.0 = Debug|Any CPU
{E7F9A76F-C087-410B-B4B5-A928A6CDC2BA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E7F9A76F-C087-410B-B4B5-A928A6CDC2BA}.Release|Any CPU.Build.0 = Release|Any CPU
{E7F9A76F-C087-410B-B4B5-A928A6CDC2BA}.Release|x64.ActiveCfg = Release|Any CPU
{E7F9A76F-C087-410B-B4B5-A928A6CDC2BA}.Release|x64.Build.0 = Release|Any CPU
{E7F9A76F-C087-410B-B4B5-A928A6CDC2BA}.Release|x86.ActiveCfg = Release|Any CPU
{E7F9A76F-C087-410B-B4B5-A928A6CDC2BA}.Release|x86.Build.0 = Release|Any CPU
{D6DAE078-2F80-49DD-97A3-B1223FE04F91}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D6DAE078-2F80-49DD-97A3-B1223FE04F91}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D6DAE078-2F80-49DD-97A3-B1223FE04F91}.Debug|x64.ActiveCfg = Debug|Any CPU
{D6DAE078-2F80-49DD-97A3-B1223FE04F91}.Debug|x64.Build.0 = Debug|Any CPU
{D6DAE078-2F80-49DD-97A3-B1223FE04F91}.Debug|x86.ActiveCfg = Debug|Any CPU
{D6DAE078-2F80-49DD-97A3-B1223FE04F91}.Debug|x86.Build.0 = Debug|Any CPU
{D6DAE078-2F80-49DD-97A3-B1223FE04F91}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D6DAE078-2F80-49DD-97A3-B1223FE04F91}.Release|Any CPU.Build.0 = Release|Any CPU
{D6DAE078-2F80-49DD-97A3-B1223FE04F91}.Release|x64.ActiveCfg = Release|Any CPU
{D6DAE078-2F80-49DD-97A3-B1223FE04F91}.Release|x64.Build.0 = Release|Any CPU
{D6DAE078-2F80-49DD-97A3-B1223FE04F91}.Release|x86.ActiveCfg = Release|Any CPU
{D6DAE078-2F80-49DD-97A3-B1223FE04F91}.Release|x86.Build.0 = Release|Any CPU
{7CB04FFD-8F4B-4B40-BB4B-2BAA19D783E1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7CB04FFD-8F4B-4B40-BB4B-2BAA19D783E1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7CB04FFD-8F4B-4B40-BB4B-2BAA19D783E1}.Debug|x64.ActiveCfg = Debug|Any CPU
{7CB04FFD-8F4B-4B40-BB4B-2BAA19D783E1}.Debug|x64.Build.0 = Debug|Any CPU
{7CB04FFD-8F4B-4B40-BB4B-2BAA19D783E1}.Debug|x86.ActiveCfg = Debug|Any CPU
{7CB04FFD-8F4B-4B40-BB4B-2BAA19D783E1}.Debug|x86.Build.0 = Debug|Any CPU
{7CB04FFD-8F4B-4B40-BB4B-2BAA19D783E1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7CB04FFD-8F4B-4B40-BB4B-2BAA19D783E1}.Release|Any CPU.Build.0 = Release|Any CPU
{7CB04FFD-8F4B-4B40-BB4B-2BAA19D783E1}.Release|x64.ActiveCfg = Release|Any CPU
{7CB04FFD-8F4B-4B40-BB4B-2BAA19D783E1}.Release|x64.Build.0 = Release|Any CPU
{7CB04FFD-8F4B-4B40-BB4B-2BAA19D783E1}.Release|x86.ActiveCfg = Release|Any CPU
{7CB04FFD-8F4B-4B40-BB4B-2BAA19D783E1}.Release|x86.Build.0 = Release|Any CPU
{B6C47A6C-E389-4132-8E1C-0CBB6C96C205}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B6C47A6C-E389-4132-8E1C-0CBB6C96C205}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B6C47A6C-E389-4132-8E1C-0CBB6C96C205}.Debug|x64.ActiveCfg = Debug|Any CPU
{B6C47A6C-E389-4132-8E1C-0CBB6C96C205}.Debug|x64.Build.0 = Debug|Any CPU
{B6C47A6C-E389-4132-8E1C-0CBB6C96C205}.Debug|x86.ActiveCfg = Debug|Any CPU
{B6C47A6C-E389-4132-8E1C-0CBB6C96C205}.Debug|x86.Build.0 = Debug|Any CPU
{B6C47A6C-E389-4132-8E1C-0CBB6C96C205}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B6C47A6C-E389-4132-8E1C-0CBB6C96C205}.Release|Any CPU.Build.0 = Release|Any CPU
{B6C47A6C-E389-4132-8E1C-0CBB6C96C205}.Release|x64.ActiveCfg = Release|Any CPU
{B6C47A6C-E389-4132-8E1C-0CBB6C96C205}.Release|x64.Build.0 = Release|Any CPU
{B6C47A6C-E389-4132-8E1C-0CBB6C96C205}.Release|x86.ActiveCfg = Release|Any CPU
{B6C47A6C-E389-4132-8E1C-0CBB6C96C205}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

View File

@@ -7,6 +7,6 @@ java -jar ./vendor/openapi-generator/openapi-generator-cli.jar generate `
-g csharp `
-o . `
--global-property apis,models,supportingFiles,apiDocs=false,modelDocs=false,apiTests=false,modelTests=false `
--additional-properties=packageName=Tribufu,library=restsharp,zeroBasedEnums=true,nullableReferenceTypes=true `
--additional-properties=packageName=Tribufu.Generated,library=restsharp,zeroBasedEnums=true,nullableReferenceTypes=true `
--openapi-normalizer SET_TAGS_FOR_ALL_OPERATIONS=TribufuGenerated `
--skip-validate-spec

View File

@@ -1,7 +0,0 @@
#!/usr/bin/env pwsh
Get-ChildItem ./releases -Filter *.nupkg -Recurse -Force | Remove-Item -Force
dotnet clean
dotnet build -c Release
dotnet pack -c Release -o ./releases

3
scripts/package.sh Normal file
View File

@@ -0,0 +1,3 @@
#!/usr/bin/env sh
dotnet pack

View File

@@ -1,33 +0,0 @@
// Copyright (c) Tribufu. All Rights Reserved.
// SPDX-License-Identifier: UNLICENSED
using Microsoft.AspNetCore.Http;
using System;
using System.Linq;
namespace Tribufu.AspNetCore.Extensions
{
public static class HttpContextExtensions
{
public static string GetIpAddress(this HttpContext context)
{
var headers = context.Request.Headers;
if (headers.TryGetValue("CF-Connecting-IP", out var cfConnectingIp))
{
return cfConnectingIp.FirstOrDefault() ?? "127.0.0.1";
}
if (headers.TryGetValue("X-Forwarded-For", out var xForwardedFor))
{
var forwardedIps = xForwardedFor.ToString().Split(',', StringSplitOptions.RemoveEmptyEntries);
if (forwardedIps.Length > 0)
{
return forwardedIps[0].Trim();
}
}
return context.Connection.RemoteIpAddress?.ToString() ?? "127.0.0.1";
}
}
}

View File

@@ -1 +0,0 @@
# Tribufu AspNetCore

View File

@@ -1,28 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<PackageId>Tribufu.AspNetCore</PackageId>
<Description>Tribufu AspNetCore</Description>
<PackageReadmeFile>README.md</PackageReadmeFile>
</PropertyGroup>
<PropertyGroup>
<AppDesignerFolder>Properties</AppDesignerFolder>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<IsPublishable>false</IsPublishable>
<Nullable>enable</Nullable>
<OutputType>Library</OutputType>
<TargetFrameworks>net8.0</TargetFrameworks>
</PropertyGroup>
<ItemGroup>
<None Include="README.md" Pack="true" PackagePath="\" />
</ItemGroup>
<ItemGroup>
<FrameworkReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>
<ItemGroup>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Tribufu.Configuration\Tribufu.Configuration.csproj" />
<ProjectReference Include="..\Tribufu.Logging\Tribufu.Logging.csproj" />
<ProjectReference Include="..\Tribufu.Platform\Tribufu.Platform.csproj" />
</ItemGroup>
</Project>

View File

@@ -1,30 +0,0 @@
// Copyright (c) Tribufu. All Rights Reserved.
// SPDX-License-Identifier: MIT
using System;
using System.ComponentModel;
using System.Globalization;
using System.Runtime.Serialization;
namespace Tribufu.ComponentModel
{
public class EnumMemberConverter<T> : EnumConverter
{
public EnumMemberConverter(Type type) : base(type) { }
public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)
{
var type = typeof(T);
foreach (var field in type.GetFields())
{
if (Attribute.GetCustomAttribute(field, typeof(EnumMemberAttribute)) is EnumMemberAttribute attribute && value is string enumValue && attribute.Value == enumValue)
{
return field.GetValue(null);
}
}
return base.ConvertFrom(context, culture, value);
}
}
}

View File

@@ -1 +0,0 @@
# Tribufu ComponentModel

View File

@@ -1,17 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<PackageId>Tribufu.ComponentModel</PackageId>
<Description>Tribufu ComponentModel</Description>
<PackageReadmeFile>README.md</PackageReadmeFile>
</PropertyGroup>
<PropertyGroup>
<AppDesignerFolder>Properties</AppDesignerFolder>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<IsPublishable>false</IsPublishable>
<OutputType>Library</OutputType>
<TargetFrameworks>netstandard2.0;net45;net5.0</TargetFrameworks>
</PropertyGroup>
<ItemGroup>
<None Include="README.md" Pack="true" PackagePath="\" />
</ItemGroup>
</Project>

View File

@@ -1,50 +0,0 @@
// Copyright (c) Tribufu. All Rights Reserved.
// SPDX-License-Identifier: MIT
using Microsoft.Extensions.Configuration;
using System.IO;
using Tomlyn.Extensions.Configuration;
using Tribufu.Logging;
using Tribufu.Platform;
namespace Tribufu.Configuration
{
public static class ConfigurationLoader
{
public static IConfiguration Load(string[] fileNames)
{
var configDirectory = Paths.GetApplicationConfigDirectory();
var configurationBuilder = new ConfigurationBuilder();
configurationBuilder.AddEnvironmentVariables();
foreach (var fileName in fileNames)
{
var fullPath = Path.Combine(configDirectory, fileName);
if (!File.Exists(fullPath))
{
Logger.Debug($"Config file '{fullPath}' not found, skipping.");
continue;
}
var extension = Path.GetExtension(fullPath).ToLowerInvariant();
switch (extension)
{
case ".ini":
configurationBuilder.AddIniFile(fullPath, true, false);
break;
case ".json":
configurationBuilder.AddJsonFile(fullPath, true, false);
break;
case ".toml":
configurationBuilder.AddTomlFile(fullPath, true, false);
break;
default:
Logger.Warn($"Unsupported config file extension: {extension}");
break;
}
}
return configurationBuilder.Build();
}
}
}

View File

@@ -1,16 +0,0 @@
// Copyright (c) Tribufu. All Rights Reserved.
// SPDX-License-Identifier: MIT
using Microsoft.Extensions.Configuration;
namespace Tribufu.Configuration.Extensions
{
public static class IConfigurationExtensions
{
public static string? Get(this IConfiguration configuration, string prefix, string key)
{
var section = configuration.GetSection(prefix);
return !section.Exists() ? configuration[$"{prefix}_{key}"] : section[key];
}
}
}

View File

@@ -1 +0,0 @@
# Tribufu Configuration

View File

@@ -1,32 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<PackageId>Tribufu.Configuration</PackageId>
<Description>Tribufu Configuration</Description>
<PackageReadmeFile>README.md</PackageReadmeFile>
</PropertyGroup>
<PropertyGroup>
<AppDesignerFolder>Properties</AppDesignerFolder>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<IsPublishable>false</IsPublishable>
<Nullable>enable</Nullable>
<OutputType>Library</OutputType>
<TargetFrameworks>net6.0</TargetFrameworks>
</PropertyGroup>
<ItemGroup>
<None Include="README.md" Pack="true" PackagePath="\" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" />
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" />
<PackageReference Include="Microsoft.Extensions.Configuration.Ini" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" />
<PackageReference Include="Microsoft.Extensions.Configuration" />
<PackageReference Include="Newtonsoft.Json" />
<PackageReference Include="Tomlyn.Extensions.Configuration" />
<PackageReference Include="Tomlyn" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Tribufu.Logging\Tribufu.Logging.csproj" />
<ProjectReference Include="..\Tribufu.Platform\Tribufu.Platform.csproj" />
</ItemGroup>
</Project>

View File

@@ -1,105 +0,0 @@
// Copyright (c) Tribufu. All Rights Reserved.
// SPDX-License-Identifier: MIT
using Microsoft.Extensions.Configuration;
using System;
namespace Tribufu.EntityFrameworkCore
{
public class DatabaseConfiguration
{
public DatabaseDriver Driver { get; set; }
public string? Version { get; set; }
public string? Host { get; set; }
public string? Port { get; set; }
public string? User { get; set; }
public string? Password { get; set; }
public string? Schema { get; set; }
/// <summary>
/// Loads the <see cref="DatabaseConfiguration"/> from the "database" section or from root-level keys prefixed with "database_".
/// </summary>
/// <param name="configuration">The configuration source.</param>
/// <returns>The populated <see cref="DatabaseConfiguration"/> instance.</returns>
public static DatabaseConfiguration Load(IConfiguration configuration)
{
var section = configuration.GetSection("database");
var useRootFallback = !section.Exists();
string? GetConfig(string key) => useRootFallback ? configuration[$"database_{key}"] : section[key];
var driverString = GetConfig("driver") ?? throw new Exception("Missing database driver");
if (!Enum.TryParse<DatabaseDriver>(driverString, true, out var driver))
{
throw new Exception($"Unsupported database driver: {driverString}");
}
return new DatabaseConfiguration
{
Driver = driver,
Version = GetConfig("version"),
Host = GetConfig("host"),
Port = GetConfig("port"),
User = GetConfig("user"),
Password = GetConfig("password"),
Schema = GetConfig("schema")
};
}
/*
services.AddDbContext<DbContext>(options =>
{
switch (dbConfig.Driver)
{
case DatabaseDriver.MySql:
var mysqlConnection = $"Server={dbConfig.Host};Port={dbConfig.Port};Uid={dbConfig.User};Pwd={dbConfig.Password};Database={dbConfig.Schema};ConvertZeroDateTime=True;";
options.UseMySql(mysqlConnection, ServerVersion.Parse(dbConfig.Version ?? "8.0"), mySqlOptions => { });
break;
case DatabaseDriver.Postgres:
var pgsqlConnection = $"Host={dbConfig.Host};Port={dbConfig.Port};Database={dbConfig.Schema};Username={dbConfig.User};Password={dbConfig.Password};";
options.UseNpgsql(pgsqlConnection, npgsqlOptions => { });
break;
case DatabaseDriver.SqlServer:
var sqlServerConnection = $"Server={dbConfig.Host},{dbConfig.Port};Database={dbConfig.Schema};User Id={dbConfig.User};Password={dbConfig.Password};Encrypt=True;TrustServerCertificate=True;";
options.UseSqlServer(sqlServerConnection, sqlOptions => { });
break;
case DatabaseDriver.Oracle:
var oracleConnection = $"User Id={dbConfig.User};Password={dbConfig.Password};Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST={dbConfig.Host})(PORT={dbConfig.Port})))(CONNECT_DATA=(SERVICE_NAME={dbConfig.Schema})));";
options.UseOracle(oracleConnection, oracleOptions => { });
break;
case DatabaseDriver.Firebird:
var firebirdConnection = $"User={dbConfig.User};Password={dbConfig.Password};Database={dbConfig.Host}:{dbConfig.Port}/{dbConfig.Schema};Dialect=3;";
options.UseFirebird(firebirdConnection, firebirdOptions => { });
break;
case DatabaseDriver.Sqlite:
var savedDirectory = Paths.GetApplicationSavedDirectory();
if (!Directory.Exists(savedDirectory)) Directory.CreateDirectory(savedDirectory);
var sqliteDatabaseFile = string.IsNullOrEmpty(dbConfig.Schema) ? "default.db" : $"{dbConfig.Schema}.db";
var sqliteDatabasePath = Path.Combine(savedDirectory, sqliteDatabaseFile);
options.UseSqlite($"Data Source={sqliteDatabasePath}", sqliteOptions => { });
break;
case DatabaseDriver.MongoDb:
var mongoUriBuilder = new MongoUrlBuilder
{
Server = new MongoServerAddress(dbConfig.Host, int.Parse(dbConfig.Port ?? "27017")),
Username = dbConfig.User,
Password = dbConfig.Password,
DatabaseName = dbConfig.Schema
};
var mongoClient = new MongoClient(mongoUriBuilder.ToMongoUrl());
var mongoDatabase = mongoClient.GetDatabase(dbConfig.Schema ?? "default");
options.UseMongoDB(mongoDatabase.Client, mongoDatabase.DatabaseNamespace.DatabaseName);
break;
default:
throw new NotSupportedException($"Unsupported database driver: {dbConfig.Driver}");
}
});
*/
}
}

View File

@@ -1,12 +0,0 @@
// Copyright (c) Tribufu. All Rights Reserved.
// SPDX-License-Identifier: MIT
namespace Tribufu.EntityFrameworkCore
{
public static class DatabaseConstants
{
public const uint DEFAULT_PAGINATION = 20;
public const uint MAX_PAGINATION = 100;
}
}

View File

@@ -1,22 +0,0 @@
// Copyright (c) Tribufu. All Rights Reserved.
// SPDX-License-Identifier: MIT
namespace Tribufu.EntityFrameworkCore
{
public enum DatabaseDriver : byte
{
MySql = 0,
Postgres = 1,
SqlServer = 2,
Oracle = 3,
Firebird = 4,
Sqlite = 5,
MongoDb = 6,
}
}

View File

@@ -1 +0,0 @@
# Tribufu EntityFrameworkCore

View File

@@ -1,41 +0,0 @@
// Copyright (c) Tribufu. All Rights Reserved.
// SPDX-License-Identifier: MIT
using System.Collections.Generic;
using System.Threading.Tasks;
namespace Tribufu.EntityFrameworkCore.Repositories
{
public interface IRepository<T, K> where T : class
{
Task SeedAsync();
IList<T> GetAll();
Task<IList<T>> GetAllAsync();
IList<T> GetPage(uint page, uint limit);
Task<IList<T>> GetPageAsync(uint page, uint limit);
T? GetOne(K key);
Task<T?> GetOneAsync(K key);
T? Create(T entity);
Task<T?> CreateAsync(T entity);
T? Update(T entity);
Task<T?> UpdateAsync(T entity);
void Delete(K key);
Task DeleteAsync(K key);
void Delete(T entity);
Task DeleteAsync(T entity);
}
}

View File

@@ -1,117 +0,0 @@
// Copyright (c) Tribufu. All Rights Reserved.
// SPDX-License-Identifier: MIT
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace Tribufu.EntityFrameworkCore.Repositories
{
public class Repository<C, T, K> : IRepository<T, K> where C : DbContext where T : class
{
protected readonly C _context;
protected readonly DbSet<T> _dbSet;
public Repository(C context)
{
_context = context ?? throw new ArgumentNullException(nameof(context));
_dbSet = context.Set<T>();
}
public virtual async Task SeedAsync()
{
}
public virtual IList<T> GetAll()
{
return [.. _dbSet];
}
public virtual async Task<IList<T>> GetAllAsync()
{
return await _dbSet.ToListAsync();
}
public virtual IList<T> GetPage(uint page, uint limit)
{
return _dbSet.Skip((int)((page < 1 ? 0 : page - 1) * limit)).Take((int)limit).ToList();
}
public virtual async Task<IList<T>> GetPageAsync(uint page, uint limit)
{
return await _dbSet.Skip((int)((page < 1 ? 0 : page - 1) * limit)).Take((int)limit).ToListAsync();
}
public virtual T? GetOne(K key)
{
return _dbSet.Find(key);
}
public virtual async Task<T?> GetOneAsync(K key)
{
return await _dbSet.FindAsync(key);
}
public virtual T? Create(T entity)
{
_dbSet.Add(entity);
var result = _context.SaveChanges();
return result > 0 ? entity : null;
}
public virtual async Task<T?> CreateAsync(T entity)
{
await _dbSet.AddAsync(entity);
var result = await _context.SaveChangesAsync();
return result > 0 ? entity : null;
}
public virtual T? Update(T entity)
{
_dbSet.Update(entity);
var result = _context.SaveChanges();
return result > 0 ? entity : null;
}
public virtual async Task<T?> UpdateAsync(T entity)
{
_dbSet.Update(entity);
var result = await _context.SaveChangesAsync();
return result > 0 ? entity : null;
}
public virtual void Delete(K key)
{
var entity = _dbSet.Find(key);
if (entity != null)
{
Delete(entity);
}
}
public virtual async Task DeleteAsync(K key)
{
var entity = await _dbSet.FindAsync(key);
if (entity != null)
{
await DeleteAsync(entity);
}
}
public virtual void Delete(T entity)
{
_dbSet.Remove(entity);
_context.SaveChanges();
}
public virtual async Task DeleteAsync(T entity)
{
_dbSet.Remove(entity);
await _context.SaveChangesAsync();
}
}
}

View File

@@ -1,26 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<PackageId>Tribufu.EntityFrameworkCore</PackageId>
<Description>Tribufu EntityFrameworkCore</Description>
<PackageReadmeFile>README.md</PackageReadmeFile>
</PropertyGroup>
<PropertyGroup>
<AppDesignerFolder>Properties</AppDesignerFolder>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<IsPublishable>false</IsPublishable>
<Nullable>enable</Nullable>
<OutputType>Library</OutputType>
<TargetFrameworks>net8.0</TargetFrameworks>
</PropertyGroup>
<ItemGroup>
<None Include="README.md" Pack="true" PackagePath="\" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Tribufu.Configuration\Tribufu.Configuration.csproj" />
<ProjectReference Include="..\Tribufu.Logging\Tribufu.Logging.csproj" />
<ProjectReference Include="..\Tribufu.Platform\Tribufu.Platform.csproj" />
</ItemGroup>
</Project>

View File

@@ -1,11 +1,8 @@
// Copyright (c) Tribufu. All Rights Reserved.
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: UNLICENSED
using dotenv.net;
using System;
using System.Threading.Tasks;
using Tribufu.Client;
using Tribufu.Logging;
using Tribufu.Generated.Client;
namespace Tribufu.Test
{
@@ -13,23 +10,21 @@ namespace Tribufu.Test
{
public static async Task Main(string[] args)
{
Logger.Initialize(LogLevel.Trace);
DotEnv.Load(new DotEnvOptions(ignoreExceptions: true, envFilePaths: [".env", "../../.env"]));
var apiKey = Environment.GetEnvironmentVariable("TRIBUFU_API_KEY");
var tribufu = new TribufuApi(apiKey ?? "");
Logger.Debug(TribufuApi.GetUserAgent());
Console.WriteLine(TribufuApi.GetVersion());
try
{
var result = await tribufu.GetUserInfoAsync();
Logger.Debug(result.ToString());
Console.WriteLine(result);
}
catch (ApiException e)
{
Logger.Debug(e.Message);
Console.WriteLine(e.Message);
}
}
}

View File

@@ -1,16 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<IsPackable>false</IsPackable>
<IsPublishable>false</IsPublishable>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="dotenv.net" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Tribufu.Logging\Tribufu.Logging.csproj" />
<ProjectReference Include="..\Tribufu\Tribufu.csproj" />
</ItemGroup>
</Project>

File diff suppressed because it is too large Load Diff

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -30,9 +30,9 @@ using RestSharp.Serializers;
using RestSharpMethod = RestSharp.Method;
using FileIO = System.IO.File;
using Polly;
using Tribufu.Model;
using Tribufu.Generated.Model;
namespace Tribufu.Client
namespace Tribufu.Generated.Client
{
/// <summary>
/// Allows RestSharp to Serialize/Deserialize JSON using our custom logic, but only when ContentType is JSON.

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -11,7 +11,7 @@
using System;
namespace Tribufu.Client
namespace Tribufu.Generated.Client
{
/// <summary>
/// API Exception

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -13,7 +13,7 @@ using System;
using System.Collections.Generic;
using System.Net;
namespace Tribufu.Client
namespace Tribufu.Generated.Client
{
/// <summary>
/// Provides a non-generic contract for the ApiResponse wrapper.

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -19,7 +19,7 @@ using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
namespace Tribufu.Client
namespace Tribufu.Generated.Client
{
/// <summary>
/// Utility functions providing some benefit to API client consumers.

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -21,7 +21,7 @@ using System.Text;
using System.Net.Http;
using System.Net.Security;
namespace Tribufu.Client
namespace Tribufu.Generated.Client
{
/// <summary>
/// Represents a set of configuration settings
@@ -537,10 +537,10 @@ namespace Tribufu.Client
/// </summary>
public static string ToDebugReport()
{
string report = "C# SDK (Tribufu) Debug Report:\n";
string report = "C# SDK (Tribufu.Generated) Debug Report:\n";
report += " OS: " + System.Environment.OSVersion + "\n";
report += " .NET Framework Version: " + System.Environment.Version + "\n";
report += " Version of the API: 1.2.6\n";
report += " Version of the API: 1.1.0\n";
report += " SDK Package Version: 1.0.0\n";
return report;

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -11,7 +11,7 @@
using System;
namespace Tribufu.Client
namespace Tribufu.Generated.Client
{
/// <summary>
/// A delegate to ExceptionFactory method

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -11,7 +11,7 @@
using System.Collections.Generic;
namespace Tribufu.Client
namespace Tribufu.Generated.Client
{
/// <summary>
/// <see cref="GlobalConfiguration"/> provides a compile-time extension point for globally configuring

View File

@@ -1,15 +1,15 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
namespace Tribufu.Client
namespace Tribufu.Generated.Client
{
/// <summary>
/// Http methods supported by swagger

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -11,7 +11,7 @@
using System;
namespace Tribufu.Client
namespace Tribufu.Generated.Client
{
/// <summary>
/// Represents configuration aspects required to interact with the API endpoints.

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -12,7 +12,7 @@
using System;
using System.Threading.Tasks;
namespace Tribufu.Client
namespace Tribufu.Generated.Client
{
/// <summary>
/// Contract for Asynchronous RESTful API interactions.

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -15,7 +15,7 @@ using System.Net;
using System.Net.Security;
using System.Security.Cryptography.X509Certificates;
namespace Tribufu.Client
namespace Tribufu.Generated.Client
{
/// <summary>
/// Represents a readable-only configuration contract.

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -12,7 +12,7 @@
using System;
using System.IO;
namespace Tribufu.Client
namespace Tribufu.Generated.Client
{
/// <summary>
/// Contract for Synchronous RESTful API interactions.

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -13,7 +13,7 @@ using System;
using System.Collections;
using System.Collections.Generic;
namespace Tribufu.Client
namespace Tribufu.Generated.Client
{
/// <summary>
/// A dictionary in which one key has many associated values.

View File

@@ -1,16 +1,16 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using Newtonsoft.Json.Converters;
namespace Tribufu.Client
namespace Tribufu.Generated.Client
{
/// <summary>
/// Formatter for 'date' openapi formats ss defined by full-date - RFC3339

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -14,7 +14,7 @@ using System.Collections.Generic;
using System.IO;
using System.Net;
namespace Tribufu.Client
namespace Tribufu.Generated.Client
{
/// <summary>
/// A container for generalized request inputs. This type allows consumers to extend the request functionality

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -12,7 +12,7 @@
using Polly;
using RestSharp;
namespace Tribufu.Client
namespace Tribufu.Generated.Client
{
/// <summary>
/// Configuration class to set the polly retry policies to be applied to the requests.

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -13,7 +13,7 @@ using System;
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;
namespace Tribufu.Model
namespace Tribufu.Generated.Model
{
/// <summary>
/// Abstract base class for oneOf, anyOf schemas in the OpenAPI specification

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -22,9 +22,9 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Tribufu.Client.OpenAPIDateConverter;
using OpenAPIDateConverter = Tribufu.Generated.Client.OpenAPIDateConverter;
namespace Tribufu.Model
namespace Tribufu.Generated.Model
{
/// <summary>
/// Account
@@ -36,34 +36,24 @@ namespace Tribufu.Model
/// <summary>
/// Gets or Sets Provider
/// </summary>
[DataMember(Name = "provider", IsRequired = true, EmitDefaultValue = true)]
public LoginProvider Provider { get; set; }
[DataMember(Name = "provider", EmitDefaultValue = false)]
public LoginProvider? Provider { get; set; }
/// <summary>
/// Initializes a new instance of the <see cref="Account" /> class.
/// </summary>
[JsonConstructorAttribute]
protected Account() { }
/// <summary>
/// Initializes a new instance of the <see cref="Account" /> class.
/// </summary>
/// <param name="id">id (required).</param>
/// <param name="id">id.</param>
/// <param name="name">name.</param>
/// <param name="provider">provider (required).</param>
/// <param name="provider">provider.</param>
/// <param name="userId">userId.</param>
/// <param name="authorized">authorized.</param>
/// <param name="fields">fields.</param>
/// <param name="created">created.</param>
/// <param name="updated">updated.</param>
public Account(string id = default(string), string name = default(string), LoginProvider provider = default(LoginProvider), string userId = default(string), bool authorized = default(bool), Object fields = default(Object), DateTime created = default(DateTime), DateTime? updated = default(DateTime?))
public Account(string id = default(string), string name = default(string), LoginProvider? provider = default(LoginProvider?), string userId = default(string), bool authorized = default(bool), Object fields = default(Object), DateTime created = default(DateTime), DateTime? updated = default(DateTime?))
{
// to ensure "id" is required (not null)
if (id == null)
{
throw new ArgumentNullException("id is a required property for Account and cannot be null");
}
this.Id = id;
this.Provider = provider;
this.Name = name;
this.Provider = provider;
this.UserId = userId;
this.Authorized = authorized;
this.Fields = fields;
@@ -74,7 +64,7 @@ namespace Tribufu.Model
/// <summary>
/// Gets or Sets Id
/// </summary>
[DataMember(Name = "id", IsRequired = true, EmitDefaultValue = true)]
[DataMember(Name = "id", EmitDefaultValue = true)]
public string Id { get; set; }
/// <summary>

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -22,9 +22,9 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Tribufu.Client.OpenAPIDateConverter;
using OpenAPIDateConverter = Tribufu.Generated.Client.OpenAPIDateConverter;
namespace Tribufu.Model
namespace Tribufu.Generated.Model
{
/// <summary>
/// Application
@@ -41,13 +41,8 @@ namespace Tribufu.Model
/// <summary>
/// Initializes a new instance of the <see cref="Application" /> class.
/// </summary>
[JsonConstructorAttribute]
protected Application() { }
/// <summary>
/// Initializes a new instance of the <see cref="Application" /> class.
/// </summary>
/// <param name="id">id.</param>
/// <param name="name">name (required).</param>
/// <param name="name">name.</param>
/// <param name="description">description.</param>
/// <param name="type">type.</param>
/// <param name="organizationId">organizationId.</param>
@@ -55,18 +50,21 @@ namespace Tribufu.Model
/// <param name="bannerUrl">bannerUrl.</param>
/// <param name="capsuleImageUrl">capsuleImageUrl.</param>
/// <param name="libraryImageUrl">libraryImageUrl.</param>
/// <param name="parentId">parentId.</param>
/// <param name="slug">slug.</param>
/// <param name="visibility">visibility.</param>
/// <param name="password">password.</param>
/// <param name="primary">primary.</param>
/// <param name="userCount">userCount.</param>
/// <param name="achievementCount">achievementCount.</param>
/// <param name="badgeCount">badgeCount.</param>
/// <param name="downloadCount">downloadCount.</param>
/// <param name="created">created.</param>
/// <param name="updated">updated.</param>
public Application(string id = default(string), string name = default(string), string description = default(string), ApplicationType? type = default(ApplicationType?), string organizationId = default(string), string iconUrl = default(string), string bannerUrl = default(string), string capsuleImageUrl = default(string), string libraryImageUrl = default(string), string slug = default(string), DateTime created = default(DateTime), DateTime? updated = default(DateTime?))
public Application(string id = default(string), string name = default(string), string description = default(string), ApplicationType? type = default(ApplicationType?), string organizationId = default(string), string iconUrl = default(string), string bannerUrl = default(string), string capsuleImageUrl = default(string), string libraryImageUrl = default(string), string parentId = default(string), string slug = default(string), int visibility = default(int), string password = default(string), int primary = default(int), int userCount = default(int), int achievementCount = default(int), int? badgeCount = default(int?), int downloadCount = default(int), DateTime created = default(DateTime), DateTime? updated = default(DateTime?))
{
// to ensure "name" is required (not null)
if (name == null)
{
throw new ArgumentNullException("name is a required property for Application and cannot be null");
}
this.Name = name;
this.Id = id;
this.Name = name;
this.Description = description;
this.Type = type;
this.OrganizationId = organizationId;
@@ -74,7 +72,15 @@ namespace Tribufu.Model
this.BannerUrl = bannerUrl;
this.CapsuleImageUrl = capsuleImageUrl;
this.LibraryImageUrl = libraryImageUrl;
this.ParentId = parentId;
this.Slug = slug;
this.Visibility = visibility;
this.Password = password;
this.Primary = primary;
this.UserCount = userCount;
this.AchievementCount = achievementCount;
this.BadgeCount = badgeCount;
this.DownloadCount = downloadCount;
this.Created = created;
this.Updated = updated;
}
@@ -88,7 +94,7 @@ namespace Tribufu.Model
/// <summary>
/// Gets or Sets Name
/// </summary>
[DataMember(Name = "name", IsRequired = true, EmitDefaultValue = true)]
[DataMember(Name = "name", EmitDefaultValue = true)]
public string Name { get; set; }
/// <summary>
@@ -127,12 +133,60 @@ namespace Tribufu.Model
[DataMember(Name = "library_image_url", EmitDefaultValue = true)]
public string LibraryImageUrl { get; set; }
/// <summary>
/// Gets or Sets ParentId
/// </summary>
[DataMember(Name = "parent_id", EmitDefaultValue = true)]
public string ParentId { get; set; }
/// <summary>
/// Gets or Sets Slug
/// </summary>
[DataMember(Name = "slug", EmitDefaultValue = true)]
public string Slug { get; set; }
/// <summary>
/// Gets or Sets Visibility
/// </summary>
[DataMember(Name = "visibility", EmitDefaultValue = false)]
public int Visibility { get; set; }
/// <summary>
/// Gets or Sets Password
/// </summary>
[DataMember(Name = "password", EmitDefaultValue = true)]
public string Password { get; set; }
/// <summary>
/// Gets or Sets Primary
/// </summary>
[DataMember(Name = "primary", EmitDefaultValue = false)]
public int Primary { get; set; }
/// <summary>
/// Gets or Sets UserCount
/// </summary>
[DataMember(Name = "user_count", EmitDefaultValue = false)]
public int UserCount { get; set; }
/// <summary>
/// Gets or Sets AchievementCount
/// </summary>
[DataMember(Name = "achievement_count", EmitDefaultValue = false)]
public int AchievementCount { get; set; }
/// <summary>
/// Gets or Sets BadgeCount
/// </summary>
[DataMember(Name = "badge_count", EmitDefaultValue = true)]
public int? BadgeCount { get; set; }
/// <summary>
/// Gets or Sets DownloadCount
/// </summary>
[DataMember(Name = "download_count", EmitDefaultValue = false)]
public int DownloadCount { get; set; }
/// <summary>
/// Gets or Sets Created
/// </summary>
@@ -162,7 +216,15 @@ namespace Tribufu.Model
sb.Append(" BannerUrl: ").Append(BannerUrl).Append("\n");
sb.Append(" CapsuleImageUrl: ").Append(CapsuleImageUrl).Append("\n");
sb.Append(" LibraryImageUrl: ").Append(LibraryImageUrl).Append("\n");
sb.Append(" ParentId: ").Append(ParentId).Append("\n");
sb.Append(" Slug: ").Append(Slug).Append("\n");
sb.Append(" Visibility: ").Append(Visibility).Append("\n");
sb.Append(" Password: ").Append(Password).Append("\n");
sb.Append(" Primary: ").Append(Primary).Append("\n");
sb.Append(" UserCount: ").Append(UserCount).Append("\n");
sb.Append(" AchievementCount: ").Append(AchievementCount).Append("\n");
sb.Append(" BadgeCount: ").Append(BadgeCount).Append("\n");
sb.Append(" DownloadCount: ").Append(DownloadCount).Append("\n");
sb.Append(" Created: ").Append(Created).Append("\n");
sb.Append(" Updated: ").Append(Updated).Append("\n");
sb.Append("}\n");
@@ -215,12 +277,6 @@ namespace Tribufu.Model
yield return new ValidationResult("Invalid value for LibraryImageUrl, length must be less than 255.", new [] { "LibraryImageUrl" });
}
// Slug (string) maxLength
if (this.Slug != null && this.Slug.Length > 75)
{
yield return new ValidationResult("Invalid value for Slug, length must be less than 75.", new [] { "Slug" });
}
yield break;
}
}

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -22,9 +22,9 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Tribufu.Client.OpenAPIDateConverter;
using OpenAPIDateConverter = Tribufu.Generated.Client.OpenAPIDateConverter;
namespace Tribufu.Model
namespace Tribufu.Generated.Model
{
/// <summary>
/// Defines ApplicationType

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -22,9 +22,9 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Tribufu.Client.OpenAPIDateConverter;
using OpenAPIDateConverter = Tribufu.Generated.Client.OpenAPIDateConverter;
namespace Tribufu.Model
namespace Tribufu.Generated.Model
{
/// <summary>
/// AuthorizeRequest
@@ -47,35 +47,20 @@ namespace Tribufu.Model
/// <summary>
/// Initializes a new instance of the <see cref="AuthorizeRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected AuthorizeRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="AuthorizeRequest" /> class.
/// </summary>
/// <param name="responseType">responseType.</param>
/// <param name="clientId">clientId (required).</param>
/// <param name="clientId">clientId.</param>
/// <param name="codeChallenge">codeChallenge.</param>
/// <param name="codeChallengeMethod">codeChallengeMethod.</param>
/// <param name="redirectUri">redirectUri (required).</param>
/// <param name="redirectUri">redirectUri.</param>
/// <param name="scope">scope.</param>
/// <param name="state">state.</param>
public AuthorizeRequest(ResponseType? responseType = default(ResponseType?), string clientId = default(string), string codeChallenge = default(string), CodeChallengeMethod? codeChallengeMethod = default(CodeChallengeMethod?), string redirectUri = default(string), string scope = default(string), string state = default(string))
{
// to ensure "clientId" is required (not null)
if (clientId == null)
{
throw new ArgumentNullException("clientId is a required property for AuthorizeRequest and cannot be null");
}
this.ClientId = clientId;
// to ensure "redirectUri" is required (not null)
if (redirectUri == null)
{
throw new ArgumentNullException("redirectUri is a required property for AuthorizeRequest and cannot be null");
}
this.RedirectUri = redirectUri;
this.ResponseType = responseType;
this.ClientId = clientId;
this.CodeChallenge = codeChallenge;
this.CodeChallengeMethod = codeChallengeMethod;
this.RedirectUri = redirectUri;
this.Scope = scope;
this.State = state;
}
@@ -83,7 +68,7 @@ namespace Tribufu.Model
/// <summary>
/// Gets or Sets ClientId
/// </summary>
[DataMember(Name = "client_id", IsRequired = true, EmitDefaultValue = true)]
[DataMember(Name = "client_id", EmitDefaultValue = true)]
public string ClientId { get; set; }
/// <summary>
@@ -95,7 +80,7 @@ namespace Tribufu.Model
/// <summary>
/// Gets or Sets RedirectUri
/// </summary>
[DataMember(Name = "redirect_uri", IsRequired = true, EmitDefaultValue = true)]
[DataMember(Name = "redirect_uri", EmitDefaultValue = true)]
public string RedirectUri { get; set; }
/// <summary>

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -22,9 +22,9 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Tribufu.Client.OpenAPIDateConverter;
using OpenAPIDateConverter = Tribufu.Generated.Client.OpenAPIDateConverter;
namespace Tribufu.Model
namespace Tribufu.Generated.Model
{
/// <summary>
/// Defines CodeChallengeMethod

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -22,9 +22,9 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Tribufu.Client.OpenAPIDateConverter;
using OpenAPIDateConverter = Tribufu.Generated.Client.OpenAPIDateConverter;
namespace Tribufu.Model
namespace Tribufu.Generated.Model
{
/// <summary>
/// CryptoViewModel

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -22,9 +22,9 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Tribufu.Client.OpenAPIDateConverter;
using OpenAPIDateConverter = Tribufu.Generated.Client.OpenAPIDateConverter;
namespace Tribufu.Model
namespace Tribufu.Generated.Model
{
/// <summary>
/// Game
@@ -41,13 +41,19 @@ namespace Tribufu.Model
/// <summary>
/// Initializes a new instance of the <see cref="Game" /> class.
/// </summary>
[JsonConstructorAttribute]
protected Game() { }
/// <summary>
/// Initializes a new instance of the <see cref="Game" /> class.
/// </summary>
/// <param name="gamePort">gamePort.</param>
/// <param name="queryPort">queryPort.</param>
/// <param name="rconPort">rconPort.</param>
/// <param name="serverCount">serverCount.</param>
/// <param name="steamAppId">steamAppId.</param>
/// <param name="steamServerAppId">steamServerAppId.</param>
/// <param name="enableServers">enableServers.</param>
/// <param name="rustGamedigId">rustGamedigId.</param>
/// <param name="nodeGamedigId">nodeGamedigId.</param>
/// <param name="serverConnectUrl">serverConnectUrl.</param>
/// <param name="serverTags">serverTags.</param>
/// <param name="id">id.</param>
/// <param name="name">name (required).</param>
/// <param name="name">name.</param>
/// <param name="description">description.</param>
/// <param name="type">type.</param>
/// <param name="organizationId">organizationId.</param>
@@ -55,25 +61,32 @@ namespace Tribufu.Model
/// <param name="bannerUrl">bannerUrl.</param>
/// <param name="capsuleImageUrl">capsuleImageUrl.</param>
/// <param name="libraryImageUrl">libraryImageUrl.</param>
/// <param name="parentId">parentId.</param>
/// <param name="slug">slug.</param>
/// <param name="visibility">visibility.</param>
/// <param name="password">password.</param>
/// <param name="primary">primary.</param>
/// <param name="userCount">userCount.</param>
/// <param name="achievementCount">achievementCount.</param>
/// <param name="badgeCount">badgeCount.</param>
/// <param name="downloadCount">downloadCount.</param>
/// <param name="created">created.</param>
/// <param name="updated">updated.</param>
/// <param name="enableServers">enableServers.</param>
/// <param name="gamePort">gamePort.</param>
/// <param name="queryPort">queryPort.</param>
/// <param name="rconPort">rconPort.</param>
/// <param name="gamedigId">gamedigId.</param>
/// <param name="steamAppId">steamAppId.</param>
/// <param name="steamServerAppId">steamServerAppId.</param>
public Game(string id = default(string), string name = default(string), string description = default(string), ApplicationType? type = default(ApplicationType?), string organizationId = default(string), string iconUrl = default(string), string bannerUrl = default(string), string capsuleImageUrl = default(string), string libraryImageUrl = default(string), string slug = default(string), DateTime created = default(DateTime), DateTime? updated = default(DateTime?), bool enableServers = default(bool), int? gamePort = default(int?), int? queryPort = default(int?), int? rconPort = default(int?), string gamedigId = default(string), int? steamAppId = default(int?), int? steamServerAppId = default(int?))
public Game(int? gamePort = default(int?), int? queryPort = default(int?), int? rconPort = default(int?), int serverCount = default(int), int? steamAppId = default(int?), int? steamServerAppId = default(int?), bool enableServers = default(bool), string rustGamedigId = default(string), string nodeGamedigId = default(string), string serverConnectUrl = default(string), string serverTags = default(string), string id = default(string), string name = default(string), string description = default(string), ApplicationType? type = default(ApplicationType?), string organizationId = default(string), string iconUrl = default(string), string bannerUrl = default(string), string capsuleImageUrl = default(string), string libraryImageUrl = default(string), string parentId = default(string), string slug = default(string), int visibility = default(int), string password = default(string), int primary = default(int), int userCount = default(int), int achievementCount = default(int), int? badgeCount = default(int?), int downloadCount = default(int), DateTime created = default(DateTime), DateTime? updated = default(DateTime?))
{
// to ensure "name" is required (not null)
if (name == null)
{
throw new ArgumentNullException("name is a required property for Game and cannot be null");
}
this.Name = name;
this.GamePort = gamePort;
this.QueryPort = queryPort;
this.RconPort = rconPort;
this.ServerCount = serverCount;
this.SteamAppId = steamAppId;
this.SteamServerAppId = steamServerAppId;
this.EnableServers = enableServers;
this.RustGamedigId = rustGamedigId;
this.NodeGamedigId = nodeGamedigId;
this.ServerConnectUrl = serverConnectUrl;
this.ServerTags = serverTags;
this.Id = id;
this.Name = name;
this.Description = description;
this.Type = type;
this.OrganizationId = organizationId;
@@ -81,18 +94,85 @@ namespace Tribufu.Model
this.BannerUrl = bannerUrl;
this.CapsuleImageUrl = capsuleImageUrl;
this.LibraryImageUrl = libraryImageUrl;
this.ParentId = parentId;
this.Slug = slug;
this.Visibility = visibility;
this.Password = password;
this.Primary = primary;
this.UserCount = userCount;
this.AchievementCount = achievementCount;
this.BadgeCount = badgeCount;
this.DownloadCount = downloadCount;
this.Created = created;
this.Updated = updated;
this.EnableServers = enableServers;
this.GamePort = gamePort;
this.QueryPort = queryPort;
this.RconPort = rconPort;
this.GamedigId = gamedigId;
this.SteamAppId = steamAppId;
this.SteamServerAppId = steamServerAppId;
}
/// <summary>
/// Gets or Sets GamePort
/// </summary>
[DataMember(Name = "game_port", EmitDefaultValue = true)]
public int? GamePort { get; set; }
/// <summary>
/// Gets or Sets QueryPort
/// </summary>
[DataMember(Name = "query_port", EmitDefaultValue = true)]
public int? QueryPort { get; set; }
/// <summary>
/// Gets or Sets RconPort
/// </summary>
[DataMember(Name = "rcon_port", EmitDefaultValue = true)]
public int? RconPort { get; set; }
/// <summary>
/// Gets or Sets ServerCount
/// </summary>
[DataMember(Name = "server_count", EmitDefaultValue = false)]
public int ServerCount { get; set; }
/// <summary>
/// Gets or Sets SteamAppId
/// </summary>
[DataMember(Name = "steam_app_id", EmitDefaultValue = true)]
public int? SteamAppId { get; set; }
/// <summary>
/// Gets or Sets SteamServerAppId
/// </summary>
[DataMember(Name = "steam_server_app_id", EmitDefaultValue = true)]
public int? SteamServerAppId { get; set; }
/// <summary>
/// Gets or Sets EnableServers
/// </summary>
[DataMember(Name = "enable_servers", EmitDefaultValue = true)]
public bool EnableServers { get; set; }
/// <summary>
/// Gets or Sets RustGamedigId
/// </summary>
[DataMember(Name = "rust_gamedig_id", EmitDefaultValue = true)]
public string RustGamedigId { get; set; }
/// <summary>
/// Gets or Sets NodeGamedigId
/// </summary>
[DataMember(Name = "node_gamedig_id", EmitDefaultValue = true)]
public string NodeGamedigId { get; set; }
/// <summary>
/// Gets or Sets ServerConnectUrl
/// </summary>
[DataMember(Name = "server_connect_url", EmitDefaultValue = true)]
public string ServerConnectUrl { get; set; }
/// <summary>
/// Gets or Sets ServerTags
/// </summary>
[DataMember(Name = "server_tags", EmitDefaultValue = true)]
public string ServerTags { get; set; }
/// <summary>
/// Gets or Sets Id
/// </summary>
@@ -102,7 +182,7 @@ namespace Tribufu.Model
/// <summary>
/// Gets or Sets Name
/// </summary>
[DataMember(Name = "name", IsRequired = true, EmitDefaultValue = true)]
[DataMember(Name = "name", EmitDefaultValue = true)]
public string Name { get; set; }
/// <summary>
@@ -141,12 +221,60 @@ namespace Tribufu.Model
[DataMember(Name = "library_image_url", EmitDefaultValue = true)]
public string LibraryImageUrl { get; set; }
/// <summary>
/// Gets or Sets ParentId
/// </summary>
[DataMember(Name = "parent_id", EmitDefaultValue = true)]
public string ParentId { get; set; }
/// <summary>
/// Gets or Sets Slug
/// </summary>
[DataMember(Name = "slug", EmitDefaultValue = true)]
public string Slug { get; set; }
/// <summary>
/// Gets or Sets Visibility
/// </summary>
[DataMember(Name = "visibility", EmitDefaultValue = false)]
public int Visibility { get; set; }
/// <summary>
/// Gets or Sets Password
/// </summary>
[DataMember(Name = "password", EmitDefaultValue = true)]
public string Password { get; set; }
/// <summary>
/// Gets or Sets Primary
/// </summary>
[DataMember(Name = "primary", EmitDefaultValue = false)]
public int Primary { get; set; }
/// <summary>
/// Gets or Sets UserCount
/// </summary>
[DataMember(Name = "user_count", EmitDefaultValue = false)]
public int UserCount { get; set; }
/// <summary>
/// Gets or Sets AchievementCount
/// </summary>
[DataMember(Name = "achievement_count", EmitDefaultValue = false)]
public int AchievementCount { get; set; }
/// <summary>
/// Gets or Sets BadgeCount
/// </summary>
[DataMember(Name = "badge_count", EmitDefaultValue = true)]
public int? BadgeCount { get; set; }
/// <summary>
/// Gets or Sets DownloadCount
/// </summary>
[DataMember(Name = "download_count", EmitDefaultValue = false)]
public int DownloadCount { get; set; }
/// <summary>
/// Gets or Sets Created
/// </summary>
@@ -159,48 +287,6 @@ namespace Tribufu.Model
[DataMember(Name = "updated", EmitDefaultValue = true)]
public DateTime? Updated { get; set; }
/// <summary>
/// Gets or Sets EnableServers
/// </summary>
[DataMember(Name = "enable_servers", EmitDefaultValue = true)]
public bool EnableServers { get; set; }
/// <summary>
/// Gets or Sets GamePort
/// </summary>
[DataMember(Name = "game_port", EmitDefaultValue = true)]
public int? GamePort { get; set; }
/// <summary>
/// Gets or Sets QueryPort
/// </summary>
[DataMember(Name = "query_port", EmitDefaultValue = true)]
public int? QueryPort { get; set; }
/// <summary>
/// Gets or Sets RconPort
/// </summary>
[DataMember(Name = "rcon_port", EmitDefaultValue = true)]
public int? RconPort { get; set; }
/// <summary>
/// Gets or Sets GamedigId
/// </summary>
[DataMember(Name = "gamedig_id", EmitDefaultValue = true)]
public string GamedigId { get; set; }
/// <summary>
/// Gets or Sets SteamAppId
/// </summary>
[DataMember(Name = "steam_app_id", EmitDefaultValue = true)]
public int? SteamAppId { get; set; }
/// <summary>
/// Gets or Sets SteamServerAppId
/// </summary>
[DataMember(Name = "steam_server_app_id", EmitDefaultValue = true)]
public int? SteamServerAppId { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
@@ -209,6 +295,17 @@ namespace Tribufu.Model
{
StringBuilder sb = new StringBuilder();
sb.Append("class Game {\n");
sb.Append(" GamePort: ").Append(GamePort).Append("\n");
sb.Append(" QueryPort: ").Append(QueryPort).Append("\n");
sb.Append(" RconPort: ").Append(RconPort).Append("\n");
sb.Append(" ServerCount: ").Append(ServerCount).Append("\n");
sb.Append(" SteamAppId: ").Append(SteamAppId).Append("\n");
sb.Append(" SteamServerAppId: ").Append(SteamServerAppId).Append("\n");
sb.Append(" EnableServers: ").Append(EnableServers).Append("\n");
sb.Append(" RustGamedigId: ").Append(RustGamedigId).Append("\n");
sb.Append(" NodeGamedigId: ").Append(NodeGamedigId).Append("\n");
sb.Append(" ServerConnectUrl: ").Append(ServerConnectUrl).Append("\n");
sb.Append(" ServerTags: ").Append(ServerTags).Append("\n");
sb.Append(" Id: ").Append(Id).Append("\n");
sb.Append(" Name: ").Append(Name).Append("\n");
sb.Append(" Description: ").Append(Description).Append("\n");
@@ -218,16 +315,17 @@ namespace Tribufu.Model
sb.Append(" BannerUrl: ").Append(BannerUrl).Append("\n");
sb.Append(" CapsuleImageUrl: ").Append(CapsuleImageUrl).Append("\n");
sb.Append(" LibraryImageUrl: ").Append(LibraryImageUrl).Append("\n");
sb.Append(" ParentId: ").Append(ParentId).Append("\n");
sb.Append(" Slug: ").Append(Slug).Append("\n");
sb.Append(" Visibility: ").Append(Visibility).Append("\n");
sb.Append(" Password: ").Append(Password).Append("\n");
sb.Append(" Primary: ").Append(Primary).Append("\n");
sb.Append(" UserCount: ").Append(UserCount).Append("\n");
sb.Append(" AchievementCount: ").Append(AchievementCount).Append("\n");
sb.Append(" BadgeCount: ").Append(BadgeCount).Append("\n");
sb.Append(" DownloadCount: ").Append(DownloadCount).Append("\n");
sb.Append(" Created: ").Append(Created).Append("\n");
sb.Append(" Updated: ").Append(Updated).Append("\n");
sb.Append(" EnableServers: ").Append(EnableServers).Append("\n");
sb.Append(" GamePort: ").Append(GamePort).Append("\n");
sb.Append(" QueryPort: ").Append(QueryPort).Append("\n");
sb.Append(" RconPort: ").Append(RconPort).Append("\n");
sb.Append(" GamedigId: ").Append(GamedigId).Append("\n");
sb.Append(" SteamAppId: ").Append(SteamAppId).Append("\n");
sb.Append(" SteamServerAppId: ").Append(SteamServerAppId).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
@@ -248,6 +346,24 @@ namespace Tribufu.Model
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
// RustGamedigId (string) maxLength
if (this.RustGamedigId != null && this.RustGamedigId.Length > 45)
{
yield return new ValidationResult("Invalid value for RustGamedigId, length must be less than 45.", new [] { "RustGamedigId" });
}
// NodeGamedigId (string) maxLength
if (this.NodeGamedigId != null && this.NodeGamedigId.Length > 45)
{
yield return new ValidationResult("Invalid value for NodeGamedigId, length must be less than 45.", new [] { "NodeGamedigId" });
}
// ServerConnectUrl (string) maxLength
if (this.ServerConnectUrl != null && this.ServerConnectUrl.Length > 255)
{
yield return new ValidationResult("Invalid value for ServerConnectUrl, length must be less than 255.", new [] { "ServerConnectUrl" });
}
// Name (string) maxLength
if (this.Name != null && this.Name.Length > 75)
{
@@ -278,18 +394,6 @@ namespace Tribufu.Model
yield return new ValidationResult("Invalid value for LibraryImageUrl, length must be less than 255.", new [] { "LibraryImageUrl" });
}
// Slug (string) maxLength
if (this.Slug != null && this.Slug.Length > 75)
{
yield return new ValidationResult("Invalid value for Slug, length must be less than 75.", new [] { "Slug" });
}
// GamedigId (string) maxLength
if (this.GamedigId != null && this.GamedigId.Length > 45)
{
yield return new ValidationResult("Invalid value for GamedigId, length must be less than 45.", new [] { "GamedigId" });
}
yield break;
}
}

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -22,9 +22,9 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Tribufu.Client.OpenAPIDateConverter;
using OpenAPIDateConverter = Tribufu.Generated.Client.OpenAPIDateConverter;
namespace Tribufu.Model
namespace Tribufu.Generated.Model
{
/// <summary>
/// GameServer
@@ -32,66 +32,77 @@ namespace Tribufu.Model
[DataContract(Name = "GameServer")]
public partial class GameServer : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="GameServer" /> class.
/// Gets or Sets Status
/// </summary>
[JsonConstructorAttribute]
protected GameServer() { }
[DataMember(Name = "status", EmitDefaultValue = false)]
public ServerStatus? Status { get; set; }
/// <summary>
/// Initializes a new instance of the <see cref="GameServer" /> class.
/// </summary>
/// <param name="id">id.</param>
/// <param name="name">name (required).</param>
/// <param name="name">name.</param>
/// <param name="description">description.</param>
/// <param name="ownerId">ownerId.</param>
/// <param name="address">address (required).</param>
/// <param name="queryPort">queryPort (required).</param>
/// <param name="address">address.</param>
/// <param name="gamePort">gamePort.</param>
/// <param name="map">map.</param>
/// <param name="varVersion">varVersion.</param>
/// <param name="queryPort">queryPort.</param>
/// <param name="gameId">gameId.</param>
/// <param name="gameIconUrl">gameIconUrl.</param>
/// <param name="varVersion">varVersion.</param>
/// <param name="featured">featured.</param>
/// <param name="clusterId">clusterId.</param>
/// <param name="websiteUrl">websiteUrl.</param>
/// <param name="bannerUrl">bannerUrl.</param>
/// <param name="ownerId">ownerId.</param>
/// <param name="uptime">uptime.</param>
/// <param name="status">status.</param>
/// <param name="ping">ping.</param>
/// <param name="map">map.</param>
/// <param name="usedSlots">usedSlots.</param>
/// <param name="maxSlots">maxSlots.</param>
/// <param name="motd">motd.</param>
/// <param name="players">players.</param>
/// <param name="lastOnline">lastOnline.</param>
/// <param name="country">country.</param>
/// <param name="steam">steam.</param>
/// <param name="discordServerId">discordServerId.</param>
/// <param name="youtubeVideoUrl">youtubeVideoUrl.</param>
/// <param name="tags">tags.</param>
/// <param name="commentCount">commentCount.</param>
/// <param name="created">created.</param>
/// <param name="updated">updated.</param>
public GameServer(string id = default(string), string name = default(string), string description = default(string), string ownerId = default(string), string address = default(string), int queryPort = default(int), int? gamePort = default(int?), string map = default(string), string varVersion = default(string), string gameId = default(string), string gameIconUrl = default(string), string clusterId = default(string), string websiteUrl = default(string), string bannerUrl = default(string), double uptime = default(double), string country = default(string), bool steam = default(bool), string discordServerId = default(string), string youtubeVideoUrl = default(string), DateTime created = default(DateTime), DateTime? updated = default(DateTime?))
public GameServer(string id = default(string), string name = default(string), string description = default(string), string address = default(string), int? gamePort = default(int?), int queryPort = default(int), string gameId = default(string), string gameIconUrl = default(string), string varVersion = default(string), bool featured = default(bool), string clusterId = default(string), string websiteUrl = default(string), string bannerUrl = default(string), string ownerId = default(string), double uptime = default(double), ServerStatus? status = default(ServerStatus?), int? ping = default(int?), string map = default(string), int? usedSlots = default(int?), int? maxSlots = default(int?), string motd = default(string), string players = default(string), DateTime? lastOnline = default(DateTime?), string country = default(string), bool steam = default(bool), string discordServerId = default(string), string youtubeVideoUrl = default(string), string tags = default(string), int commentCount = default(int), DateTime created = default(DateTime), DateTime? updated = default(DateTime?))
{
// to ensure "name" is required (not null)
if (name == null)
{
throw new ArgumentNullException("name is a required property for GameServer and cannot be null");
}
this.Name = name;
// to ensure "address" is required (not null)
if (address == null)
{
throw new ArgumentNullException("address is a required property for GameServer and cannot be null");
}
this.Address = address;
this.QueryPort = queryPort;
this.Id = id;
this.Name = name;
this.Description = description;
this.OwnerId = ownerId;
this.Address = address;
this.GamePort = gamePort;
this.Map = map;
this.VarVersion = varVersion;
this.QueryPort = queryPort;
this.GameId = gameId;
this.GameIconUrl = gameIconUrl;
this.VarVersion = varVersion;
this.Featured = featured;
this.ClusterId = clusterId;
this.WebsiteUrl = websiteUrl;
this.BannerUrl = bannerUrl;
this.OwnerId = ownerId;
this.Uptime = uptime;
this.Status = status;
this.Ping = ping;
this.Map = map;
this.UsedSlots = usedSlots;
this.MaxSlots = maxSlots;
this.Motd = motd;
this.Players = players;
this.LastOnline = lastOnline;
this.Country = country;
this.Steam = steam;
this.DiscordServerId = discordServerId;
this.YoutubeVideoUrl = youtubeVideoUrl;
this.Tags = tags;
this.CommentCount = commentCount;
this.Created = created;
this.Updated = updated;
}
@@ -105,7 +116,7 @@ namespace Tribufu.Model
/// <summary>
/// Gets or Sets Name
/// </summary>
[DataMember(Name = "name", IsRequired = true, EmitDefaultValue = true)]
[DataMember(Name = "name", EmitDefaultValue = true)]
public string Name { get; set; }
/// <summary>
@@ -114,24 +125,12 @@ namespace Tribufu.Model
[DataMember(Name = "description", EmitDefaultValue = true)]
public string Description { get; set; }
/// <summary>
/// Gets or Sets OwnerId
/// </summary>
[DataMember(Name = "owner_id", EmitDefaultValue = true)]
public string OwnerId { get; set; }
/// <summary>
/// Gets or Sets Address
/// </summary>
[DataMember(Name = "address", IsRequired = true, EmitDefaultValue = true)]
[DataMember(Name = "address", EmitDefaultValue = true)]
public string Address { get; set; }
/// <summary>
/// Gets or Sets QueryPort
/// </summary>
[DataMember(Name = "query_port", IsRequired = true, EmitDefaultValue = true)]
public int QueryPort { get; set; }
/// <summary>
/// Gets or Sets GamePort
/// </summary>
@@ -139,16 +138,10 @@ namespace Tribufu.Model
public int? GamePort { get; set; }
/// <summary>
/// Gets or Sets Map
/// Gets or Sets QueryPort
/// </summary>
[DataMember(Name = "map", EmitDefaultValue = true)]
public string Map { get; set; }
/// <summary>
/// Gets or Sets VarVersion
/// </summary>
[DataMember(Name = "version", EmitDefaultValue = true)]
public string VarVersion { get; set; }
[DataMember(Name = "query_port", EmitDefaultValue = false)]
public int QueryPort { get; set; }
/// <summary>
/// Gets or Sets GameId
@@ -162,6 +155,18 @@ namespace Tribufu.Model
[DataMember(Name = "game_icon_url", EmitDefaultValue = true)]
public string GameIconUrl { get; set; }
/// <summary>
/// Gets or Sets VarVersion
/// </summary>
[DataMember(Name = "version", EmitDefaultValue = true)]
public string VarVersion { get; set; }
/// <summary>
/// Gets or Sets Featured
/// </summary>
[DataMember(Name = "featured", EmitDefaultValue = true)]
public bool Featured { get; set; }
/// <summary>
/// Gets or Sets ClusterId
/// </summary>
@@ -180,12 +185,60 @@ namespace Tribufu.Model
[DataMember(Name = "banner_url", EmitDefaultValue = true)]
public string BannerUrl { get; set; }
/// <summary>
/// Gets or Sets OwnerId
/// </summary>
[DataMember(Name = "owner_id", EmitDefaultValue = true)]
public string OwnerId { get; set; }
/// <summary>
/// Gets or Sets Uptime
/// </summary>
[DataMember(Name = "uptime", EmitDefaultValue = false)]
public double Uptime { get; set; }
/// <summary>
/// Gets or Sets Ping
/// </summary>
[DataMember(Name = "ping", EmitDefaultValue = true)]
public int? Ping { get; set; }
/// <summary>
/// Gets or Sets Map
/// </summary>
[DataMember(Name = "map", EmitDefaultValue = true)]
public string Map { get; set; }
/// <summary>
/// Gets or Sets UsedSlots
/// </summary>
[DataMember(Name = "used_slots", EmitDefaultValue = true)]
public int? UsedSlots { get; set; }
/// <summary>
/// Gets or Sets MaxSlots
/// </summary>
[DataMember(Name = "max_slots", EmitDefaultValue = true)]
public int? MaxSlots { get; set; }
/// <summary>
/// Gets or Sets Motd
/// </summary>
[DataMember(Name = "motd", EmitDefaultValue = true)]
public string Motd { get; set; }
/// <summary>
/// Gets or Sets Players
/// </summary>
[DataMember(Name = "players", EmitDefaultValue = true)]
public string Players { get; set; }
/// <summary>
/// Gets or Sets LastOnline
/// </summary>
[DataMember(Name = "last_online", EmitDefaultValue = true)]
public DateTime? LastOnline { get; set; }
/// <summary>
/// Gets or Sets Country
/// </summary>
@@ -210,6 +263,18 @@ namespace Tribufu.Model
[DataMember(Name = "youtube_video_url", EmitDefaultValue = true)]
public string YoutubeVideoUrl { get; set; }
/// <summary>
/// Gets or Sets Tags
/// </summary>
[DataMember(Name = "tags", EmitDefaultValue = true)]
public string Tags { get; set; }
/// <summary>
/// Gets or Sets CommentCount
/// </summary>
[DataMember(Name = "comment_count", EmitDefaultValue = false)]
public int CommentCount { get; set; }
/// <summary>
/// Gets or Sets Created
/// </summary>
@@ -233,22 +298,32 @@ namespace Tribufu.Model
sb.Append(" Id: ").Append(Id).Append("\n");
sb.Append(" Name: ").Append(Name).Append("\n");
sb.Append(" Description: ").Append(Description).Append("\n");
sb.Append(" OwnerId: ").Append(OwnerId).Append("\n");
sb.Append(" Address: ").Append(Address).Append("\n");
sb.Append(" QueryPort: ").Append(QueryPort).Append("\n");
sb.Append(" GamePort: ").Append(GamePort).Append("\n");
sb.Append(" Map: ").Append(Map).Append("\n");
sb.Append(" VarVersion: ").Append(VarVersion).Append("\n");
sb.Append(" QueryPort: ").Append(QueryPort).Append("\n");
sb.Append(" GameId: ").Append(GameId).Append("\n");
sb.Append(" GameIconUrl: ").Append(GameIconUrl).Append("\n");
sb.Append(" VarVersion: ").Append(VarVersion).Append("\n");
sb.Append(" Featured: ").Append(Featured).Append("\n");
sb.Append(" ClusterId: ").Append(ClusterId).Append("\n");
sb.Append(" WebsiteUrl: ").Append(WebsiteUrl).Append("\n");
sb.Append(" BannerUrl: ").Append(BannerUrl).Append("\n");
sb.Append(" OwnerId: ").Append(OwnerId).Append("\n");
sb.Append(" Uptime: ").Append(Uptime).Append("\n");
sb.Append(" Status: ").Append(Status).Append("\n");
sb.Append(" Ping: ").Append(Ping).Append("\n");
sb.Append(" Map: ").Append(Map).Append("\n");
sb.Append(" UsedSlots: ").Append(UsedSlots).Append("\n");
sb.Append(" MaxSlots: ").Append(MaxSlots).Append("\n");
sb.Append(" Motd: ").Append(Motd).Append("\n");
sb.Append(" Players: ").Append(Players).Append("\n");
sb.Append(" LastOnline: ").Append(LastOnline).Append("\n");
sb.Append(" Country: ").Append(Country).Append("\n");
sb.Append(" Steam: ").Append(Steam).Append("\n");
sb.Append(" DiscordServerId: ").Append(DiscordServerId).Append("\n");
sb.Append(" YoutubeVideoUrl: ").Append(YoutubeVideoUrl).Append("\n");
sb.Append(" Tags: ").Append(Tags).Append("\n");
sb.Append(" CommentCount: ").Append(CommentCount).Append("\n");
sb.Append(" Created: ").Append(Created).Append("\n");
sb.Append(" Updated: ").Append(Updated).Append("\n");
sb.Append("}\n");
@@ -283,12 +358,6 @@ namespace Tribufu.Model
yield return new ValidationResult("Invalid value for Address, length must be less than 255.", new [] { "Address" });
}
// Map (string) maxLength
if (this.Map != null && this.Map.Length > 255)
{
yield return new ValidationResult("Invalid value for Map, length must be less than 255.", new [] { "Map" });
}
// VarVersion (string) maxLength
if (this.VarVersion != null && this.VarVersion.Length > 45)
{
@@ -307,6 +376,18 @@ namespace Tribufu.Model
yield return new ValidationResult("Invalid value for BannerUrl, length must be less than 255.", new [] { "BannerUrl" });
}
// Map (string) maxLength
if (this.Map != null && this.Map.Length > 45)
{
yield return new ValidationResult("Invalid value for Map, length must be less than 45.", new [] { "Map" });
}
// Motd (string) maxLength
if (this.Motd != null && this.Motd.Length > 255)
{
yield return new ValidationResult("Invalid value for Motd, length must be less than 255.", new [] { "Motd" });
}
// Country (string) maxLength
if (this.Country != null && this.Country.Length > 2)
{

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -22,9 +22,9 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Tribufu.Client.OpenAPIDateConverter;
using OpenAPIDateConverter = Tribufu.Generated.Client.OpenAPIDateConverter;
namespace Tribufu.Model
namespace Tribufu.Generated.Model
{
/// <summary>
/// GameServerCluster
@@ -32,16 +32,11 @@ namespace Tribufu.Model
[DataContract(Name = "GameServerCluster")]
public partial class GameServerCluster : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="GameServerCluster" /> class.
/// </summary>
[JsonConstructorAttribute]
protected GameServerCluster() { }
/// <summary>
/// Initializes a new instance of the <see cref="GameServerCluster" /> class.
/// </summary>
/// <param name="id">id.</param>
/// <param name="name">name (required).</param>
/// <param name="name">name.</param>
/// <param name="description">description.</param>
/// <param name="gameId">gameId.</param>
/// <param name="websiteUrl">websiteUrl.</param>
@@ -56,13 +51,8 @@ namespace Tribufu.Model
/// <param name="updated">updated.</param>
public GameServerCluster(string id = default(string), string name = default(string), string description = default(string), string gameId = default(string), string websiteUrl = default(string), string bannerUrl = default(string), string ownerId = default(string), string discordServerId = default(string), string youtubeVideoUrl = default(string), string tags = default(string), int commentCount = default(int), int serverCount = default(int), DateTime created = default(DateTime), DateTime? updated = default(DateTime?))
{
// to ensure "name" is required (not null)
if (name == null)
{
throw new ArgumentNullException("name is a required property for GameServerCluster and cannot be null");
}
this.Name = name;
this.Id = id;
this.Name = name;
this.Description = description;
this.GameId = gameId;
this.WebsiteUrl = websiteUrl;
@@ -86,7 +76,7 @@ namespace Tribufu.Model
/// <summary>
/// Gets or Sets Name
/// </summary>
[DataMember(Name = "name", IsRequired = true, EmitDefaultValue = true)]
[DataMember(Name = "name", EmitDefaultValue = true)]
public string Name { get; set; }
/// <summary>

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -22,9 +22,9 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Tribufu.Client.OpenAPIDateConverter;
using OpenAPIDateConverter = Tribufu.Generated.Client.OpenAPIDateConverter;
namespace Tribufu.Model
namespace Tribufu.Generated.Model
{
/// <summary>
/// Defines GrantType

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -22,9 +22,9 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Tribufu.Client.OpenAPIDateConverter;
using OpenAPIDateConverter = Tribufu.Generated.Client.OpenAPIDateConverter;
namespace Tribufu.Model
namespace Tribufu.Generated.Model
{
/// <summary>
/// Group
@@ -32,17 +32,12 @@ namespace Tribufu.Model
[DataContract(Name = "Group")]
public partial class Group : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="Group" /> class.
/// </summary>
[JsonConstructorAttribute]
protected Group() { }
/// <summary>
/// Initializes a new instance of the <see cref="Group" /> class.
/// </summary>
/// <param name="id">id.</param>
/// <param name="uuid">uuid.</param>
/// <param name="name">name (required).</param>
/// <param name="name">name.</param>
/// <param name="tag">tag.</param>
/// <param name="description">description.</param>
/// <param name="type">type.</param>
@@ -58,14 +53,9 @@ namespace Tribufu.Model
/// <param name="updated">updated.</param>
public Group(string id = default(string), Guid uuid = default(Guid), string name = default(string), string tag = default(string), string description = default(string), int type = default(int), int privacy = default(int), string ownerId = default(string), bool verified = default(bool), string photoUrl = default(string), string bannerUrl = default(string), int memberCount = default(int), int followerCount = default(int), int viewCount = default(int), DateTime created = default(DateTime), DateTime? updated = default(DateTime?))
{
// to ensure "name" is required (not null)
if (name == null)
{
throw new ArgumentNullException("name is a required property for Group and cannot be null");
}
this.Name = name;
this.Id = id;
this.Uuid = uuid;
this.Name = name;
this.Tag = tag;
this.Description = description;
this.Type = type;
@@ -96,7 +86,7 @@ namespace Tribufu.Model
/// <summary>
/// Gets or Sets Name
/// </summary>
[DataMember(Name = "name", IsRequired = true, EmitDefaultValue = true)]
[DataMember(Name = "name", EmitDefaultValue = true)]
public string Name { get; set; }
/// <summary>

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -22,9 +22,9 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Tribufu.Client.OpenAPIDateConverter;
using OpenAPIDateConverter = Tribufu.Generated.Client.OpenAPIDateConverter;
namespace Tribufu.Model
namespace Tribufu.Generated.Model
{
/// <summary>
/// GroupGame
@@ -35,12 +35,7 @@ namespace Tribufu.Model
/// <summary>
/// Initializes a new instance of the <see cref="GroupGame" /> class.
/// </summary>
[JsonConstructorAttribute]
protected GroupGame() { }
/// <summary>
/// Initializes a new instance of the <see cref="GroupGame" /> class.
/// </summary>
/// <param name="groupId">groupId (required).</param>
/// <param name="groupId">groupId.</param>
/// <param name="group">group.</param>
/// <param name="applicationId">applicationId.</param>
/// <param name="application">application.</param>
@@ -49,11 +44,6 @@ namespace Tribufu.Model
/// <param name="lastUsed">lastUsed.</param>
public GroupGame(string groupId = default(string), Group group = default(Group), string applicationId = default(string), Application application = default(Application), Object stats = default(Object), DateTime acquired = default(DateTime), DateTime? lastUsed = default(DateTime?))
{
// to ensure "groupId" is required (not null)
if (groupId == null)
{
throw new ArgumentNullException("groupId is a required property for GroupGame and cannot be null");
}
this.GroupId = groupId;
this.Group = group;
this.ApplicationId = applicationId;
@@ -66,7 +56,7 @@ namespace Tribufu.Model
/// <summary>
/// Gets or Sets GroupId
/// </summary>
[DataMember(Name = "group_id", IsRequired = true, EmitDefaultValue = true)]
[DataMember(Name = "group_id", EmitDefaultValue = false)]
public string GroupId { get; set; }
/// <summary>

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -22,9 +22,9 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Tribufu.Client.OpenAPIDateConverter;
using OpenAPIDateConverter = Tribufu.Generated.Client.OpenAPIDateConverter;
namespace Tribufu.Model
namespace Tribufu.Generated.Model
{
/// <summary>
/// GroupMember

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -22,9 +22,9 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Tribufu.Client.OpenAPIDateConverter;
using OpenAPIDateConverter = Tribufu.Generated.Client.OpenAPIDateConverter;
namespace Tribufu.Model
namespace Tribufu.Generated.Model
{
/// <summary>
/// Defines GroupRank

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -22,9 +22,9 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Tribufu.Client.OpenAPIDateConverter;
using OpenAPIDateConverter = Tribufu.Generated.Client.OpenAPIDateConverter;
namespace Tribufu.Model
namespace Tribufu.Generated.Model
{
/// <summary>
/// HashViewModel
@@ -35,26 +35,16 @@ namespace Tribufu.Model
/// <summary>
/// Initializes a new instance of the <see cref="HashViewModel" /> class.
/// </summary>
[JsonConstructorAttribute]
protected HashViewModel() { }
/// <summary>
/// Initializes a new instance of the <see cref="HashViewModel" /> class.
/// </summary>
/// <param name="value">value (required).</param>
/// <param name="value">value.</param>
public HashViewModel(string value = default(string))
{
// to ensure "value" is required (not null)
if (value == null)
{
throw new ArgumentNullException("value is a required property for HashViewModel and cannot be null");
}
this.Value = value;
}
/// <summary>
/// Gets or Sets Value
/// </summary>
[DataMember(Name = "value", IsRequired = true, EmitDefaultValue = true)]
[DataMember(Name = "value", EmitDefaultValue = true)]
public string Value { get; set; }
/// <summary>

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -22,9 +22,9 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Tribufu.Client.OpenAPIDateConverter;
using OpenAPIDateConverter = Tribufu.Generated.Client.OpenAPIDateConverter;
namespace Tribufu.Model
namespace Tribufu.Generated.Model
{
/// <summary>
/// IntrospectRequest
@@ -36,25 +36,15 @@ namespace Tribufu.Model
/// <summary>
/// Gets or Sets TokenTypeHint
/// </summary>
[DataMember(Name = "token_type_hint", IsRequired = true, EmitDefaultValue = true)]
public TokenHintType TokenTypeHint { get; set; }
[DataMember(Name = "token_type_hint", EmitDefaultValue = false)]
public TokenHintType? TokenTypeHint { get; set; }
/// <summary>
/// Initializes a new instance of the <see cref="IntrospectRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected IntrospectRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="IntrospectRequest" /> class.
/// </summary>
/// <param name="token">token (required).</param>
/// <param name="tokenTypeHint">tokenTypeHint (required).</param>
public IntrospectRequest(string token = default(string), TokenHintType tokenTypeHint = default(TokenHintType))
/// <param name="token">token.</param>
/// <param name="tokenTypeHint">tokenTypeHint.</param>
public IntrospectRequest(string token = default(string), TokenHintType? tokenTypeHint = default(TokenHintType?))
{
// to ensure "token" is required (not null)
if (token == null)
{
throw new ArgumentNullException("token is a required property for IntrospectRequest and cannot be null");
}
this.Token = token;
this.TokenTypeHint = tokenTypeHint;
}
@@ -62,7 +52,7 @@ namespace Tribufu.Model
/// <summary>
/// Gets or Sets Token
/// </summary>
[DataMember(Name = "token", IsRequired = true, EmitDefaultValue = true)]
[DataMember(Name = "token", EmitDefaultValue = true)]
public string Token { get; set; }
/// <summary>

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -22,9 +22,9 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Tribufu.Client.OpenAPIDateConverter;
using OpenAPIDateConverter = Tribufu.Generated.Client.OpenAPIDateConverter;
namespace Tribufu.Model
namespace Tribufu.Generated.Model
{
/// <summary>
/// IpAddress

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -22,9 +22,9 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Tribufu.Client.OpenAPIDateConverter;
using OpenAPIDateConverter = Tribufu.Generated.Client.OpenAPIDateConverter;
namespace Tribufu.Model
namespace Tribufu.Generated.Model
{
/// <summary>
/// LeaderboardItem

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -22,9 +22,9 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Tribufu.Client.OpenAPIDateConverter;
using OpenAPIDateConverter = Tribufu.Generated.Client.OpenAPIDateConverter;
namespace Tribufu.Model
namespace Tribufu.Generated.Model
{
/// <summary>
/// Defines LeaderboardOrder

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -22,9 +22,9 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Tribufu.Client.OpenAPIDateConverter;
using OpenAPIDateConverter = Tribufu.Generated.Client.OpenAPIDateConverter;
namespace Tribufu.Model
namespace Tribufu.Generated.Model
{
/// <summary>
/// Defines LoginProvider

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -22,48 +22,38 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Tribufu.Client.OpenAPIDateConverter;
using OpenAPIDateConverter = Tribufu.Generated.Client.OpenAPIDateConverter;
namespace Tribufu.Model
namespace Tribufu.Generated.Model
{
/// <summary>
/// CodeResponse
/// LoginRequest
/// </summary>
[DataContract(Name = "CodeResponse")]
public partial class CodeResponse : IValidatableObject
[DataContract(Name = "LoginRequest")]
public partial class LoginRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CodeResponse" /> class.
/// Initializes a new instance of the <see cref="LoginRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CodeResponse() { }
/// <summary>
/// Initializes a new instance of the <see cref="CodeResponse" /> class.
/// </summary>
/// <param name="code">code (required).</param>
/// <param name="state">state.</param>
public CodeResponse(string code = default(string), string state = default(string))
/// <param name="login">login.</param>
/// <param name="password">password.</param>
public LoginRequest(string login = default(string), string password = default(string))
{
// to ensure "code" is required (not null)
if (code == null)
{
throw new ArgumentNullException("code is a required property for CodeResponse and cannot be null");
}
this.Code = code;
this.State = state;
this.Login = login;
this.Password = password;
}
/// <summary>
/// Gets or Sets Code
/// Gets or Sets Login
/// </summary>
[DataMember(Name = "code", IsRequired = true, EmitDefaultValue = true)]
public string Code { get; set; }
[DataMember(Name = "login", EmitDefaultValue = true)]
public string Login { get; set; }
/// <summary>
/// Gets or Sets State
/// Gets or Sets Password
/// </summary>
[DataMember(Name = "state", EmitDefaultValue = true)]
public string State { get; set; }
[DataMember(Name = "password", EmitDefaultValue = true)]
public string Password { get; set; }
/// <summary>
/// Returns the string presentation of the object
@@ -72,9 +62,9 @@ namespace Tribufu.Model
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CodeResponse {\n");
sb.Append(" Code: ").Append(Code).Append("\n");
sb.Append(" State: ").Append(State).Append("\n");
sb.Append("class LoginRequest {\n");
sb.Append(" Login: ").Append(Login).Append("\n");
sb.Append(" Password: ").Append(Password).Append("\n");
sb.Append("}\n");
return sb.ToString();
}

View File

@@ -0,0 +1,110 @@
/*
* Tribufu API
*
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Tribufu.Generated.Client.OpenAPIDateConverter;
namespace Tribufu.Generated.Model
{
/// <summary>
/// LoginResponse
/// </summary>
[DataContract(Name = "LoginResponse")]
public partial class LoginResponse : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="LoginResponse" /> class.
/// </summary>
/// <param name="user">user.</param>
/// <param name="accessToken">accessToken.</param>
/// <param name="refreshToken">refreshToken.</param>
/// <param name="expiresIn">expiresIn.</param>
public LoginResponse(UserInfo user = default(UserInfo), string accessToken = default(string), string refreshToken = default(string), long expiresIn = default(long))
{
this.User = user;
this.AccessToken = accessToken;
this.RefreshToken = refreshToken;
this.ExpiresIn = expiresIn;
}
/// <summary>
/// Gets or Sets User
/// </summary>
[DataMember(Name = "user", EmitDefaultValue = false)]
public UserInfo User { get; set; }
/// <summary>
/// Gets or Sets AccessToken
/// </summary>
[DataMember(Name = "access_token", EmitDefaultValue = true)]
public string AccessToken { get; set; }
/// <summary>
/// Gets or Sets RefreshToken
/// </summary>
[DataMember(Name = "refresh_token", EmitDefaultValue = true)]
public string RefreshToken { get; set; }
/// <summary>
/// Gets or Sets ExpiresIn
/// </summary>
[DataMember(Name = "expires_in", EmitDefaultValue = false)]
public long ExpiresIn { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class LoginResponse {\n");
sb.Append(" User: ").Append(User).Append("\n");
sb.Append(" AccessToken: ").Append(AccessToken).Append("\n");
sb.Append(" RefreshToken: ").Append(RefreshToken).Append("\n");
sb.Append(" ExpiresIn: ").Append(ExpiresIn).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 Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <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;
}
}
}

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -22,9 +22,9 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Tribufu.Client.OpenAPIDateConverter;
using OpenAPIDateConverter = Tribufu.Generated.Client.OpenAPIDateConverter;
namespace Tribufu.Model
namespace Tribufu.Generated.Model
{
/// <summary>
/// Package
@@ -32,48 +32,33 @@ namespace Tribufu.Model
[DataContract(Name = "Package")]
public partial class Package : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="Package" /> class.
/// </summary>
[JsonConstructorAttribute]
protected Package() { }
/// <summary>
/// Initializes a new instance of the <see cref="Package" /> class.
/// </summary>
/// <param name="id">id.</param>
/// <param name="name">name (required).</param>
/// <param name="name">name.</param>
/// <param name="description">description.</param>
/// <param name="imageUrl">imageUrl.</param>
/// <param name="authorId">authorId.</param>
/// <param name="imageUrl">imageUrl (required).</param>
/// <param name="applicationId">applicationId.</param>
/// <param name="categoryId">categoryId.</param>
/// <param name="varVersion">varVersion.</param>
/// <param name="fileUrl">fileUrl.</param>
/// <param name="rawSize">rawSize.</param>
/// <param name="downloadCount">downloadCount.</param>
/// <param name="lastDownload">lastDownload.</param>
/// <param name="releases">releases.</param>
/// <param name="created">created.</param>
/// <param name="updated">updated.</param>
public Package(string id = default(string), string name = default(string), string description = default(string), string authorId = default(string), string imageUrl = default(string), string applicationId = default(string), string categoryId = default(string), int downloadCount = default(int), DateTime? lastDownload = default(DateTime?), List<PackageRelease> releases = default(List<PackageRelease>), DateTime created = default(DateTime), DateTime? updated = default(DateTime?))
public Package(string id = default(string), string name = default(string), string description = default(string), string imageUrl = default(string), string authorId = default(string), string varVersion = default(string), string fileUrl = default(string), double rawSize = default(double), int downloadCount = default(int), DateTime? lastDownload = default(DateTime?), DateTime created = default(DateTime), DateTime? updated = default(DateTime?))
{
// to ensure "name" is required (not null)
if (name == null)
{
throw new ArgumentNullException("name is a required property for Package and cannot be null");
}
this.Name = name;
// to ensure "imageUrl" is required (not null)
if (imageUrl == null)
{
throw new ArgumentNullException("imageUrl is a required property for Package and cannot be null");
}
this.ImageUrl = imageUrl;
this.Id = id;
this.Name = name;
this.Description = description;
this.ImageUrl = imageUrl;
this.AuthorId = authorId;
this.ApplicationId = applicationId;
this.CategoryId = categoryId;
this.VarVersion = varVersion;
this.FileUrl = fileUrl;
this.RawSize = rawSize;
this.DownloadCount = downloadCount;
this.LastDownload = lastDownload;
this.Releases = releases;
this.Created = created;
this.Updated = updated;
}
@@ -87,7 +72,7 @@ namespace Tribufu.Model
/// <summary>
/// Gets or Sets Name
/// </summary>
[DataMember(Name = "name", IsRequired = true, EmitDefaultValue = true)]
[DataMember(Name = "name", EmitDefaultValue = true)]
public string Name { get; set; }
/// <summary>
@@ -96,6 +81,12 @@ namespace Tribufu.Model
[DataMember(Name = "description", EmitDefaultValue = true)]
public string Description { get; set; }
/// <summary>
/// Gets or Sets ImageUrl
/// </summary>
[DataMember(Name = "image_url", EmitDefaultValue = true)]
public string ImageUrl { get; set; }
/// <summary>
/// Gets or Sets AuthorId
/// </summary>
@@ -103,22 +94,22 @@ namespace Tribufu.Model
public string AuthorId { get; set; }
/// <summary>
/// Gets or Sets ImageUrl
/// Gets or Sets VarVersion
/// </summary>
[DataMember(Name = "image_url", IsRequired = true, EmitDefaultValue = true)]
public string ImageUrl { get; set; }
[DataMember(Name = "version", EmitDefaultValue = true)]
public string VarVersion { get; set; }
/// <summary>
/// Gets or Sets ApplicationId
/// Gets or Sets FileUrl
/// </summary>
[DataMember(Name = "application_id", EmitDefaultValue = true)]
public string ApplicationId { get; set; }
[DataMember(Name = "file_url", EmitDefaultValue = true)]
public string FileUrl { get; set; }
/// <summary>
/// Gets or Sets CategoryId
/// Gets or Sets RawSize
/// </summary>
[DataMember(Name = "category_id", EmitDefaultValue = true)]
public string CategoryId { get; set; }
[DataMember(Name = "raw_size", EmitDefaultValue = false)]
public double RawSize { get; set; }
/// <summary>
/// Gets or Sets DownloadCount
@@ -132,12 +123,6 @@ namespace Tribufu.Model
[DataMember(Name = "last_download", EmitDefaultValue = true)]
public DateTime? LastDownload { get; set; }
/// <summary>
/// Gets or Sets Releases
/// </summary>
[DataMember(Name = "releases", EmitDefaultValue = true)]
public List<PackageRelease> Releases { get; set; }
/// <summary>
/// Gets or Sets Created
/// </summary>
@@ -161,13 +146,13 @@ namespace Tribufu.Model
sb.Append(" Id: ").Append(Id).Append("\n");
sb.Append(" Name: ").Append(Name).Append("\n");
sb.Append(" Description: ").Append(Description).Append("\n");
sb.Append(" AuthorId: ").Append(AuthorId).Append("\n");
sb.Append(" ImageUrl: ").Append(ImageUrl).Append("\n");
sb.Append(" ApplicationId: ").Append(ApplicationId).Append("\n");
sb.Append(" CategoryId: ").Append(CategoryId).Append("\n");
sb.Append(" AuthorId: ").Append(AuthorId).Append("\n");
sb.Append(" VarVersion: ").Append(VarVersion).Append("\n");
sb.Append(" FileUrl: ").Append(FileUrl).Append("\n");
sb.Append(" RawSize: ").Append(RawSize).Append("\n");
sb.Append(" DownloadCount: ").Append(DownloadCount).Append("\n");
sb.Append(" LastDownload: ").Append(LastDownload).Append("\n");
sb.Append(" Releases: ").Append(Releases).Append("\n");
sb.Append(" Created: ").Append(Created).Append("\n");
sb.Append(" Updated: ").Append(Updated).Append("\n");
sb.Append("}\n");

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -22,9 +22,9 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Tribufu.Client.OpenAPIDateConverter;
using OpenAPIDateConverter = Tribufu.Generated.Client.OpenAPIDateConverter;
namespace Tribufu.Model
namespace Tribufu.Generated.Model
{
/// <summary>
/// Profile

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -22,9 +22,9 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Tribufu.Client.OpenAPIDateConverter;
using OpenAPIDateConverter = Tribufu.Generated.Client.OpenAPIDateConverter;
namespace Tribufu.Model
namespace Tribufu.Generated.Model
{
/// <summary>
/// ProfileGame

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -22,9 +22,9 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Tribufu.Client.OpenAPIDateConverter;
using OpenAPIDateConverter = Tribufu.Generated.Client.OpenAPIDateConverter;
namespace Tribufu.Model
namespace Tribufu.Generated.Model
{
/// <summary>
/// ProfileGroup

View File

@@ -0,0 +1,83 @@
/*
* Tribufu API
*
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Tribufu.Generated.Client.OpenAPIDateConverter;
namespace Tribufu.Generated.Model
{
/// <summary>
/// RefreshRequest
/// </summary>
[DataContract(Name = "RefreshRequest")]
public partial class RefreshRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="RefreshRequest" /> class.
/// </summary>
/// <param name="refreshToken">refreshToken.</param>
public RefreshRequest(string refreshToken = default(string))
{
this.RefreshToken = refreshToken;
}
/// <summary>
/// Gets or Sets RefreshToken
/// </summary>
[DataMember(Name = "refresh_token", EmitDefaultValue = true)]
public string RefreshToken { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class RefreshRequest {\n");
sb.Append(" RefreshToken: ").Append(RefreshToken).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 Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <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;
}
}
}

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -22,49 +22,44 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Tribufu.Client.OpenAPIDateConverter;
using OpenAPIDateConverter = Tribufu.Generated.Client.OpenAPIDateConverter;
namespace Tribufu.Model
namespace Tribufu.Generated.Model
{
/// <summary>
/// CreateUser
/// RegisterRequest
/// </summary>
[DataContract(Name = "CreateUser")]
public partial class CreateUser : IValidatableObject
[DataContract(Name = "RegisterRequest")]
public partial class RegisterRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateUser" /> class.
/// Initializes a new instance of the <see cref="RegisterRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CreateUser() { }
protected RegisterRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="CreateUser" /> class.
/// Initializes a new instance of the <see cref="RegisterRequest" /> class.
/// </summary>
/// <param name="uuid">uuid.</param>
/// <param name="name">name (required).</param>
/// <param name="displayName">displayName.</param>
/// <param name="email">email.</param>
/// <param name="password">password.</param>
/// <param name="language">language.</param>
/// <param name="timezone">timezone.</param>
/// <param name="currency">currency.</param>
/// <param name="ipAddress">ipAddress.</param>
public CreateUser(Guid? uuid = default(Guid?), string name = default(string), string displayName = default(string), string email = default(string), string password = default(string), string language = default(string), string timezone = default(string), string currency = default(string), string ipAddress = default(string))
/// <param name="password">password (required).</param>
public RegisterRequest(Guid? uuid = default(Guid?), string name = default(string), string email = default(string), string password = default(string))
{
// to ensure "name" is required (not null)
if (name == null)
{
throw new ArgumentNullException("name is a required property for CreateUser and cannot be null");
throw new ArgumentNullException("name is a required property for RegisterRequest and cannot be null");
}
this.Name = name;
this.Uuid = uuid;
this.DisplayName = displayName;
this.Email = email;
// to ensure "password" is required (not null)
if (password == null)
{
throw new ArgumentNullException("password is a required property for RegisterRequest and cannot be null");
}
this.Password = password;
this.Language = language;
this.Timezone = timezone;
this.Currency = currency;
this.IpAddress = ipAddress;
this.Uuid = uuid;
this.Email = email;
}
/// <summary>
@@ -79,12 +74,6 @@ namespace Tribufu.Model
[DataMember(Name = "name", IsRequired = true, EmitDefaultValue = true)]
public string Name { get; set; }
/// <summary>
/// Gets or Sets DisplayName
/// </summary>
[DataMember(Name = "display_name", EmitDefaultValue = true)]
public string DisplayName { get; set; }
/// <summary>
/// Gets or Sets Email
/// </summary>
@@ -94,33 +83,9 @@ namespace Tribufu.Model
/// <summary>
/// Gets or Sets Password
/// </summary>
[DataMember(Name = "password", EmitDefaultValue = true)]
[DataMember(Name = "password", IsRequired = true, EmitDefaultValue = true)]
public string Password { get; set; }
/// <summary>
/// Gets or Sets Language
/// </summary>
[DataMember(Name = "language", EmitDefaultValue = true)]
public string Language { get; set; }
/// <summary>
/// Gets or Sets Timezone
/// </summary>
[DataMember(Name = "timezone", EmitDefaultValue = true)]
public string Timezone { get; set; }
/// <summary>
/// Gets or Sets Currency
/// </summary>
[DataMember(Name = "currency", EmitDefaultValue = true)]
public string Currency { get; set; }
/// <summary>
/// Gets or Sets IpAddress
/// </summary>
[DataMember(Name = "ip_address", EmitDefaultValue = true)]
public string IpAddress { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
@@ -128,16 +93,11 @@ namespace Tribufu.Model
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateUser {\n");
sb.Append("class RegisterRequest {\n");
sb.Append(" Uuid: ").Append(Uuid).Append("\n");
sb.Append(" Name: ").Append(Name).Append("\n");
sb.Append(" DisplayName: ").Append(DisplayName).Append("\n");
sb.Append(" Email: ").Append(Email).Append("\n");
sb.Append(" Password: ").Append(Password).Append("\n");
sb.Append(" Language: ").Append(Language).Append("\n");
sb.Append(" Timezone: ").Append(Timezone).Append("\n");
sb.Append(" Currency: ").Append(Currency).Append("\n");
sb.Append(" IpAddress: ").Append(IpAddress).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
@@ -165,9 +125,9 @@ namespace Tribufu.Model
}
// Name (string) minLength
if (this.Name != null && this.Name.Length < 1)
if (this.Name != null && this.Name.Length < 3)
{
yield return new ValidationResult("Invalid value for Name, length must be greater than 1.", new [] { "Name" });
yield return new ValidationResult("Invalid value for Name, length must be greater than 3.", new [] { "Name" });
}
if (this.Name != null) {
@@ -179,43 +139,25 @@ namespace Tribufu.Model
}
}
// DisplayName (string) maxLength
if (this.DisplayName != null && this.DisplayName.Length > 45)
{
yield return new ValidationResult("Invalid value for DisplayName, length must be less than 45.", new [] { "DisplayName" });
}
if (this.DisplayName != null) {
// DisplayName (string) pattern
Regex regexDisplayName = new Regex(@"^[a-zA-Z0-9-_ ]*$", RegexOptions.CultureInvariant);
if (!regexDisplayName.Match(this.DisplayName).Success)
{
yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for DisplayName, must match a pattern of " + regexDisplayName, new [] { "DisplayName" });
}
}
// Email (string) maxLength
if (this.Email != null && this.Email.Length > 255)
{
yield return new ValidationResult("Invalid value for Email, length must be less than 255.", new [] { "Email" });
}
// Language (string) maxLength
if (this.Language != null && this.Language.Length > 5)
{
yield return new ValidationResult("Invalid value for Language, length must be less than 5.", new [] { "Language" });
if (this.Email != null) {
// Email (string) pattern
Regex regexEmail = new Regex(@"^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$", RegexOptions.CultureInvariant);
if (!regexEmail.Match(this.Email).Success)
{
yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Email, must match a pattern of " + regexEmail, new [] { "Email" });
}
}
// Currency (string) maxLength
if (this.Currency != null && this.Currency.Length > 3)
// Password (string) minLength
if (this.Password != null && this.Password.Length < 1)
{
yield return new ValidationResult("Invalid value for Currency, length must be less than 3.", new [] { "Currency" });
}
// IpAddress (string) maxLength
if (this.IpAddress != null && this.IpAddress.Length > 255)
{
yield return new ValidationResult("Invalid value for IpAddress, length must be less than 255.", new [] { "IpAddress" });
yield return new ValidationResult("Invalid value for Password, length must be greater than 1.", new [] { "Password" });
}
yield break;

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -22,9 +22,9 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Tribufu.Client.OpenAPIDateConverter;
using OpenAPIDateConverter = Tribufu.Generated.Client.OpenAPIDateConverter;
namespace Tribufu.Model
namespace Tribufu.Generated.Model
{
/// <summary>
/// Defines ResponseType

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -22,9 +22,9 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Tribufu.Client.OpenAPIDateConverter;
using OpenAPIDateConverter = Tribufu.Generated.Client.OpenAPIDateConverter;
namespace Tribufu.Model
namespace Tribufu.Generated.Model
{
/// <summary>
/// RevokeRequest
@@ -36,25 +36,15 @@ namespace Tribufu.Model
/// <summary>
/// Gets or Sets TokenTypeHint
/// </summary>
[DataMember(Name = "token_type_hint", IsRequired = true, EmitDefaultValue = true)]
public TokenHintType TokenTypeHint { get; set; }
[DataMember(Name = "token_type_hint", EmitDefaultValue = false)]
public TokenHintType? TokenTypeHint { get; set; }
/// <summary>
/// Initializes a new instance of the <see cref="RevokeRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected RevokeRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="RevokeRequest" /> class.
/// </summary>
/// <param name="token">token (required).</param>
/// <param name="tokenTypeHint">tokenTypeHint (required).</param>
public RevokeRequest(string token = default(string), TokenHintType tokenTypeHint = default(TokenHintType))
/// <param name="token">token.</param>
/// <param name="tokenTypeHint">tokenTypeHint.</param>
public RevokeRequest(string token = default(string), TokenHintType? tokenTypeHint = default(TokenHintType?))
{
// to ensure "token" is required (not null)
if (token == null)
{
throw new ArgumentNullException("token is a required property for RevokeRequest and cannot be null");
}
this.Token = token;
this.TokenTypeHint = tokenTypeHint;
}
@@ -62,7 +52,7 @@ namespace Tribufu.Model
/// <summary>
/// Gets or Sets Token
/// </summary>
[DataMember(Name = "token", IsRequired = true, EmitDefaultValue = true)]
[DataMember(Name = "token", EmitDefaultValue = true)]
public string Token { get; set; }
/// <summary>

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -22,42 +22,32 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Tribufu.Client.OpenAPIDateConverter;
using OpenAPIDateConverter = Tribufu.Generated.Client.OpenAPIDateConverter;
namespace Tribufu.Model
namespace Tribufu.Generated.Model
{
/// <summary>
/// Search
/// SearchRequest
/// </summary>
[DataContract(Name = "Search")]
public partial class Search : IValidatableObject
[DataContract(Name = "SearchRequest")]
public partial class SearchRequest : IValidatableObject
{
/// <summary>
/// Gets or Sets Type
/// </summary>
[DataMember(Name = "type", IsRequired = true, EmitDefaultValue = true)]
public SearchType Type { get; set; }
[DataMember(Name = "type", EmitDefaultValue = false)]
public SearchType? Type { get; set; }
/// <summary>
/// Initializes a new instance of the <see cref="Search" /> class.
/// Initializes a new instance of the <see cref="SearchRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected Search() { }
/// <summary>
/// Initializes a new instance of the <see cref="Search" /> class.
/// </summary>
/// <param name="type">type (required).</param>
/// <param name="query">query (required).</param>
/// <param name="type">type.</param>
/// <param name="query">query.</param>
/// <param name="page">page.</param>
/// <param name="gameId">gameId.</param>
public Search(SearchType type = default(SearchType), string query = default(string), int? page = default(int?), string gameId = default(string))
public SearchRequest(SearchType? type = default(SearchType?), string query = default(string), int? page = default(int?), string gameId = default(string))
{
this.Type = type;
// to ensure "query" is required (not null)
if (query == null)
{
throw new ArgumentNullException("query is a required property for Search and cannot be null");
}
this.Query = query;
this.Page = page;
this.GameId = gameId;
@@ -66,7 +56,7 @@ namespace Tribufu.Model
/// <summary>
/// Gets or Sets Query
/// </summary>
[DataMember(Name = "query", IsRequired = true, EmitDefaultValue = true)]
[DataMember(Name = "query", EmitDefaultValue = true)]
public string Query { get; set; }
/// <summary>
@@ -88,7 +78,7 @@ namespace Tribufu.Model
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class Search {\n");
sb.Append("class SearchRequest {\n");
sb.Append(" Type: ").Append(Type).Append("\n");
sb.Append(" Query: ").Append(Query).Append("\n");
sb.Append(" Page: ").Append(Page).Append("\n");

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -22,9 +22,9 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Tribufu.Client.OpenAPIDateConverter;
using OpenAPIDateConverter = Tribufu.Generated.Client.OpenAPIDateConverter;
namespace Tribufu.Model
namespace Tribufu.Generated.Model
{
/// <summary>
/// Defines SearchType
@@ -45,16 +45,16 @@ namespace Tribufu.Model
Group,
/// <summary>
/// Enum GameServer for value: game_server
/// Enum Server for value: server
/// </summary>
[EnumMember(Value = "game_server")]
GameServer,
[EnumMember(Value = "server")]
Server,
/// <summary>
/// Enum GameServerCluster for value: game_server_cluster
/// Enum Cluster for value: cluster
/// </summary>
[EnumMember(Value = "game_server_cluster")]
GameServerCluster
[EnumMember(Value = "cluster")]
Cluster
}
}

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -22,9 +22,9 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Tribufu.Client.OpenAPIDateConverter;
using OpenAPIDateConverter = Tribufu.Generated.Client.OpenAPIDateConverter;
namespace Tribufu.Model
namespace Tribufu.Generated.Model
{
/// <summary>
/// ServerMetrics

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -22,15 +22,15 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Tribufu.Client.OpenAPIDateConverter;
using OpenAPIDateConverter = Tribufu.Generated.Client.OpenAPIDateConverter;
namespace Tribufu.Model
namespace Tribufu.Generated.Model
{
/// <summary>
/// Defines GameServerStatus
/// Defines ServerStatus
/// </summary>
[JsonConverter(typeof(StringEnumConverter))]
public enum GameServerStatus
public enum ServerStatus
{
/// <summary>
/// Enum Unknown for value: unknown

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -22,9 +22,9 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Tribufu.Client.OpenAPIDateConverter;
using OpenAPIDateConverter = Tribufu.Generated.Client.OpenAPIDateConverter;
namespace Tribufu.Model
namespace Tribufu.Generated.Model
{
/// <summary>
/// Subscription
@@ -32,33 +32,21 @@ namespace Tribufu.Model
[DataContract(Name = "Subscription")]
public partial class Subscription : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="Subscription" /> class.
/// </summary>
[JsonConstructorAttribute]
protected Subscription() { }
/// <summary>
/// Initializes a new instance of the <see cref="Subscription" /> class.
/// </summary>
/// <param name="id">id.</param>
/// <param name="name">name (required).</param>
/// <param name="name">name.</param>
/// <param name="description">description.</param>
/// <param name="imageUrl">imageUrl.</param>
/// <param name="prices">prices.</param>
/// <param name="created">created.</param>
/// <param name="updated">updated.</param>
public Subscription(string id = default(string), string name = default(string), string description = default(string), string imageUrl = default(string), List<SubscriptionPrice> prices = default(List<SubscriptionPrice>), DateTime created = default(DateTime), DateTime? updated = default(DateTime?))
public Subscription(string id = default(string), string name = default(string), string description = default(string), string imageUrl = default(string), DateTime created = default(DateTime), DateTime? updated = default(DateTime?))
{
// to ensure "name" is required (not null)
if (name == null)
{
throw new ArgumentNullException("name is a required property for Subscription and cannot be null");
}
this.Name = name;
this.Id = id;
this.Name = name;
this.Description = description;
this.ImageUrl = imageUrl;
this.Prices = prices;
this.Created = created;
this.Updated = updated;
}
@@ -72,7 +60,7 @@ namespace Tribufu.Model
/// <summary>
/// Gets or Sets Name
/// </summary>
[DataMember(Name = "name", IsRequired = true, EmitDefaultValue = true)]
[DataMember(Name = "name", EmitDefaultValue = true)]
public string Name { get; set; }
/// <summary>
@@ -91,8 +79,16 @@ namespace Tribufu.Model
/// Gets or Sets Prices
/// </summary>
[DataMember(Name = "prices", EmitDefaultValue = true)]
public List<SubscriptionPrice> Prices { get; set; }
public Dictionary<string, double> Prices { get; private set; }
/// <summary>
/// Returns false as Prices should not be serialized given that it's read-only.
/// </summary>
/// <returns>false (boolean)</returns>
public bool ShouldSerializePrices()
{
return false;
}
/// <summary>
/// Gets or Sets Created
/// </summary>

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -22,9 +22,9 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Tribufu.Client.OpenAPIDateConverter;
using OpenAPIDateConverter = Tribufu.Generated.Client.OpenAPIDateConverter;
namespace Tribufu.Model
namespace Tribufu.Generated.Model
{
/// <summary>
/// Defines TokenHintType

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -22,9 +22,9 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Tribufu.Client.OpenAPIDateConverter;
using OpenAPIDateConverter = Tribufu.Generated.Client.OpenAPIDateConverter;
namespace Tribufu.Model
namespace Tribufu.Generated.Model
{
/// <summary>
/// TokenRequest
@@ -46,15 +46,17 @@ namespace Tribufu.Model
/// <param name="username">username.</param>
/// <param name="password">password.</param>
/// <param name="refreshToken">refreshToken.</param>
/// <param name="clientId">clientId.</param>
/// <param name="redirectUri">redirectUri.</param>
/// <param name="codeVerifier">codeVerifier.</param>
public TokenRequest(GrantType? grantType = default(GrantType?), string code = default(string), string username = default(string), string password = default(string), string refreshToken = default(string), string redirectUri = default(string), string codeVerifier = default(string))
public TokenRequest(GrantType? grantType = default(GrantType?), string code = default(string), string username = default(string), string password = default(string), string refreshToken = default(string), string clientId = default(string), string redirectUri = default(string), string codeVerifier = default(string))
{
this.GrantType = grantType;
this.Code = code;
this.Username = username;
this.Password = password;
this.RefreshToken = refreshToken;
this.ClientId = clientId;
this.RedirectUri = redirectUri;
this.CodeVerifier = codeVerifier;
}
@@ -83,6 +85,12 @@ namespace Tribufu.Model
[DataMember(Name = "refresh_token", EmitDefaultValue = true)]
public string RefreshToken { get; set; }
/// <summary>
/// Gets or Sets ClientId
/// </summary>
[DataMember(Name = "client_id", EmitDefaultValue = true)]
public string ClientId { get; set; }
/// <summary>
/// Gets or Sets RedirectUri
/// </summary>
@@ -108,6 +116,7 @@ namespace Tribufu.Model
sb.Append(" Username: ").Append(Username).Append("\n");
sb.Append(" Password: ").Append(Password).Append("\n");
sb.Append(" RefreshToken: ").Append(RefreshToken).Append("\n");
sb.Append(" ClientId: ").Append(ClientId).Append("\n");
sb.Append(" RedirectUri: ").Append(RedirectUri).Append("\n");
sb.Append(" CodeVerifier: ").Append(CodeVerifier).Append("\n");
sb.Append("}\n");

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -22,9 +22,9 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Tribufu.Client.OpenAPIDateConverter;
using OpenAPIDateConverter = Tribufu.Generated.Client.OpenAPIDateConverter;
namespace Tribufu.Model
namespace Tribufu.Generated.Model
{
/// <summary>
/// TokenResponse
@@ -36,30 +36,20 @@ namespace Tribufu.Model
/// <summary>
/// Gets or Sets TokenType
/// </summary>
[DataMember(Name = "token_type", IsRequired = true, EmitDefaultValue = true)]
public TokenType TokenType { get; set; }
[DataMember(Name = "token_type", EmitDefaultValue = false)]
public TokenType? TokenType { get; set; }
/// <summary>
/// Initializes a new instance of the <see cref="TokenResponse" /> class.
/// </summary>
[JsonConstructorAttribute]
protected TokenResponse() { }
/// <summary>
/// Initializes a new instance of the <see cref="TokenResponse" /> class.
/// </summary>
/// <param name="tokenType">tokenType (required).</param>
/// <param name="accessToken">accessToken (required).</param>
/// <param name="tokenType">tokenType.</param>
/// <param name="accessToken">accessToken.</param>
/// <param name="refreshToken">refreshToken.</param>
/// <param name="scope">scope.</param>
/// <param name="state">state.</param>
/// <param name="expiresIn">expiresIn.</param>
public TokenResponse(TokenType tokenType = default(TokenType), string accessToken = default(string), string refreshToken = default(string), string scope = default(string), string state = default(string), long expiresIn = default(long))
public TokenResponse(TokenType? tokenType = default(TokenType?), string accessToken = default(string), string refreshToken = default(string), string scope = default(string), string state = default(string), long expiresIn = default(long))
{
this.TokenType = tokenType;
// to ensure "accessToken" is required (not null)
if (accessToken == null)
{
throw new ArgumentNullException("accessToken is a required property for TokenResponse and cannot be null");
}
this.AccessToken = accessToken;
this.RefreshToken = refreshToken;
this.Scope = scope;
@@ -70,7 +60,7 @@ namespace Tribufu.Model
/// <summary>
/// Gets or Sets AccessToken
/// </summary>
[DataMember(Name = "access_token", IsRequired = true, EmitDefaultValue = true)]
[DataMember(Name = "access_token", EmitDefaultValue = true)]
public string AccessToken { get; set; }
/// <summary>

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -22,9 +22,9 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Tribufu.Client.OpenAPIDateConverter;
using OpenAPIDateConverter = Tribufu.Generated.Client.OpenAPIDateConverter;
namespace Tribufu.Model
namespace Tribufu.Generated.Model
{
/// <summary>
/// Defines TokenType

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -22,9 +22,9 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Tribufu.Client.OpenAPIDateConverter;
using OpenAPIDateConverter = Tribufu.Generated.Client.OpenAPIDateConverter;
namespace Tribufu.Model
namespace Tribufu.Generated.Model
{
/// <summary>
/// UpdateProfile
@@ -35,20 +35,10 @@ namespace Tribufu.Model
/// <summary>
/// Initializes a new instance of the <see cref="UpdateProfile" /> class.
/// </summary>
[JsonConstructorAttribute]
protected UpdateProfile() { }
/// <summary>
/// Initializes a new instance of the <see cref="UpdateProfile" /> class.
/// </summary>
/// <param name="displayName">displayName (required).</param>
/// <param name="displayName">displayName.</param>
/// <param name="biography">biography.</param>
public UpdateProfile(string displayName = default(string), string biography = default(string))
{
// to ensure "displayName" is required (not null)
if (displayName == null)
{
throw new ArgumentNullException("displayName is a required property for UpdateProfile and cannot be null");
}
this.DisplayName = displayName;
this.Biography = biography;
}
@@ -56,7 +46,7 @@ namespace Tribufu.Model
/// <summary>
/// Gets or Sets DisplayName
/// </summary>
[DataMember(Name = "display_name", IsRequired = true, EmitDefaultValue = true)]
[DataMember(Name = "display_name", EmitDefaultValue = true)]
public string DisplayName { get; set; }
/// <summary>

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -22,9 +22,9 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Tribufu.Client.OpenAPIDateConverter;
using OpenAPIDateConverter = Tribufu.Generated.Client.OpenAPIDateConverter;
namespace Tribufu.Model
namespace Tribufu.Generated.Model
{
/// <summary>
/// UserInfo
@@ -41,44 +41,56 @@ namespace Tribufu.Model
/// <summary>
/// Initializes a new instance of the <see cref="UserInfo" /> class.
/// </summary>
[JsonConstructorAttribute]
protected UserInfo() { }
/// <summary>
/// Initializes a new instance of the <see cref="UserInfo" /> class.
/// </summary>
/// <param name="id">id.</param>
/// <param name="uuid">uuid.</param>
/// <param name="name">name (required).</param>
/// <param name="name">name.</param>
/// <param name="displayName">displayName.</param>
/// <param name="email">email.</param>
/// <param name="emailVerified">emailVerified.</param>
/// <param name="type">type.</param>
/// <param name="flags">flags.</param>
/// <param name="permissions">permissions.</param>
/// <param name="verified">verified.</param>
/// <param name="level">level.</param>
/// <param name="experience">experience.</param>
/// <param name="publicBirthday">publicBirthday.</param>
/// <param name="birthday">birthday.</param>
/// <param name="points">points.</param>
/// <param name="location">location.</param>
/// <param name="language">language.</param>
/// <param name="timezone">timezone.</param>
/// <param name="currency">currency.</param>
/// <param name="photoUrl">photoUrl.</param>
/// <param name="permissions">permissions.</param>
/// <param name="bannerUrl">bannerUrl.</param>
/// <param name="lastOnline">lastOnline.</param>
/// <param name="biography">biography.</param>
/// <param name="viewCount">viewCount.</param>
/// <param name="created">created.</param>
/// <param name="updated">updated.</param>
public UserInfo(string id = default(string), Guid uuid = default(Guid), string name = default(string), string displayName = default(string), string email = default(string), bool emailVerified = default(bool), UserType? type = default(UserType?), string language = default(string), string timezone = default(string), string currency = default(string), string photoUrl = default(string), List<string> permissions = default(List<string>), DateTime created = default(DateTime), DateTime? updated = default(DateTime?))
public UserInfo(string id = default(string), Guid uuid = default(Guid), string name = default(string), string displayName = default(string), string email = default(string), UserType? type = default(UserType?), string flags = default(string), string permissions = default(string), bool verified = default(bool), int level = default(int), double experience = default(double), bool publicBirthday = default(bool), DateOnly? birthday = default(DateOnly?), double points = default(double), string location = default(string), string language = default(string), string timezone = default(string), string currency = default(string), string photoUrl = default(string), string bannerUrl = default(string), DateTime? lastOnline = default(DateTime?), string biography = default(string), int viewCount = default(int), DateTime created = default(DateTime), DateTime? updated = default(DateTime?))
{
// to ensure "name" is required (not null)
if (name == null)
{
throw new ArgumentNullException("name is a required property for UserInfo and cannot be null");
}
this.Name = name;
this.Id = id;
this.Uuid = uuid;
this.Name = name;
this.DisplayName = displayName;
this.Email = email;
this.EmailVerified = emailVerified;
this.Type = type;
this.Flags = flags;
this.Permissions = permissions;
this.Verified = verified;
this.Level = level;
this.Experience = experience;
this.PublicBirthday = publicBirthday;
this.Birthday = birthday;
this.Points = points;
this.Location = location;
this.Language = language;
this.Timezone = timezone;
this.Currency = currency;
this.PhotoUrl = photoUrl;
this.Permissions = permissions;
this.BannerUrl = bannerUrl;
this.LastOnline = lastOnline;
this.Biography = biography;
this.ViewCount = viewCount;
this.Created = created;
this.Updated = updated;
}
@@ -98,7 +110,7 @@ namespace Tribufu.Model
/// <summary>
/// Gets or Sets Name
/// </summary>
[DataMember(Name = "name", IsRequired = true, EmitDefaultValue = true)]
[DataMember(Name = "name", EmitDefaultValue = true)]
public string Name { get; set; }
/// <summary>
@@ -114,10 +126,58 @@ namespace Tribufu.Model
public string Email { get; set; }
/// <summary>
/// Gets or Sets EmailVerified
/// Gets or Sets Flags
/// </summary>
[DataMember(Name = "email_verified", EmitDefaultValue = true)]
public bool EmailVerified { get; set; }
[DataMember(Name = "flags", EmitDefaultValue = false)]
public string Flags { get; set; }
/// <summary>
/// Gets or Sets Permissions
/// </summary>
[DataMember(Name = "permissions", EmitDefaultValue = false)]
public string Permissions { get; set; }
/// <summary>
/// Gets or Sets Verified
/// </summary>
[DataMember(Name = "verified", EmitDefaultValue = true)]
public bool Verified { get; set; }
/// <summary>
/// Gets or Sets Level
/// </summary>
[DataMember(Name = "level", EmitDefaultValue = false)]
public int Level { get; set; }
/// <summary>
/// Gets or Sets Experience
/// </summary>
[DataMember(Name = "experience", EmitDefaultValue = false)]
public double Experience { get; set; }
/// <summary>
/// Gets or Sets PublicBirthday
/// </summary>
[DataMember(Name = "public_birthday", EmitDefaultValue = true)]
public bool PublicBirthday { get; set; }
/// <summary>
/// Gets or Sets Birthday
/// </summary>
[DataMember(Name = "birthday", EmitDefaultValue = true)]
public DateOnly? Birthday { get; set; }
/// <summary>
/// Gets or Sets Points
/// </summary>
[DataMember(Name = "points", EmitDefaultValue = false)]
public double Points { get; set; }
/// <summary>
/// Gets or Sets Location
/// </summary>
[DataMember(Name = "location", EmitDefaultValue = true)]
public string Location { get; set; }
/// <summary>
/// Gets or Sets Language
@@ -144,10 +204,28 @@ namespace Tribufu.Model
public string PhotoUrl { get; set; }
/// <summary>
/// Gets or Sets Permissions
/// Gets or Sets BannerUrl
/// </summary>
[DataMember(Name = "permissions", EmitDefaultValue = true)]
public List<string> Permissions { get; set; }
[DataMember(Name = "banner_url", EmitDefaultValue = true)]
public string BannerUrl { get; set; }
/// <summary>
/// Gets or Sets LastOnline
/// </summary>
[DataMember(Name = "last_online", EmitDefaultValue = true)]
public DateTime? LastOnline { get; set; }
/// <summary>
/// Gets or Sets Biography
/// </summary>
[DataMember(Name = "biography", EmitDefaultValue = true)]
public string Biography { get; set; }
/// <summary>
/// Gets or Sets ViewCount
/// </summary>
[DataMember(Name = "view_count", EmitDefaultValue = false)]
public int ViewCount { get; set; }
/// <summary>
/// Gets or Sets Created
@@ -174,13 +252,24 @@ namespace Tribufu.Model
sb.Append(" Name: ").Append(Name).Append("\n");
sb.Append(" DisplayName: ").Append(DisplayName).Append("\n");
sb.Append(" Email: ").Append(Email).Append("\n");
sb.Append(" EmailVerified: ").Append(EmailVerified).Append("\n");
sb.Append(" Type: ").Append(Type).Append("\n");
sb.Append(" Flags: ").Append(Flags).Append("\n");
sb.Append(" Permissions: ").Append(Permissions).Append("\n");
sb.Append(" Verified: ").Append(Verified).Append("\n");
sb.Append(" Level: ").Append(Level).Append("\n");
sb.Append(" Experience: ").Append(Experience).Append("\n");
sb.Append(" PublicBirthday: ").Append(PublicBirthday).Append("\n");
sb.Append(" Birthday: ").Append(Birthday).Append("\n");
sb.Append(" Points: ").Append(Points).Append("\n");
sb.Append(" Location: ").Append(Location).Append("\n");
sb.Append(" Language: ").Append(Language).Append("\n");
sb.Append(" Timezone: ").Append(Timezone).Append("\n");
sb.Append(" Currency: ").Append(Currency).Append("\n");
sb.Append(" PhotoUrl: ").Append(PhotoUrl).Append("\n");
sb.Append(" Permissions: ").Append(Permissions).Append("\n");
sb.Append(" BannerUrl: ").Append(BannerUrl).Append("\n");
sb.Append(" LastOnline: ").Append(LastOnline).Append("\n");
sb.Append(" Biography: ").Append(Biography).Append("\n");
sb.Append(" ViewCount: ").Append(ViewCount).Append("\n");
sb.Append(" Created: ").Append(Created).Append("\n");
sb.Append(" Updated: ").Append(Updated).Append("\n");
sb.Append("}\n");

View File

@@ -1,9 +1,9 @@
/*
* Tribufu API
*
* API to access Tribufu services.
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.2.6
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
@@ -22,9 +22,9 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Tribufu.Client.OpenAPIDateConverter;
using OpenAPIDateConverter = Tribufu.Generated.Client.OpenAPIDateConverter;
namespace Tribufu.Model
namespace Tribufu.Generated.Model
{
/// <summary>
/// Defines UserType

View File

@@ -0,0 +1 @@
# Tribufu

View File

@@ -0,0 +1,27 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<PackageId>Tribufu.Generated</PackageId>
<Description>Tribufu .NET SDK</Description>
<PackageReadmeFile>README.md</PackageReadmeFile>
</PropertyGroup>
<PropertyGroup>
<AppDesignerFolder>Properties</AppDesignerFolder>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>annotations</Nullable>
<OutputType>Library</OutputType>
<TargetFrameworks>net6.0</TargetFrameworks>
</PropertyGroup>
<ItemGroup>
<None Include="README.md" Pack="true" PackagePath="\" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="dotenv.net" />
<PackageReference Include="JsonSubTypes" />
<PackageReference Include="Newtonsoft.Json" />
<PackageReference Include="Polly" />
<PackageReference Include="RestSharp" />
<PackageReference Include="System.ComponentModel.Annotations" />
</ItemGroup>
</Project>

View File

@@ -1,20 +0,0 @@
// Copyright (c) Tribufu. All Rights Reserved.
// SPDX-License-Identifier: MIT
namespace Tribufu.Logging
{
public enum LogLevel : byte
{
Off = 0,
Error = 1,
Warn = 2,
Info = 3,
Debug = 4,
Trace = 5,
}
}

View File

@@ -1,79 +0,0 @@
// Copyright (c) Tribufu. All Rights Reserved.
// SPDX-License-Identifier: MIT
using System;
namespace Tribufu.Logging
{
public static class Logger
{
private static LogLevel _level = LogLevel.Off;
public static void Initialize(LogLevel level = LogLevel.Off)
{
_level = level;
}
public static void Info(object context, string message)
{
Info($"({context.GetType().Name}) {message}");
}
public static void Warn(object context, string message)
{
Warn($"({context.GetType().Name}) {message}");
}
public static void Error(object context, string message)
{
Error($"({context.GetType().Name}) {message}");
}
public static void Debug(object context, string message)
{
Debug($"({context.GetType().Name}) {message}");
}
public static void Trace(object context, string message)
{
Trace($"({context.GetType().Name}) {message}");
}
public static void Info(string message)
{
Log(LogLevel.Info, message, ConsoleColor.Green);
}
public static void Warn(string message)
{
Log(LogLevel.Warn, message, ConsoleColor.Yellow);
}
public static void Error(string message)
{
Log(LogLevel.Error, message, ConsoleColor.Red);
}
public static void Debug(string message)
{
Log(LogLevel.Debug, message, ConsoleColor.White);
}
public static void Trace(string message)
{
Log(LogLevel.Trace, message, ConsoleColor.DarkGray);
}
private static void Log(LogLevel level, string message, ConsoleColor color)
{
if (level <= _level)
{
var defaultColor = Console.ForegroundColor;
Console.ForegroundColor = color;
var timestamp = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss");
Console.WriteLine($"[{timestamp}] [{level.ToString().ToUpper()}]: {message}");
Console.ForegroundColor = defaultColor;
}
}
}
}

View File

@@ -1 +0,0 @@
# Tribufu Logging

View File

@@ -1,19 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<PackageId>Tribufu.Logging</PackageId>
<Description>Tribufu Logging</Description>
<PackageReadmeFile>README.md</PackageReadmeFile>
</PropertyGroup>
<PropertyGroup>
<AppDesignerFolder>Properties</AppDesignerFolder>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<IsPublishable>false</IsPublishable>
<OutputType>Library</OutputType>
<TargetFrameworks>netstandard2.0;net45;net5.0</TargetFrameworks>
</PropertyGroup>
<ItemGroup>
<None Include="README.md" Pack="true" PackagePath="\" />
</ItemGroup>
<ItemGroup>
</ItemGroup>
</Project>

View File

@@ -1,45 +0,0 @@
// Copyright (c) Tribufu. All Rights Reserved.
// SPDX-License-Identifier: UNLICENSED
using IdGen;
using System;
namespace Tribufu.Platform
{
public static class FlakeGenerator
{
public static readonly DateTime EPOCH = new(2016, 1, 1, 0, 0, 0, DateTimeKind.Utc);
private static readonly IdStructure _structure = new(41, 10, 12);
private static readonly IdGeneratorOptions _options = new(_structure, new DefaultTimeSource(EPOCH));
private static readonly IdGenerator _generator = new(0, _options);
public static ulong New()
{
//Console.WriteLine("Max. generators : {0}", _structure.MaxGenerators);
//Console.WriteLine("Id's/ms per generator : {0}", _structure.MaxSequenceIds);
//Console.WriteLine("Id's/ms total : {0}", _structure.MaxGenerators * _structure.MaxSequenceIds);
//Console.WriteLine("Wraparound interval : {0}", _structure.WraparoundInterval(_generator.Options.TimeSource));
//Console.WriteLine("Wraparound date : {0}", _structure.WraparoundDate(_generator.Options.TimeSource.Epoch, _generator.Options.TimeSource).ToString("O"));
return (ulong)_generator.CreateId();
}
public static ulong FromTimestamp(DateTime timestamp, ushort sequence = 0)
{
var diff = (long)(timestamp - EPOCH).TotalMilliseconds;
if (diff < 0 || diff > (1L << 41) - 1)
{
throw new ArgumentOutOfRangeException(nameof(timestamp), "Timestamp out of range for flake.");
}
ulong timestampPart = (ulong)diff << 22; // 41 bits << (10+12)
ulong generatorPart = 0ul << 12; // Always 0
ulong sequencePart = (ulong)(sequence & 0xFFF); // 12 bits
return timestampPart | generatorPart | sequencePart;
}
}
}

View File

@@ -1,122 +0,0 @@
// Copyright (c) Tribufu. All Rights Reserved.
// SPDX-License-Identifier: MIT
using System;
using System.IO;
using System.Runtime.InteropServices;
using Tribufu.Logging;
namespace Tribufu.Platform
{
/// <summary>
/// Provides standardized access to important directories, such as config, saved data, logs, and platform-specific binaries.
/// This is especially useful for abstracting file path logic across environments (development, production, etc).
/// </summary>
public static class Paths
{
/// <summary>
/// Gets the root base directory of the application.
/// </summary>
/// <remarks>
/// - In development, this resolves to the root of the repository (five levels above bin/Debug or bin/Release).
/// - In production, it resolves to two levels above the binary location.
/// - It uses case-insensitive checks and runtime heuristics to improve accuracy.
/// </remarks>
/// <returns>The absolute path to the base directory.</returns>
public static string GetApplicationDirectory()
{
try
{
string baseDirectory;
string defaultBaseDirectory = AppContext.BaseDirectory;
bool isDevelopment = defaultBaseDirectory.ToLowerInvariant().Contains("debug");
if (isDevelopment)
{
// Go 5 levels up to simulate project root
baseDirectory = Path.Combine(defaultBaseDirectory, "..", "..", "..", "..", "..");
}
else
{
baseDirectory = Path.Combine(defaultBaseDirectory, "..", "..");
}
return Path.GetFullPath(baseDirectory);
}
catch (Exception ex)
{
Logger.Warn($"(Paths) Failed to resolve base directory: {ex.Message}");
return AppContext.BaseDirectory;
}
}
/// <summary>
/// Gets the path to the platform-specific binary directory.
/// </summary>
/// <returns>
/// The absolute path to <c>bin/&lt;runtime-identifier&gt;</c> if available,
/// otherwise falls back to <c>bin/dotnet</c>.
/// </returns>
public static string GetApplicationBinDirectory()
{
var binDirectory = Path.Combine(GetApplicationDirectory(), "bin");
if (!string.IsNullOrEmpty(RuntimeInformation.RuntimeIdentifier))
{
binDirectory = Path.Combine(binDirectory, RuntimeInformation.RuntimeIdentifier);
}
else
{
binDirectory = Path.Combine(binDirectory, "dotnet");
}
return binDirectory;
}
/// <summary>
/// Gets the path to the configuration directory.
/// </summary>
/// <returns>The absolute path to the <c>config</c> directory.</returns>
public static string GetApplicationConfigDirectory()
{
return Path.Combine(GetApplicationDirectory(), "config");
}
/// <summary>
/// Gets the path to the assets directory.
/// </summary>
/// <returns>The absolute path to the <c>assets</c> directory.</returns>
public static string GetApplicationAssetsDirectory()
{
return Path.Combine(GetApplicationDirectory(), "assets");
}
/// <summary>
/// Gets the path to the saved data directory.
/// </summary>
/// <returns>The absolute path to the <c>saved</c> directory.</returns>
public static string GetApplicationSavedDirectory()
{
return Path.Combine(GetApplicationDirectory(), "saved");
}
/// <summary>
/// Gets the path to the cache directory inside <c>saved</c>.
/// </summary>
/// <returns>The absolute path to the <c>saved/cache</c> directory.</returns>
public static string GetApplicationCacheDirectory()
{
return Path.Combine(GetApplicationSavedDirectory(), "cache");
}
/// <summary>
/// Gets the path to the logs directory inside <c>saved</c>.
/// </summary>
/// <returns>The absolute path to the <c>saved/logs</c> directory.</returns>
public static string GetApplicationLogsDirectory()
{
return Path.Combine(GetApplicationSavedDirectory(), "logs");
}
}
}

View File

@@ -1 +0,0 @@
# Tribufu Runtime

View File

@@ -1,24 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<PackageId>Tribufu.Platform</PackageId>
<Description>Tribufu Platform</Description>
<PackageReadmeFile>README.md</PackageReadmeFile>
</PropertyGroup>
<PropertyGroup>
<AppDesignerFolder>Properties</AppDesignerFolder>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<IsPublishable>false</IsPublishable>
<OutputType>Library</OutputType>
<TargetFrameworks>net5.0</TargetFrameworks>
</PropertyGroup>
<ItemGroup>
<None Include="README.md" Pack="true" PackagePath="\" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="IdGen" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Tribufu.ComponentModel\Tribufu.ComponentModel.csproj" />
<ProjectReference Include="..\Tribufu.Logging\Tribufu.Logging.csproj" />
</ItemGroup>
</Project>

View File

@@ -1,20 +0,0 @@
// Copyright (c) Tribufu. All Rights Reserved.
// SPDX-License-Identifier: UNLICENSED
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;
using System;
using System.Collections.Generic;
using System.Linq;
namespace Tribufu.Serialization
{
public class BaseClassFirstContractResolver : DefaultContractResolver
{
protected override IList<JsonProperty> CreateProperties(Type type, MemberSerialization memberSerialization)
{
var props = base.CreateProperties(type, memberSerialization);
return props.OrderBy(p => { return p.DeclaringType == type ? 1 : 0; }).ToList();
}
}
}

Some files were not shown because too many files have changed in this diff Show More