Add folder sharing
This commit is contained in:
@@ -9,10 +9,12 @@ namespace Media.JoshHeaps.Net.Api;
|
||||
public class MediaApi : ControllerBase
|
||||
{
|
||||
private readonly MediaService _mediaService;
|
||||
private readonly FolderService _folderService;
|
||||
|
||||
public MediaApi(MediaService mediaService)
|
||||
public MediaApi(MediaService mediaService, FolderService folderService)
|
||||
{
|
||||
_mediaService = mediaService;
|
||||
_folderService = folderService;
|
||||
}
|
||||
|
||||
[HttpGet("load")]
|
||||
@@ -25,7 +27,7 @@ public class MediaApi : ControllerBase
|
||||
return Unauthorized();
|
||||
}
|
||||
|
||||
var media = await _mediaService.GetUserMediaAsync(userId.Value, offset, limit, folderId);
|
||||
var media = await _mediaService.GetUserMediaAsync(userId.Value, offset, limit, folderId, userId.Value);
|
||||
|
||||
return Ok(media);
|
||||
}
|
||||
@@ -68,6 +70,16 @@ public class MediaApi : ControllerBase
|
||||
return Unauthorized(new { error = "Not authenticated" });
|
||||
}
|
||||
|
||||
// Check folder ownership if uploading to a folder (can't upload to shared folders)
|
||||
if (folderId.HasValue)
|
||||
{
|
||||
var ownerId = await _folderService.GetFolderOwnerIdAsync(folderId.Value);
|
||||
if (ownerId != userId.Value)
|
||||
{
|
||||
return Forbid("Cannot upload to shared folders");
|
||||
}
|
||||
}
|
||||
|
||||
if (file == null || file.Length == 0)
|
||||
{
|
||||
return BadRequest(new { error = "No file provided" });
|
||||
|
||||
Reference in New Issue
Block a user