Добавлены права на воспроизведение.
This commit is contained in:
@@ -34,6 +34,7 @@ public class SharedPlaylistService
|
||||
CreatedAt = DateTime.UtcNow,
|
||||
UpdatedAt = DateTime.UtcNow,
|
||||
ShareToken = GenerateToken(),
|
||||
PlayPermission = dto.PlayPermission,
|
||||
ViewPermission = dto.ViewPermission,
|
||||
AddPermission = dto.AddPermission,
|
||||
RemovePermission = dto.RemovePermission
|
||||
@@ -63,6 +64,7 @@ public class SharedPlaylistService
|
||||
var entity = await _db.SharedPlaylists.FindAsync(playlistId);
|
||||
if (entity == null) return null;
|
||||
entity.ViewPermission = dto.ViewPermission;
|
||||
entity.PlayPermission = dto.PlayPermission;
|
||||
entity.AddPermission = dto.AddPermission;
|
||||
entity.RemovePermission = dto.RemovePermission;
|
||||
entity.UpdatedAt = DateTime.UtcNow;
|
||||
@@ -80,6 +82,18 @@ public class SharedPlaylistService
|
||||
return true;
|
||||
}
|
||||
|
||||
public async Task<bool> CanPlayAsync(SharedPlaylist playlist, Guid? currentUserId)
|
||||
{
|
||||
if (currentUserId == playlist.CreatorUserId) return true;
|
||||
return playlist.PlayPermission == ViewPermission.Everyone ||
|
||||
(playlist.PlayPermission == ViewPermission.AuthorizedOnly && currentUserId.HasValue);
|
||||
}
|
||||
|
||||
public async Task<bool> CanPlayEveryoneAsync(SharedPlaylist playlist)
|
||||
{
|
||||
return playlist.PlayPermission == ViewPermission.Everyone;
|
||||
}
|
||||
|
||||
public async Task<bool> CanViewAsync(SharedPlaylist playlist, Guid? currentUserId)
|
||||
{
|
||||
if (currentUserId == playlist.CreatorUserId) return true;
|
||||
|
||||
Reference in New Issue
Block a user