|
|
1936ced395
|
feat: add update_meta to SongRepositoryPort and PATCH /songs/{id}
|
2026-04-08 03:39:29 +02:00 |
|
|
|
6a3cdbe4c3
|
fix(persistence): extract row_to_summary helper, escape LIKE wildcards
|
2026-04-08 03:38:12 +02:00 |
|
|
|
377fe957bc
|
feat: add SongSearchService and GET /songs?q= search endpoint
|
2026-04-08 03:35:33 +02:00 |
|
|
|
8c0824c67c
|
feat(api): add song CRUD routes, wire SongService into AppState
|
2026-04-08 03:07:28 +02:00 |
|
|
|
0b47282547
|
feat(common): add SongService application layer
|
2026-04-08 03:05:50 +02:00 |
|
|
|
37a1e386e4
|
feat(persistence): add SqliteSongRepository and SqliteRepositoryFactory
|
2026-04-08 03:05:16 +02:00 |
|
|
|
8f9886c9a9
|
feat(domain): add StoredSong, SongSummary, SongRepositoryPort
|
2026-04-08 03:03:58 +02:00 |
|
|
|
3bc7ad4c7c
|
fix: support raw HTML upload via FileReader, fix file import flow
|
2026-04-08 02:43:27 +02:00 |
|
|
|
2483ed5a08
|
feat(api): add CORS middleware for browser fetch
|
2026-04-08 02:23:37 +02:00 |
|
|
|
0444d11fb4
|
feat(api): wire POST /tabs/parse endpoint with fetcher and parser
|
2026-04-08 01:56:06 +02:00 |
|
|
|
fe7d2dbceb
|
fix(ug-parser): address clippy warnings in parser
|
2026-04-08 01:54:43 +02:00 |
|
|
|
776389af49
|
feat(ug-parser): parse sections, lyrics, and chord positions from UG HTML
|
2026-04-08 01:47:17 +02:00 |
|
|
|
1a0458653a
|
feat(ug-parser): implement UgHtmlParser metadata extraction
|
2026-04-08 01:44:06 +02:00 |
|
|
|
36d38b9a78
|
fix(ug-parser): impl Default for UgTabFetcher
|
2026-04-08 01:42:35 +02:00 |
|
|
|
6416f5e9ab
|
feat(ug-parser): implement UgTabFetcher for file and URL sources
|
2026-04-08 01:41:29 +02:00 |
|
|
|
6435d92f8c
|
feat: scaffold ug-parser infrastructure crate
|
2026-04-08 01:40:26 +02:00 |
|
|
|
a5897a29d8
|
feat(domain): add ChordTransposer with semitone and key transposition
|
2026-04-08 01:37:41 +02:00 |
|
|
|
2f703fbb2a
|
feat(domain): add TabFetcherPort and TabParserPort traits
|
2026-04-08 01:35:55 +02:00 |
|
|
|
d004698923
|
feat(domain): add Song, Section, LyricLine, ChordPosition types
|
2026-04-08 01:34:26 +02:00 |
|
|
|
98370df27a
|
fix(domain): rename from_str to parse on Note and Chord
|
2026-04-08 01:33:19 +02:00 |
|
|
|
422afbb3f2
|
feat(domain): add Chord struct with parsing and display
|
2026-04-08 01:31:17 +02:00 |
|
|
|
ac1f1bd3da
|
fix(domain): remove dead use_sharps param, handle Cb enharmonic
|
2026-04-08 01:29:20 +02:00 |
|
|
|
a3ae4429f5
|
feat(domain): add Note enum with semitone math and display
|
2026-04-08 01:26:17 +02:00 |
|