Implemented bucket delete and improved avatar update
This commit is contained in:
@@ -63,4 +63,22 @@ public class BucketService
|
|||||||
else
|
else
|
||||||
throw new FileNotFoundException();
|
throw new FileNotFoundException();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Task Delete(string bucket, string file, bool ignoreNotFound = false)
|
||||||
|
{
|
||||||
|
var filePath = PathBuilder.File(BasePath, bucket, file);
|
||||||
|
|
||||||
|
if (File.Exists(filePath))
|
||||||
|
{
|
||||||
|
File.Delete(filePath);
|
||||||
|
return Task.CompletedTask;
|
||||||
|
}
|
||||||
|
|
||||||
|
// This section will only be reached if the file does not exist
|
||||||
|
|
||||||
|
if (!ignoreNotFound)
|
||||||
|
throw new FileNotFoundException();
|
||||||
|
|
||||||
|
return Task.CompletedTask;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -16,17 +16,25 @@ public class UserDetailsService
|
|||||||
|
|
||||||
public async Task UpdateAvatar(User user, Stream stream, string fileName)
|
public async Task UpdateAvatar(User user, Stream stream, string fileName)
|
||||||
{
|
{
|
||||||
|
if (user.Avatar != null)
|
||||||
|
{
|
||||||
|
await BucketService.Delete("avatars", user.Avatar, true);
|
||||||
|
}
|
||||||
|
|
||||||
var file = await BucketService.Store("avatars", stream, fileName);
|
var file = await BucketService.Store("avatars", stream, fileName);
|
||||||
|
|
||||||
user.Avatar = file;
|
user.Avatar = file;
|
||||||
UserRepository.Update(user);
|
UserRepository.Update(user);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task UpdateAvatar(User user) // Overload to reset avatar
|
public async Task UpdateAvatar(User user) // Overload to reset avatar
|
||||||
{
|
{
|
||||||
|
if (user.Avatar != null)
|
||||||
|
{
|
||||||
|
await BucketService.Delete("avatars", user.Avatar, true);
|
||||||
|
}
|
||||||
|
|
||||||
user.Avatar = null;
|
user.Avatar = null;
|
||||||
UserRepository.Update(user);
|
UserRepository.Update(user);
|
||||||
|
|
||||||
return Task.CompletedTask;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user