MatthiWare/UpdateLib

Dropbox API integration

Matthiee opened this issue · 0 comments

The original version/idea of this updater used the Dropbox public feature as a way of storing the updates.
As of 15/03/2017 Dropbox will remove this feature [see https://www.dropbox.com/help/16].

We can still use Dropbox if we are going to implement the Dropbox V2 API.

As far as I know we have 2 options:

Use the .Net Dropbox API Library

    pros:
    - will be maintained for us
    - .NET Standard 2.0 support
    
    cons:
    - Extra library in output
    - Overhead (we won't be using most of the features)

Write our own API implementation/wrapper around the Dropbox HTTP API

    pros:
    - Less overhead (we just implement the features we need)
    - No extra library in the output
    - We can use lower .Net version to support more systems
    
    cons:
    - Will take more time
    - If Dropbox upgrades changes his API we need to change our wrapper/impl as well

Implementation details

We do not want to limit ourself to Dropbox so we should not depend on it. We should have an abstract pattern that would allow us to use any provider.

  • New repository needed UpdateLib.Extensions.Dropbox
  • Dropbox registration with extension method UpdateLib.UseDropbox(Func<IOptions<DropboxOptions>> options)