From 42f42637b2338d37fef7161c866fb7f8f3e679cf Mon Sep 17 00:00:00 2001 From: Guilherme Werner Date: Mon, 26 May 2025 20:40:04 -0300 Subject: [PATCH] Add example project --- .env.example | 1 + .gitignore | 2 + Directory.Packages.props | 1 + Tribufu.sln | 26 +++++++++++++ src/Tribufu.Example/Program.cs | 44 ++++++++++++++++++++++ src/Tribufu.Example/Tribufu.Example.csproj | 11 ++++++ src/Tribufu/Tribufu.csproj | 1 + 7 files changed, 86 insertions(+) create mode 100644 .env.example create mode 100644 src/Tribufu.Example/Program.cs create mode 100644 src/Tribufu.Example/Tribufu.Example.csproj diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..0776f1f --- /dev/null +++ b/.env.example @@ -0,0 +1 @@ +TRIBUFU_API_KEY="" diff --git a/.gitignore b/.gitignore index c72ee44..b585321 100644 --- a/.gitignore +++ b/.gitignore @@ -3,5 +3,7 @@ bin/ obj/ .DS_Store +.env *.filters *.user +desktop.ini diff --git a/Directory.Packages.props b/Directory.Packages.props index 7a6d9fc..e95a987 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -3,6 +3,7 @@ true + diff --git a/Tribufu.sln b/Tribufu.sln index 78211d1..5f20314 100644 --- a/Tribufu.sln +++ b/Tribufu.sln @@ -3,16 +3,42 @@ 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.Example", "src\Tribufu.Example\Tribufu.Example.csproj", "{D6392A29-E2DC-4050-B4C1-B279DD2D226D}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {7B7890D8-863A-4F1D-98C0-4B7D8C46CB52}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {7B7890D8-863A-4F1D-98C0-4B7D8C46CB52}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7B7890D8-863A-4F1D-98C0-4B7D8C46CB52}.Debug|x64.ActiveCfg = Debug|Any CPU + {7B7890D8-863A-4F1D-98C0-4B7D8C46CB52}.Debug|x64.Build.0 = Debug|Any CPU + {7B7890D8-863A-4F1D-98C0-4B7D8C46CB52}.Debug|x86.ActiveCfg = Debug|Any CPU + {7B7890D8-863A-4F1D-98C0-4B7D8C46CB52}.Debug|x86.Build.0 = Debug|Any CPU {7B7890D8-863A-4F1D-98C0-4B7D8C46CB52}.Release|Any CPU.ActiveCfg = Release|Any CPU {7B7890D8-863A-4F1D-98C0-4B7D8C46CB52}.Release|Any CPU.Build.0 = Release|Any CPU + {7B7890D8-863A-4F1D-98C0-4B7D8C46CB52}.Release|x64.ActiveCfg = Release|Any CPU + {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 + {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 + {D6392A29-E2DC-4050-B4C1-B279DD2D226D}.Debug|x64.Build.0 = Debug|Any CPU + {D6392A29-E2DC-4050-B4C1-B279DD2D226D}.Debug|x86.ActiveCfg = Debug|Any CPU + {D6392A29-E2DC-4050-B4C1-B279DD2D226D}.Debug|x86.Build.0 = Debug|Any CPU + {D6392A29-E2DC-4050-B4C1-B279DD2D226D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D6392A29-E2DC-4050-B4C1-B279DD2D226D}.Release|Any CPU.Build.0 = Release|Any CPU + {D6392A29-E2DC-4050-B4C1-B279DD2D226D}.Release|x64.ActiveCfg = Release|Any CPU + {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 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/src/Tribufu.Example/Program.cs b/src/Tribufu.Example/Program.cs new file mode 100644 index 0000000..9d5fef8 --- /dev/null +++ b/src/Tribufu.Example/Program.cs @@ -0,0 +1,44 @@ +// Copyright (c) Tribufu. All Rights Reserved. +// SPDX-License-Identifier: UNLICENSED + +using dotenv.net; +using Tribufu.Api; +using Tribufu.Client; + +namespace Tribufu.Test +{ + public static class Program + { + public static async Task Main(string[] args) + { + DotEnv.Load(new DotEnvOptions(ignoreExceptions: true, envFilePaths: [".env", "../../.env"])); + + var config = new Configuration + { + BasePath = "https://api.tribufu.com" + }; + + var apiKey = Environment.GetEnvironmentVariable("TRIBUFU_API_KEY"); + if (!string.IsNullOrEmpty(apiKey)) + { + config.AddApiKey("Authorization", "DvyTVeT6EBsvqsPE1mRuW7ewwiP1f9playWE9wLTmdXnCuBQqBrluhU0p1KXYaRi"); + config.AddApiKeyPrefix("Authorization", "ApiKey"); + } + + var tribufu = new TribufuApi(config); + + try + { + var result = await tribufu.GetUserInfoAsync(); + Console.WriteLine("Result:"); + Console.WriteLine(result); + } + catch (ApiException e) + { + Console.WriteLine("---- API Error ----"); + Console.WriteLine($"Status: {e.ErrorCode}"); + Console.WriteLine($"Details: {e.Data}"); + } + } + } +} diff --git a/src/Tribufu.Example/Tribufu.Example.csproj b/src/Tribufu.Example/Tribufu.Example.csproj new file mode 100644 index 0000000..25a4537 --- /dev/null +++ b/src/Tribufu.Example/Tribufu.Example.csproj @@ -0,0 +1,11 @@ + + + enable + enable + Exe + net8.0 + + + + + diff --git a/src/Tribufu/Tribufu.csproj b/src/Tribufu/Tribufu.csproj index dd5f3e8..306fcbd 100644 --- a/src/Tribufu/Tribufu.csproj +++ b/src/Tribufu/Tribufu.csproj @@ -17,6 +17,7 @@ +