JournalBook
JournalBook copied to clipboard
[WIP] Dropbox import/export
This PR previews the intended changes to enable multiple storage providers discussed in #42
Currently it includes just Dropbox as a storage provider, with Google Drive and Github on the way. To preview a working version the corresponding environment variables for dropbox OAuth need to be set in the deployment environment.
Quick overview:
- Created a dedicated storage class with a default adapter (file) that is extendable with any third party storage provider that implements the adapter interface. A Dropbox adapter is implemented to showcase the functionality
- Refactored import/exports functions of the settings page component to the DB class to be used generically by storage adapters
- Added generic "auth" and "auth/callback" routes for all future storage providers to work
Feedback always welcome 😄