[PR #145] [MERGED] 94 create core routes for sharing and joining pools #294

Closed
opened 2026-02-27 19:17:39 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/EddieTheCubeHead/Stagnum/pull/145
Author: @EddieTheCubeHead
Created: 3/22/2024
Status: Merged
Merged: 3/25/2024
Merged by: @KeManen

Base: masterHead: 94-create-core-routes-for-sharing-and-joining-pools


📝 Commits (10+)

  • 4fc4168 94 Start rewrites needed for pool sharing
  • 5f114d7 94 Create many to one relationship from pool to joined user
  • 8da9a49 94 Fix add and delete content features after entity changes
  • 2968c7b 94 Fix pool getting and playback
  • b2c72c6 94 Fix the rest of the tests
  • f69a76d 94 Creating pool share code works
  • 5aa0ee1 94 A few quick tests for share code
  • e8c1489 94 Basic pool joining functionality
  • 70fb011 94 Ensure all users' music is played in a shared pool
  • 43df8b6 94 Add tests for edge cases

📊 Changes

25 files changed (+780 additions, -263 deletions)

View changed files

📝 server/requirements.txt (+2 -1)
server/src/alembic/versions/70e02357c5ff_big_changes_for_support_for_pool_.py (+64 -0)
📝 server/src/api/auth/dependencies.py (+21 -28)
📝 server/src/api/common/dependencies.py (+43 -26)
📝 server/src/api/common/helpers.py (+21 -0)
📝 server/src/api/common/models.py (+12 -0)
📝 server/src/api/pool/dependencies.py (+137 -67)
📝 server/src/api/pool/helpers.py (+17 -12)
📝 server/src/api/pool/models.py (+9 -1)
📝 server/src/api/pool/routes.py (+67 -31)
📝 server/src/api/pool/tasks.py (+5 -3)
📝 server/src/api/search/dependencies.py (+14 -19)
📝 server/src/api/search/routes.py (+16 -16)
📝 server/src/database/entities.py (+38 -0)
📝 server/test/auth_features/auth_login_callback_features.py (+3 -3)
📝 server/test/conftest.py (+26 -9)
📝 server/test/pool_features/add_content_features.py (+5 -3)
📝 server/test/pool_features/conftest.py (+43 -1)
📝 server/test/pool_features/create_pool_features.py (+17 -12)
📝 server/test/pool_features/delete_content_features.py (+5 -3)

...and 5 more files

📄 Description

Major changes:

  • Output model for pools changed
    • Now consists of a list of UserPool models. These are the same model as the old pool model, with added user data
    • Has share_code property in the root. Null if pool is not shared.
  • Big database changes. Partly to facilitate this update, partly to future-proof the design
    • Login/auth handling is now done in database, instead of local state
      • Added the UserSession table to track this data
    • PoolMember now has the associated tables Pool (aggregate root), PoolShareData and PoolJoinedUser

Additions:

  • Routes for sharing and joining a pool
  • Websocket for listening to pool updates

Everything tested, tests updated to follow new changes


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/EddieTheCubeHead/Stagnum/pull/145 **Author:** [@EddieTheCubeHead](https://github.com/EddieTheCubeHead) **Created:** 3/22/2024 **Status:** ✅ Merged **Merged:** 3/25/2024 **Merged by:** [@KeManen](https://github.com/KeManen) **Base:** `master` ← **Head:** `94-create-core-routes-for-sharing-and-joining-pools` --- ### 📝 Commits (10+) - [`4fc4168`](https://github.com/EddieTheCubeHead/Stagnum/commit/4fc416856e9452188657214c4ce11f5c4bf9330d) 94 Start rewrites needed for pool sharing - [`5f114d7`](https://github.com/EddieTheCubeHead/Stagnum/commit/5f114d7d60cd10c2da70a39c171bb74f84320282) 94 Create many to one relationship from pool to joined user - [`8da9a49`](https://github.com/EddieTheCubeHead/Stagnum/commit/8da9a49f70d7f7e3caa3c4a5b3d65fa1dff36b57) 94 Fix add and delete content features after entity changes - [`2968c7b`](https://github.com/EddieTheCubeHead/Stagnum/commit/2968c7ba5585263e53c78ad341c2d79815063171) 94 Fix pool getting and playback - [`b2c72c6`](https://github.com/EddieTheCubeHead/Stagnum/commit/b2c72c6d0adba1c6412afdb8ac222448973cc5e6) 94 Fix the rest of the tests - [`f69a76d`](https://github.com/EddieTheCubeHead/Stagnum/commit/f69a76d53ced9660a4572ddd10236640f4c3327e) 94 Creating pool share code works - [`5aa0ee1`](https://github.com/EddieTheCubeHead/Stagnum/commit/5aa0ee1e26be44af88fbdb5fcc44ed042d4675e8) 94 A few quick tests for share code - [`e8c1489`](https://github.com/EddieTheCubeHead/Stagnum/commit/e8c14893837a6bbb49c312d1fcfde380eb5582a3) 94 Basic pool joining functionality - [`70fb011`](https://github.com/EddieTheCubeHead/Stagnum/commit/70fb011c44a7ae1702aa8d3a53c8fe4d004dab0a) 94 Ensure all users' music is played in a shared pool - [`43df8b6`](https://github.com/EddieTheCubeHead/Stagnum/commit/43df8b6d082af4012072efe2fe1b42092cd7e125) 94 Add tests for edge cases ### 📊 Changes **25 files changed** (+780 additions, -263 deletions) <details> <summary>View changed files</summary> 📝 `server/requirements.txt` (+2 -1) ➕ `server/src/alembic/versions/70e02357c5ff_big_changes_for_support_for_pool_.py` (+64 -0) 📝 `server/src/api/auth/dependencies.py` (+21 -28) 📝 `server/src/api/common/dependencies.py` (+43 -26) 📝 `server/src/api/common/helpers.py` (+21 -0) 📝 `server/src/api/common/models.py` (+12 -0) 📝 `server/src/api/pool/dependencies.py` (+137 -67) 📝 `server/src/api/pool/helpers.py` (+17 -12) 📝 `server/src/api/pool/models.py` (+9 -1) 📝 `server/src/api/pool/routes.py` (+67 -31) 📝 `server/src/api/pool/tasks.py` (+5 -3) 📝 `server/src/api/search/dependencies.py` (+14 -19) 📝 `server/src/api/search/routes.py` (+16 -16) 📝 `server/src/database/entities.py` (+38 -0) 📝 `server/test/auth_features/auth_login_callback_features.py` (+3 -3) 📝 `server/test/conftest.py` (+26 -9) 📝 `server/test/pool_features/add_content_features.py` (+5 -3) 📝 `server/test/pool_features/conftest.py` (+43 -1) 📝 `server/test/pool_features/create_pool_features.py` (+17 -12) 📝 `server/test/pool_features/delete_content_features.py` (+5 -3) _...and 5 more files_ </details> ### 📄 Description Major changes: - Output model for pools changed - Now consists of a list of UserPool models. These are the same model as the old pool model, with added user data - Has share_code property in the root. Null if pool is not shared. - Big database changes. Partly to facilitate this update, partly to future-proof the design - Login/auth handling is now done in database, instead of local state - Added the UserSession table to track this data - PoolMember now has the associated tables Pool (aggregate root), PoolShareData and PoolJoinedUser Additions: - Routes for sharing and joining a pool - Websocket for listening to pool updates Everything tested, tests updated to follow new changes --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-27 19:17:39 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/Stagnum#294
No description provided.