Skip to content

Commit

Permalink
[rust] Add Queue (server-side playlist) implementation
Browse files Browse the repository at this point in the history
- Add Queue struct
- Add API for adding tracks to the queue
- Refactors and collection navigation:
  - Switch to only symphonia backends (can reverse this)
  - Add Factori for tests
  - Rename playlist to queue
  - Refactor Collection into struct so that we can add methods
  - Refactor CollectionBuilder into it's own module
  - Define 'all_tracks()' and 'get_tracks_under()' methods on Collection
  - Add JSON errors for e.g. 404
  - Add once_cell and refactor build_test_app to fix Sled locking problems

**TODO:**

- Complete 'data' API:
- Build out category, artist, album, track GET endpoints
  - /categories
  - /categories/:category
  - /categories/:category/artists/:artist etc

Should we use IDs? hash of the path?

- RwLock instead of mutex (should be safe to read)
  • Loading branch information
werkshy committed May 26, 2024
1 parent 7daaf3c commit d6e80de
Show file tree
Hide file tree
Showing 21 changed files with 1,368 additions and 408 deletions.
4 changes: 3 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@

.PHONY: frontend go rs clean lint
.PHONY: all frontend go rs clean lint

all: go rs

go:
cd go && make pickup
Expand Down
8 changes: 5 additions & 3 deletions pickup.code-workspace
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,10 @@
"name": "frontend"
},
{
"path": "pickup-rust"
"path": "rs",
"name": "rust"
},
],
"settings": {}
}
"settings": {
}
}
Loading

0 comments on commit d6e80de

Please sign in to comment.