public async Task <IActionResult> CreateFolder( string path, string name, [FromServices] IAuthorizationService authorizationService) { if (!await authorizationService.AuthorizeAsync(User, Permissions.ManageOwnMedia)) { return(Unauthorized()); } if (string.IsNullOrEmpty(path)) { path = ""; } var mediaFolder = await _mediaFileStore.GetFolderAsync(path); if (mediaFolder == null || !mediaFolder.IsDirectory) { return(StatusCode(StatusCodes.Status404NotFound, "Cannot find path")); } var newPath = _mediaFileStore.Combine(path, name); mediaFolder = await _mediaFileStore.GetFolderAsync(newPath); if (mediaFolder != null) { return(StatusCode(StatusCodes.Status403Forbidden, "Folder already exists")); } await _mediaFileStore.TryCreateFolderAsync(newPath); mediaFolder = await _mediaFileStore.GetFolderAsync(newPath); return(Json(mediaFolder)); }