Quickbase-Sharp 0.1.0

The owner has unlisted this package. This could mean that the package is deprecated, has security vulnerabilities or shouldn't be used anymore.
dotnet add package Quickbase-Sharp --version 0.1.0
                    
NuGet\Install-Package Quickbase-Sharp -Version 0.1.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Quickbase-Sharp" Version="0.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Quickbase-Sharp" Version="0.1.0" />
                    
Directory.Packages.props
<PackageReference Include="Quickbase-Sharp" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Quickbase-Sharp --version 0.1.0
                    
#r "nuget: Quickbase-Sharp, 0.1.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Quickbase-Sharp@0.1.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Quickbase-Sharp&version=0.1.0
                    
Install as a Cake Addin
#tool nuget:?package=Quickbase-Sharp&version=0.1.0
                    
Install as a Cake Tool

QuickbaseSharp NuGet

build tests

This QuickBaseSharp API wrapper provides a simplified and resilient way to interact with the QuickBase API using C#. It features built-in retry logic, circuit breaker patterns for handling transient errors and service unavailability, and a fluent interface for interacting with QuickBase resources.

⚒️ Usage

// Used to authenticate requests
var options = new QuickbaseClientOptions
{
    RealmHostname = "YOUR_REALM_HOSTNAME",
    UserToken = "YOUR_USER_TOKEN",
    UserAgent = "YourAppName/1.0"
};

// Client is all you need
var quickbaseClient = new QuickbaseClient(options);

// New app to create in your Quickbase realm
var newAppRequest = new NewAppRequest
{
    Name = "My App",
    Description = "My first app",
    AssignToken = true,
    SecurityProperties = new SecurityProperties
    {
        AllowClone = false,
        AllowExport = false,
        EnableAppTokens = false,
        HideFromPublic = false,
        MustBeRealmApproved = true,
        UseIPFilter = true
    },
    Variables = new List<Variable>
    {
        new Variable { Name = "Variable1", Value = "Value1" }
    }
};

AppDetailsResponse appDetailsResponse; // We return all the details of the new app
try
{
    appDetailsResponse = await quickbaseClient.Apps.CreateAppAsync(newAppRequest);
    Console.WriteLine($"App created with ID: {appDetailsResponse.Id}");
}
catch (QuickbaseException ex)
{
    Console.WriteLine($"Error creating app: {ex.Message}");
}

This code snippet creates a new app by sending a POST request to the QuickBase API. Replace "Your New App" with the desired name for your new app.

Note: Make sure to replace "YOUR_REALM_HOSTNAME" and "YOUR_USER_TOKEN" with your actual QuickBase realm hostname and user token.

⚙️ Features

Note: This library does not fully implement the API, so some features might be missing.

  • Creating, updating, getting, deleting Apps and getting App events and Copying an app.
  • Creating, updating, getting, deleting Tables and getting Table Relationships, and creating/updating Table Relationships.
  • Getting Reports for a Table, getting a Report and running a Report.
  • Creating, updating, getting, deleting fields and getting the usage for Field(s).
  • Running Formulas.
  • Insert/Updating Records, deleting Records and querying them for data.
  • Creating temporary tokens for a dbid and exchanging SSO tokens.
  • Cloning UserTokens, deactivating or deleting UserTokens.
  • Downloading and deleting Files.
  • Getting information about Users, denying/removing from groups, adding/removing members and or managers.
  • Getting Audit logs.
  • Platform Analytics.

❌ Error Handling

The QuickBaseSharp API wrapper throws a QuickbaseException when QuickBase API requests fail. You can catch these exceptions to handle errors gracefully in your application.

📝 Logging

This wrapper uses Serilog for logging various levels of information, including retries and circuit breaker states. Ensure that Serilog is configured in your application to capture and store logs as required.

🙋 Contribution

Contributions are welcome. Please feel free to submit pull requests or create issues for bugs and feature requests on the project's repository.

Prerequisites

  • .NET 7+
  • An active Quickbase account
  • A Quickbase realm hostname and a user token
    • Read more here from offical Quickbase RESTful API docs here

📜 License

Distributed under the MIT License. See LICENSE for more information.

Product Compatible and additional computed target framework versions.
.NET net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated

Not all endpoints are here, this is a very early build.