mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-03-02 00:12:24 +00:00
Return SyncPlay group info after creation, add GET group endpoint (#13935)
This commit is contained in:
@@ -100,7 +100,7 @@ namespace Emby.Server.Implementations.SyncPlay
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public void NewGroup(SessionInfo session, NewGroupRequest request, CancellationToken cancellationToken)
|
||||
public GroupInfoDto NewGroup(SessionInfo session, NewGroupRequest request, CancellationToken cancellationToken)
|
||||
{
|
||||
if (session is null)
|
||||
{
|
||||
@@ -132,6 +132,7 @@ namespace Emby.Server.Implementations.SyncPlay
|
||||
|
||||
UpdateSessionsCounter(session.UserId, 1);
|
||||
group.CreateGroup(session, request, cancellationToken);
|
||||
return group.GetInfo();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -288,6 +289,31 @@ namespace Emby.Server.Implementations.SyncPlay
|
||||
return list;
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public GroupInfoDto GetGroup(SessionInfo session, Guid groupId)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(session);
|
||||
|
||||
var user = _userManager.GetUserById(session.UserId);
|
||||
|
||||
lock (_groupsLock)
|
||||
{
|
||||
foreach (var (_, group) in _groups)
|
||||
{
|
||||
// Locking required as group is not thread-safe.
|
||||
lock (group)
|
||||
{
|
||||
if (group.GroupId.Equals(groupId) && group.HasAccessToPlayQueue(user))
|
||||
{
|
||||
return group.GetInfo();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public void HandleRequest(SessionInfo session, IGroupPlaybackRequest request, CancellationToken cancellationToken)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user