|
|
56db4cd2e1
|
feat(api): setup optional sentry error reporting
|
2020-11-17 22:26:08 +01:00 |
|
|
|
9896ea31ff
|
feat: introduce new report "Top Albums"
|
2020-11-15 02:43:23 +01:00 |
|
|
|
09858076bf
|
refactor(api): optimize imports
|
2020-11-15 02:37:01 +01:00 |
|
|
|
427964f255
|
refactor(api): remove unused constant
|
2020-11-15 02:36:44 +01:00 |
|
|
|
44f7e26270
|
feat: implement long-lived sessions
|
2020-11-09 18:34:23 +01:00 |
|
|
|
5fb8a99a56
|
refactor: fix import relative paths
|
2020-09-05 21:07:05 +02:00 |
|
|
|
fb9b83d440
|
fix(server): improve listens report response time
Do not unnecessarily join too many relations
|
2020-07-12 17:53:31 +02:00 |
|
|
|
67ea28aec7
|
refactor: use TimeOptions for Listens report
|
2020-07-12 17:53:31 +02:00 |
|
|
|
5bc76f23d0
|
refator: use TimeOptions for TopArtists report
|
2020-07-12 17:53:31 +02:00 |
|
|
|
ad0d197105
|
refactor(server): do not export listen repository to outside modules
|
2020-07-12 17:53:31 +02:00 |
|
|
|
11af91cadb
|
refactor(server): introduce scoped query builders for recurring filters
|
2020-07-12 17:53:31 +02:00 |
|
|
|
f56218602e
|
fix: remove debug logging
|
2020-07-11 19:48:18 +02:00 |
|
|
|
aecc82576a
|
fix: improve top-artists response time
By calculating the necessary counts in the database, we avoid
unncessary joins and data transmissions.
|
2020-07-11 19:35:36 +02:00 |
|
|
|
6fc10c40ca
|
feat: add top-artists report
|
2020-07-04 21:56:27 +02:00 |
|
|
|
b8918889a1
|
refactor(server): introduce TimePresets for reports
|
2020-06-01 21:19:50 +02:00 |
|
|
|
6f8fc0265a
|
fix(server): validate listens report query params
When using Omit<>, class-validator can not see the decorators of the base
type and skips validation.
|
2020-06-01 21:19:50 +02:00 |
|
|
|
8c5f495ce5
|
fix(api): frontend sessions expire after 15 minutes (now 1d)
|
2020-05-13 21:23:57 +02:00 |
|
|
|
3828b841c2
|
feat(api): add listen report endpoint
|
2020-05-09 19:24:17 +02:00 |
|
|
|
ddcdfff89b
|
feat(api): enable global ValidationPipeline
|
2020-05-09 19:24:17 +02:00 |
|
|
|
c9030937e2
|
feat(api): filter recent listens by timespan
|
2020-05-09 19:24:17 +02:00 |
|
|
|
75d3e2edbd
|
feat: add docs and polish
|
2020-05-03 21:10:31 +02:00 |
|
|
|
a27fcce03b
|
feat(api): add optional spotify user whitelist
|
2020-05-03 21:10:31 +02:00 |
|
|
|
a7c5c68540
|
feat(api): setup database migrations
|
2020-05-03 21:10:31 +02:00 |
|
|
|
d58cb46f3e
|
feat(api): listen on SIGTERM for graceful shutdown
|
2020-05-03 21:10:31 +02:00 |
|
|
|
202665a510
|
feat(api): add health-check endpoint
|
2020-05-03 21:10:31 +02:00 |
|
|
|
e78c6e312d
|
feat(api): validate configuration
|
2020-05-03 21:10:31 +02:00 |
|
|
|
ad98ce4e88
|
feat: serve frontend from api container in prod build
|
2020-05-03 21:10:31 +02:00 |
|
|
|
32dcd84964
|
feat(frontend): show page when login fails
|
2020-05-03 21:10:31 +02:00 |
|
|
|
cffddedc81
|
fix(api): redirect to frontend on spotify auth error
|
2020-05-03 21:10:31 +02:00 |
|
|
|
b6eef7f090
|
feat(api): setup logging
|
2020-05-03 21:10:31 +02:00 |
|
|
|
de6d057f80
|
feat(api): add getListens endpoint with pagination
|
2020-05-03 21:10:31 +02:00 |
|
|
|
d881a78757
|
chore(api): update dependencies
|
2020-05-03 21:10:31 +02:00 |
|
|
|
f2065d3f1f
|
feat(api): fetch listens from spotify
|
2020-05-03 21:10:31 +02:00 |
|
|
|
f253a66f86
|
feat(api): user authentication
|
2020-05-03 21:10:31 +02:00 |
|
|
|
f14eda16ac
|
feat(frontend): setup
|
2020-05-03 21:00:31 +02:00 |
|
|
|
db62d5d908
|
feat(api): setup nestjs
|
2020-05-03 21:00:20 +02:00 |
|