Commit graph

42 commits

Author SHA1 Message Date
Philipp Wolfer
9c363cc06d
Use config.ServiceConfig across API 2023-12-07 23:55:20 +01:00
Philipp Wolfer
091b3c2f49
Prevent adding duplicate services 2023-12-07 23:09:16 +01:00
Philipp Wolfer
8743a9d81c
Moved prompt helpers into cli package 2023-12-07 22:32:08 +01:00
Philipp Wolfer
c9fa21be73
Dynamic per-backend configuration options 2023-12-07 22:20:27 +01:00
Philipp Wolfer
ae5f1c5f26
Basic TUI to add new service configuration 2023-12-07 22:20:27 +01:00
Philipp Wolfer
ce5cdceb1f
Initialize config if it does not exist, set database relative to config dir 2023-12-07 22:20:27 +01:00
Philipp Wolfer
a9e07915ce
Transfer command refactoring
Make transfer command processing even more modular
2023-12-05 08:24:42 +01:00
Philipp Wolfer
7c85ba05ab
refactor: generic common cmd processing 2023-12-04 08:08:30 +01:00
Philipp Wolfer
a87686af57
Reduced code redundancy in import processing 2023-12-03 17:10:50 +01:00
Philipp Wolfer
b169dd2cc4
auth: generate oauth2 state randomly 2023-11-28 18:13:40 +01:00
Philipp Wolfer
5b8f4788f9
lastfm: authentication 2023-11-27 14:47:46 +01:00
Philipp Wolfer
46e6a667c8
Added constants for app name and version, use custom user-agent 2023-11-24 08:58:31 +01:00
Philipp Wolfer
857661ebf9
Restructured code, moved all modules into internal
For now all modules are considered internal. This might change later
2023-11-24 01:24:54 +01:00
Philipp Wolfer
fb285930c0
Avoid double closing of export progress channel 2023-11-23 22:45:50 +01:00
Philipp Wolfer
f447a259d4
OAuth2Strategy interface to abstract the details of the login flow
This allows implementing clients the deviate from the standard OAuth2 flow
2023-11-23 14:41:31 +01:00
Philipp Wolfer
e29d8e2a63
Custom OAuth2 TokenSource to persist refreshed tokens in database 2023-11-22 17:24:30 +01:00
Philipp Wolfer
d0739aad0f
Use config from OAuth2Authenticator for auth command 2023-11-22 08:41:18 +01:00
Philipp Wolfer
cf3747bde2
Fixed oauth token refresh for source 2023-11-22 08:21:43 +01:00
Philipp Wolfer
117014a977
Change project license to GPLv3
Individual files, mainly the models and the HTTP clients stay under MIT
2023-11-22 08:05:23 +01:00
Philipp Wolfer
1af484e0f6
Fixed storing last import timestamp 2023-11-21 18:14:11 +01:00
Philipp Wolfer
fa7732c538
Autenticate OAuth backends 2023-11-21 17:51:13 +01:00
Philipp Wolfer
94704f9cd0
WIP: Authenticate 2023-11-21 16:43:40 +01:00
Philipp Wolfer
3d3685d8bc
Initial implementation for Spotify listens export 2023-11-21 16:42:59 +01:00
Philipp Wolfer
74f2a3cef7
Use port 2369 as standard port for OAuth callbacks 2023-11-21 08:52:25 +01:00
Philipp Wolfer
14d944c7ad
Basic "scotty auth" implementation 2023-11-19 23:56:31 +01:00
Philipp Wolfer
8b227cb514
Better naming, distingiush between "service" and "backend" 2023-11-19 22:54:42 +01:00
Philipp Wolfer
6e330daf06
Implemented progressbar for export/import 2023-11-19 13:56:06 +01:00
Philipp Wolfer
298697dcfc
Run exporter in goroutine
Use channel to pass data from exporter to importer
2023-11-17 07:41:46 +01:00
Philipp Wolfer
bae81d9b08
If import fails report the last timestamp 2023-11-15 09:20:52 +01:00
Philipp Wolfer
36f8f3e311
Use nested map for service configs 2023-11-15 07:35:28 +01:00
Philipp Wolfer
c8146355c1
Database support to store the last processed timestamp 2023-11-14 17:19:01 +01:00
Philipp Wolfer
503449c43d
Removed unused CLI flag added by default implementation 2023-11-14 15:14:54 +01:00
Philipp Wolfer
27685d617a
Implemented "beam --timestamp {n}" 2023-11-13 23:55:47 +01:00
Philipp Wolfer
aa453e4dc2
ListenBrainz: Fix love import and rate limit check 2023-11-13 11:42:09 +01:00
Philipp Wolfer
ead323eaed
Import result can report total and processed items 2023-11-12 18:41:29 +01:00
Philipp Wolfer
516de905bd
Renamed interfaces ListenImport|Export to ListensImport|Export 2023-11-12 18:40:00 +01:00
Philipp Wolfer
48c8843f91
Moved specifc backends into separate packages 2023-11-12 01:14:53 +01:00
Philipp Wolfer
dfaf21b234
Implemented beam loves command 2023-11-12 00:54:51 +01:00
Philipp Wolfer
f9ac0328a7
Implement "backends" command 2023-11-10 08:43:17 +01:00
Philipp Wolfer
49d06b7f52
Various output tweaks 2023-11-09 17:31:48 +01:00
Philipp Wolfer
8661075975
Basic backend structure and listen transfer implementation 2023-11-09 16:40:46 +01:00
Philipp Wolfer
80ef3f23c0
Basic command structure 2023-11-09 10:02:48 +01:00