|
| 1 | +## Features |
| 2 | + |
| 3 | +- Added Basic HTTP Authentication |
| 4 | + - all clients need to 'register' themselves with the server by making a `POST` request to the `/clients` endpoint |
| 5 | + - this returns a client ID - API key pair that must be sent in all subsequent requests in the `X-Credentials` header encoded as follows: `base64(<client id>:<api key>)` |
| 6 | + - provider-specific credentials like access tokens can be sent in the `X-Provider-Credentials` header |
| 7 | + - API keys can be replaced by making a `POST` request with the current API key to the `/clients/:clientId` endpoint |
| 8 | + - this returns the current client ID and a new API key |
| 9 | + - The client can be deleted by making a `DELETE` request to `/clients/:clientId` endpoint |
| 10 | + |
1 | 11 | ## Changes
|
2 | 12 |
|
3 | 13 | - Typescript rewrite
|
4 |
| -- Authentication added (client ID - API key pair) |
5 |
| -- API changes: see the docs/ folder |
| 14 | +- Provider ID (`googledrive`, `gmail` or `onedrive`) is now to be specified as a query parameter (`providerId`) |
| 15 | +- Don't lazy load providers, load them once and use them as required |
| 16 | +- Use ISO timestamp strings instead of epoch timestamps |
| 17 | +- Add helmet middleware for basic security |
| 18 | +- Add a logger |
| 19 | + - Logs are stored locally ONLY, in the config directory |
| 20 | + - Windows: %APPDATA%\Dabbu Files API Server\logs\files-api-server.log |
| 21 | + - MacOS: /Users/<username>/Library/Dabbu Files API Server/logs/files-api-server.log |
| 22 | + - Linux: ($HOME OR $XDG_CONFIG_HOME)/.config/Dabbu Files API Server/logs/files-api-server.log |
| 23 | + - These logs contain sensitive information, please be careful to remove sensitive information while posting them publicly. Work is underway to mask this sensitive information. |
| 24 | + |
| 25 | +## Fixes |
| 26 | + |
| 27 | +- Improved error messages are returned |
| 28 | +- Google Drive provider now returns proper export links for Google Workspace files |
| 29 | +- One Drive provider returns an error if attempting to download OneNote files. A parser for OneNote files is in progress |
| 30 | + |
| 31 | +## Docs |
| 32 | + |
| 33 | +- Add API docs and provider-specific docs |
| 34 | +- Add guide for running server on your own |
| 35 | +- WIP: getting started guide for using the APIs in your own client |
| 36 | + |
| 37 | +## Builds/CI |
| 38 | + |
| 39 | +- Automatic releases only from the develop branch |
| 40 | +- Add bash scripts for all jobs |
| 41 | + |
| 42 | +## Tests |
| 43 | + |
| 44 | +- Use jest for tests |
| 45 | + - Add unit tests for all providers and routes. |
| 46 | + - Tests for controllers and utils are not yet implemented, PRs welcome. |
| 47 | + |
| 48 | +## Style/Format |
| 49 | + |
| 50 | +- Add ts files to .editorconfig |
| 51 | +- Use ESLint to lint typescript files |
0 commit comments