From a01f656654b59d6dffacc5233826e6224f30e91e Mon Sep 17 00:00:00 2001 From: Amelia <77553571+Fesaa@users.noreply.github.com> Date: Thu, 8 May 2025 09:23:48 +0200 Subject: [PATCH] Switch src & dst and remove some no longer needed code --- API.Tests/Services/PersonServiceTests.cs | 8 ++++---- API/Controllers/PersonController.cs | 12 +----------- API/Services/PersonService.cs | 6 +++--- .../edit-person-modal.component.html | 4 ++-- .../edit-person-modal/edit-person-modal.component.ts | 6 ++---- .../merge-person-modal.component.ts | 6 +----- .../src/app/person-detail/person-detail.component.ts | 11 ----------- 7 files changed, 13 insertions(+), 40 deletions(-) diff --git a/API.Tests/Services/PersonServiceTests.cs b/API.Tests/Services/PersonServiceTests.cs index 6d0feccb0..5c1929b1c 100644 --- a/API.Tests/Services/PersonServiceTests.cs +++ b/API.Tests/Services/PersonServiceTests.cs @@ -40,7 +40,7 @@ public class PersonServiceTests: AbstractDbTest UnitOfWork.PersonRepository.Attach(person2); await UnitOfWork.CommitAsync(); - await ps.MergePeopleAsync(person1, person2); + await ps.MergePeopleAsync(person2, person1); var allPeople = await UnitOfWork.PersonRepository.GetAllPeople(); Assert.Single(allPeople); @@ -76,7 +76,7 @@ public class PersonServiceTests: AbstractDbTest UnitOfWork.PersonRepository.Attach(person2); await UnitOfWork.CommitAsync(); - await ps.MergePeopleAsync(person1, person2); + await ps.MergePeopleAsync(person2, person1); var allPeople = await UnitOfWork.PersonRepository.GetAllPeople(); Assert.Single(allPeople); } @@ -124,7 +124,7 @@ public class PersonServiceTests: AbstractDbTest UnitOfWork.SeriesRepository.Add(series2); await UnitOfWork.CommitAsync(); - await ps.MergePeopleAsync(person, person2); + await ps.MergePeopleAsync(person2, person); var allPeople = await UnitOfWork.PersonRepository.GetAllPeople(); Assert.Single(allPeople); @@ -201,7 +201,7 @@ public class PersonServiceTests: AbstractDbTest UnitOfWork.SeriesRepository.Add(series2); await UnitOfWork.CommitAsync(); - await ps.MergePeopleAsync(person, person2); + await ps.MergePeopleAsync(person2, person); var allPeople = await UnitOfWork.PersonRepository.GetAllPeople(); Assert.Single(allPeople); diff --git a/API/Controllers/PersonController.cs b/API/Controllers/PersonController.cs index 93319cbd3..976bf978d 100644 --- a/API/Controllers/PersonController.cs +++ b/API/Controllers/PersonController.cs @@ -59,16 +59,6 @@ public class PersonController : BaseApiController return Ok(await _unitOfWork.PersonRepository.GetRolesForPersonByName(personId, User.GetUserId())); } - [HttpGet("aliases")] - public async Task>> GetAliasesForPerson([FromQuery] int personId) - { - var person = await _unitOfWork.PersonRepository.GetPersonById(personId); - if (person == null) return NotFound(); - - if (person.Aliases == null || person.Aliases.Count == 0) return new List(); - - return Ok(person.Aliases.Select(a => a.Alias).ToList()); - } /// /// Returns a list of authors and artists for browsing @@ -207,7 +197,7 @@ public class PersonController : BaseApiController var src = await _unitOfWork.PersonRepository.GetPersonById(dto.SrcId, PersonIncludes.All); if (src == null) return BadRequest(); - await _personService.MergePeopleAsync(dst, src); + await _personService.MergePeopleAsync(src, dst); await _eventHub.SendMessageAsync(MessageFactory.PersonMerged, MessageFactory.PersonMergedMessage(dst, src)); return Ok(_mapper.Map(dst)); diff --git a/API/Services/PersonService.cs b/API/Services/PersonService.cs index bd7629809..ff0049cbe 100644 --- a/API/Services/PersonService.cs +++ b/API/Services/PersonService.cs @@ -13,11 +13,11 @@ public interface IPersonService /// /// Adds src as an alias to dst, this is a destructive operation /// - /// Remaining person /// Merged person + /// Remaining person /// The entities passed as arguments **must** include all relations /// - Task MergePeopleAsync(Person dst, Person src); + Task MergePeopleAsync(Person src, Person dst); /// /// Adds the alias to the person, requires that the aliases are not shared with anyone else @@ -32,7 +32,7 @@ public interface IPersonService public class PersonService(IUnitOfWork unitOfWork): IPersonService { - public async Task MergePeopleAsync(Person dst, Person src) + public async Task MergePeopleAsync(Person src, Person dst) { if (dst.Id == src.Id) return; diff --git a/UI/Web/src/app/person-detail/_modal/edit-person-modal/edit-person-modal.component.html b/UI/Web/src/app/person-detail/_modal/edit-person-modal/edit-person-modal.component.html index 4b182e143..bc98b1a62 100644 --- a/UI/Web/src/app/person-detail/_modal/edit-person-modal/edit-person-modal.component.html +++ b/UI/Web/src/app/person-detail/_modal/edit-person-modal/edit-person-modal.component.html @@ -99,9 +99,9 @@
  • {{t(TabID.Aliases)}} - diff --git a/UI/Web/src/app/person-detail/_modal/edit-person-modal/edit-person-modal.component.ts b/UI/Web/src/app/person-detail/_modal/edit-person-modal/edit-person-modal.component.ts index f2a4ea381..9904b48f7 100644 --- a/UI/Web/src/app/person-detail/_modal/edit-person-modal/edit-person-modal.component.ts +++ b/UI/Web/src/app/person-detail/_modal/edit-person-modal/edit-person-modal.component.ts @@ -68,7 +68,6 @@ export class EditPersonModalComponent implements OnInit { protected readonly TabID = TabID; @Input({required: true}) person!: Person; - @Input({required: true}) aliases!: string[]; active = TabID.General; editForm: FormGroup = new FormGroup({ @@ -118,8 +117,7 @@ export class EditPersonModalComponent implements OnInit { apis.push(this.uploadService.updatePersonCoverImage(this.person.id, this.selectedCover, !this.coverImageReset)); } - // UpdatePersonDto allows for aliases - const person: Person & { aliases: string[] } = { + const person: Person = { id: this.person.id, coverImageLocked: this.person.coverImageLocked, name: this.editForm.get('name')!.value || '', @@ -130,7 +128,7 @@ export class EditPersonModalComponent implements OnInit { // @ts-ignore malId: this.editForm.get('malId')!.value === '' ? null : parseInt(this.editForm.get('malId').value, 10), hardcoverId: this.editForm.get('hardcoverId')!.value || '', - aliases: this.aliases, + aliases: this.person.aliases, }; apis.push(this.personService.updatePerson(person)); diff --git a/UI/Web/src/app/person-detail/_modal/merge-person-modal/merge-person-modal.component.ts b/UI/Web/src/app/person-detail/_modal/merge-person-modal/merge-person-modal.component.ts index fa8f8e1e6..d851ebfea 100644 --- a/UI/Web/src/app/person-detail/_modal/merge-person-modal/merge-person-modal.component.ts +++ b/UI/Web/src/app/person-detail/_modal/merge-person-modal/merge-person-modal.component.ts @@ -38,7 +38,6 @@ export class MergePersonModalComponent implements OnInit { @Input({required: true}) person!: Person; mergee: Person | null = null; - aliases: string[] = []; save() { if (!this.mergee) { @@ -81,9 +80,6 @@ export class MergePersonModalComponent implements OnInit { this.typeAheadUnfocus.emit(this.typeAheadSettings.id); this.mergee = people[0]; - this.personService.getAliases(this.mergee.id).subscribe(aliases => { - this.aliases = aliases; - }); } protected readonly FilterField = FilterField; @@ -91,6 +87,6 @@ export class MergePersonModalComponent implements OnInit { allNewAliases() { if (!this.mergee) return []; - return [this.mergee.name, ...this.aliases] + return [this.mergee.name, ...this.mergee.aliases] } } diff --git a/UI/Web/src/app/person-detail/person-detail.component.ts b/UI/Web/src/app/person-detail/person-detail.component.ts index 6de63600d..2a0361015 100644 --- a/UI/Web/src/app/person-detail/person-detail.component.ts +++ b/UI/Web/src/app/person-detail/person-detail.component.ts @@ -60,7 +60,6 @@ interface PersonMergeEvent { ImageComponent, SideNavCompanionBarComponent, ReadMoreComponent, - TagBadgeComponent, PersonRolePipe, CarouselReelComponent, CardItemComponent, @@ -101,8 +100,6 @@ export class PersonDetailComponent implements OnInit { roles: PersonRole[] | null = null; works$: Observable | null = null; filter: SeriesFilterV2 | null = null; - aliases$: Observable | null = null; - aliases: string[] = []; personActions: Array> = this.actionService.getPersonActions(this.handleAction.bind(this)); chaptersByRole: any = {}; anilistUrl: string = ''; @@ -182,11 +179,6 @@ export class PersonDetailComponent implements OnInit { takeUntilDestroyed(this.destroyRef) ); - this.aliases$ = this.personService.getAliases(person.id).pipe( - tap(aliases => this.aliases = aliases), - takeUntilDestroyed(this.destroyRef) - ); - } createFilter(roles: PersonRole[]) { @@ -244,17 +236,14 @@ export class PersonDetailComponent implements OnInit { case(Action.Edit): const ref = this.modalService.open(EditPersonModalComponent, DefaultModalOptions); ref.componentInstance.person = this.person; - ref.componentInstance.aliases = this.aliases; ref.closed.subscribe(r => { if (r.success) { const nameChanged = this.personName !== r.person.name; this.person = {...r.person}; - this.aliases = r.person.aliases; // UpdatePersonDto does include them this.personName = this.person!.name; this.personSubject.next(this.person); - this.aliases$ = of(this.aliases); // Update the url to reflect the new name change if (nameChanged) {