Добавлены права на воспроизведение.

This commit is contained in:
FrigaT
2026-04-14 13:11:34 +03:00
parent 4b3036364b
commit 164cf455fd
16 changed files with 724 additions and 136 deletions

View File

@@ -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;