QuiverAPI 1.0.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 QuiverAPI --version 1.0.0
NuGet\Install-Package QuiverAPI -Version 1.0.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="QuiverAPI" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add QuiverAPI --version 1.0.0
#r "nuget: QuiverAPI, 1.0.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.
// Install QuiverAPI as a Cake Addin
#addin nuget:?package=QuiverAPI&version=1.0.0

// Install QuiverAPI as a Cake Tool
#tool nuget:?package=QuiverAPI&version=1.0.0

QuiverAPI

Introduction

The QuiverAPI.dll can be used in your own C# application to access some of the functionality that you also have through the Web interface of Quiver. At the base of it all is, of course, the requirement that you have an account with Quiver. Without it the API calls will simply not work.

How it works

In your C# application you add QuiverAPI.dll to your references. You then create an instance of the QAInstance class. You then use the methods of this class to access Quiver functionality:

<div style="width: 570px; line-height: .8em; margin-left:2em; background-color:#ddd"> <span style="font-family:Consolas; font-size: 10pt"> using QuiverAPI;<br> ..<br> public QAInstance myQuiver;<br> myQuiver = new QAInstance();<br> ..<br>
QAResult result = myQuiver.LogIn("YourUserID", "YourUserPW");<br> .. </span> </div> <br>

Methods

All methods return an object QAResult (see below). It contains information about the call itself and any resultvalue.

CreateFolder

<div style="width: 570px; line-height: .8em; margin-left:2em; background-color:#ddd"> <span style="font-family:Consolas; font-size: 10pt"> QAItem parentFolder = <i><your code here></i>;<br> string newFolder = "NewFolder";<br> QAResult result = myQuiver.CreateFolder(parentFolder, newFolder);<br> if (result.IsOk)<br>
...<br> </span> </div> <br>

Creates a new folder inside a specified folder.

DecryptLocalFile

DecryptServerFile

DeleteFile

DeleteFolder

DownloadFile

DownloadFiles

EncryptLocalFile

EncryptServerFile

GetFilesFoldersList

GetSharedItemsList (not yet implemented)

GetUserData

GetUserSetting

Login

RenameFile

RenameFolder

RevokeSharedItem (not yet implemented)

SetUserSetting

ShareItem (not yet implemented)

SuspendSharedItem (not yet implemented)

UploadFile

Classes, enumerations

QAInstance

<div style="width: 570px; line-height: .8em; margin-left:2em; background-color:#ddd"> <span style="font-family:Consolas; font-size: 10pt"> public class QAInstance<br> {<br>   public QAInstance()<br>   public QAResult GetUserSetting(QAUserSetting setting)<br>   public QAResult SetUserSetting(QAUserSetting setting, object settingObject)<br>   public QAResult LogIn(string UID, string PW)<br>   public QAResult GetUserData()<br>   public QAResult GetFilesFoldersList()<br>   public QAResult UploadFile(string localPathFile, string remotePath)<br>   public QAResult DownloadFile(QAItem item, string destPathFile)<br>   public QAResult DownloadFiles(List<QAItems> items, string localPath)<br>   public QAResult DeleteFile(QAItem item)<br>   public QAResult RenameFile(QAItem item, string newName)<br>   public QAResult EncryptLocalFile(string localPathFile)<br>   public QAResult DecryptLocalFile(string localPathFile)<br>   public QAResult EncryptServerFile(QAItem item)<br>   public QAResult DecryptServerFile(QAItem item)<br>   public QAResult CreateFolder(QAItem parentFolder, string newFolderName)<br>   public QAResult DeleteFolder(QAItem item, bool withContent)<br>   public QAResult RenameFolder(QAItem item, string newName)<br>   public QAResult GetSharedItemsList()<br>   public QAResult ShareItem(QAItem item, string recipient, string note)<br>   public QAResult SuspendSharedItem(QAItem item)<br>   public QAResult RevokeSharedItem(QAItem item)<br> }<br> </span> </div> <br>

QAItem

<div style="width: 570px; line-height: .8em; margin-left:2em; background-color:#ddd"> <span style="font-family:Consolas; font-size: 10pt"> public class QAItem<br> {<br>   int ID;<br>   int ParentFolderID;<br>   bool IsFolder;<br>   string FilePath;<br>   string FileName;<br>   DateTime Created;<br>   DateTime Modified;<br>   DateTime LastAccessed;<br>   long Size;<br>   bool IsQuivered;<br>   bool IsQuiverable;<br> }<br> </span> </div> <br>

This class represents an item of the user in his account in the quivercloud. It is a file or a folder:

  • ID : For internal use,
  • ParentFolderID : Parent-child relation, for internal use,
  • IsFolder : true/false,
  • FilePath : Concatenated path of foldernames, high->low, starting at the user's root
  • FileName : File name, without path. Empty string for a folder
  • Created : DateTime,
  • Modified : DateTime,
  • LastAccessed : DateTime,
  • Size : In bytes,
  • IsQuivered : Only for files. True if quivered (encrypted) on the server
  • IsQuiverable : If the item can be quivered (encrypted) on the server

QAResult

<div style="width: 570px; line-height: .8em; margin-left:2em; background-color:#ddd"> <span style="font-family:Consolas; font-size: 10pt"> public class QAResult<br> {<br>   bool IsOk;<br>   string Message;<br>   Exception Exception;<br>   object Result;<br> }<br> </span> </div> <br>

Nearly all methods return their output in a QAResult object:

  • IsOk : Gives a quick indication if everything went as planned,
  • Message : Can be empty or, if expected, some extra information (like the exception message when something went wrong
  • Exception : If an exception occurred the complete exception. Otherwise null
  • Result : The output of the method. You will have to cast it to the expected output.

QAUser

<div style="width: 570px; line-height: .8em; margin-left:2em; background-color:#ddd"> <span style="font-family:Consolas; font-size: 10pt"> public class QAUser<br> {<br>   string UID;<br>   string PW;<br>   string FirstName;<br>   string LastName;<br>   string FullName;<br>   string Email;<br>   int AllottedSpace;<br>   int UsedSpace;<br>   int UnitOfSpace;<br>   DateTime UserSince;<br>   int SharesCount;<br>   int SharesLimit;<br> }<br> </span> </div> <br>

The fields speak for themselves.

QAUserSetting

<div style="width: 570px; line-height: .8em; margin-left:2em; background-color:#ddd"> <span style="font-family:Consolas; font-size: 10pt"> public enum QAUserSetting<br> {<br>   WaitForHost<br> }<br> </span> </div> <br>

Settings the user can control. For now these are:

  • WaitForHost : The number of seconds to allow an API function, that communicates with the Quiver host, to wait for a response. When the number of seconds is exceeded the function aborts. See method 'SetUserSetting'.
There are no supported framework assets in this 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