profile picture and basic info editors added
This commit is contained in:
@@ -142,6 +142,48 @@ public class AccountsControllerService(
|
||||
AccountProfilePictureResponse picture = new AccountProfilePictureResponse(account.ProfilePicture);
|
||||
return RequestResult.Ok(picture);
|
||||
}
|
||||
|
||||
public async Task<RequestResult> PutAccountProfilePicture(AccountProfilePictureRequest data)
|
||||
{
|
||||
Account account = await database.Accounts.FirstAsync(x => x.Id == userService.GetUserId());
|
||||
Database.Model.Account.AccountProfilePicture? picture = account.ProfilePicture;
|
||||
|
||||
if (picture is null)
|
||||
{
|
||||
picture = data.CreateMediaPosterImage();
|
||||
await database.AccountProfilePictures.AddAsync(picture);
|
||||
await database.SaveChangesAsync();
|
||||
|
||||
account.ProfilePictureId = picture.Id;
|
||||
}
|
||||
else
|
||||
{
|
||||
data.UpdateMediaPosterImage(picture);
|
||||
}
|
||||
|
||||
await database.SaveChangesAsync();
|
||||
|
||||
AccountProfilePictureResponse returnData = new AccountProfilePictureResponse(picture);
|
||||
return RequestResult.Ok(returnData);
|
||||
}
|
||||
|
||||
public async Task<RequestResult> DeleteAccountProfilePicture()
|
||||
{
|
||||
Account account = await database.Accounts.FirstAsync(x => x.Id == userService.GetUserId());
|
||||
Database.Model.Account.AccountProfilePicture? picture = account.ProfilePicture;
|
||||
|
||||
if (picture is not null)
|
||||
{
|
||||
account.ProfilePictureId = null;
|
||||
await database.SaveChangesAsync();
|
||||
|
||||
database.AccountProfilePictures.Attach(picture);
|
||||
database.AccountProfilePictures.Remove(picture);
|
||||
await database.SaveChangesAsync();
|
||||
}
|
||||
|
||||
return RequestResult.NoContent();
|
||||
}
|
||||
|
||||
public async Task<RequestResult> GetAccountInfo(long id)
|
||||
{
|
||||
@@ -151,11 +193,11 @@ public class AccountsControllerService(
|
||||
return RequestResult.NotFound();
|
||||
}
|
||||
|
||||
AccountResponse response = new AccountResponse(account);
|
||||
return RequestResult.Ok(response);
|
||||
AccountResponse profileInfoResponse = new AccountResponse(account);
|
||||
return RequestResult.Ok(profileInfoResponse);
|
||||
}
|
||||
|
||||
public async Task<RequestResult> PutAccountInfo(AccountRequest data)
|
||||
public async Task<RequestResult> PutAccountProfileInfo(AccountProfileInfoRequest data)
|
||||
{
|
||||
Account? account = await database.Accounts.FirstOrDefaultAsync(x => x.Id == userService.GetUserId());
|
||||
if (account is null)
|
||||
@@ -164,6 +206,8 @@ public class AccountsControllerService(
|
||||
}
|
||||
|
||||
data.UpdateAccount(account);
|
||||
await database.SaveChangesAsync();
|
||||
|
||||
return RequestResult.Ok();
|
||||
}
|
||||
|
||||
|
||||
@@ -14,8 +14,10 @@ public interface IAccountsControllerService
|
||||
Task<RequestResult> AuthenticateRefresh();
|
||||
Task<RequestResult> Logout();
|
||||
Task<RequestResult> GetAccountProfilePicture(long id);
|
||||
Task<RequestResult> PutAccountProfilePicture(AccountProfilePictureRequest data);
|
||||
Task<RequestResult> DeleteAccountProfilePicture();
|
||||
Task<RequestResult> GetAccountInfo(long id);
|
||||
Task<RequestResult> PutAccountInfo(AccountRequest data);
|
||||
Task<RequestResult> PutAccountProfileInfo(AccountProfileInfoRequest data);
|
||||
Task<RequestResult> GetAccountRatedMovies(long id, MovieRatedQueryParameters query);
|
||||
Task<RequestResult> GetAccountRatedSeries(long id, SeriesRatedQueryParameters query);
|
||||
Task<RequestResult> GetAccountRatedPersons(long id, PersonRatedQueryParameters query);
|
||||
|
||||
Reference in New Issue
Block a user