mirror of
https://github.com/zoriya/Kyoo.git
synced 2025-07-09 03:04:20 -04:00
Fixing people repositroy
This commit is contained in:
parent
28bb719b06
commit
a74a06913c
@ -181,7 +181,7 @@ namespace Kyoo.Controllers
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected virtual Task EditRelations(T resource, T newValues)
|
protected virtual Task EditRelations(T resource, T changed)
|
||||||
{
|
{
|
||||||
return Validate(resource);
|
return Validate(resource);
|
||||||
}
|
}
|
||||||
|
@ -110,7 +110,7 @@ namespace Kyoo.Controllers
|
|||||||
throw new InvalidOperationException();
|
throw new InvalidOperationException();
|
||||||
}
|
}
|
||||||
public override Task<LibraryItem> Edit(LibraryItem obj, bool reset) => throw new InvalidOperationException();
|
public override Task<LibraryItem> Edit(LibraryItem obj, bool reset) => throw new InvalidOperationException();
|
||||||
protected override Task EditRelations(LibraryItem _, LibraryItem _2) => throw new InvalidOperationException();
|
protected override Task EditRelations(LibraryItem _, LibraryItem changed) => throw new InvalidOperationException();
|
||||||
public override Task Delete(int id) => throw new InvalidOperationException();
|
public override Task Delete(int id) => throw new InvalidOperationException();
|
||||||
public override Task Delete(string slug) => throw new InvalidOperationException();
|
public override Task Delete(string slug) => throw new InvalidOperationException();
|
||||||
public override Task Delete(LibraryItem obj) => throw new InvalidOperationException();
|
public override Task Delete(LibraryItem obj) => throw new InvalidOperationException();
|
||||||
|
@ -71,25 +71,27 @@ namespace Kyoo.Controllers
|
|||||||
protected override async Task Validate(People resource)
|
protected override async Task Validate(People resource)
|
||||||
{
|
{
|
||||||
await base.Validate(resource);
|
await base.Validate(resource);
|
||||||
|
await resource.ExternalIDs.ForEachAsync(async id =>
|
||||||
if (resource.ExternalIDs != null)
|
id.Provider = await _providers.CreateIfNotExists(id.Provider, true));
|
||||||
foreach (MetadataID link in resource.ExternalIDs)
|
await resource.Roles.ForEachAsync(async role =>
|
||||||
if (ShouldValidate(link))
|
role.Show = await _shows.Value.CreateIfNotExists(role.Show, true));
|
||||||
link.Provider = await _providers.CreateIfNotExists(link.Provider, true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected override async Task EditRelations(People resource, People changed)
|
||||||
|
{
|
||||||
|
await base.EditRelations(resource, changed);
|
||||||
|
resource.Roles = changed.Roles;
|
||||||
|
resource.ExternalIDs = changed.ExternalIDs;
|
||||||
|
}
|
||||||
|
|
||||||
public override async Task Delete(People obj)
|
public override async Task Delete(People obj)
|
||||||
{
|
{
|
||||||
if (obj == null)
|
if (obj == null)
|
||||||
throw new ArgumentNullException(nameof(obj));
|
throw new ArgumentNullException(nameof(obj));
|
||||||
|
|
||||||
_database.Entry(obj).State = EntityState.Deleted;
|
_database.Entry(obj).State = EntityState.Deleted;
|
||||||
if (obj.ExternalIDs != null)
|
obj.ExternalIDs.ForEach(x => _database.Entry(x).State = EntityState.Deleted);
|
||||||
foreach (MetadataID entry in obj.ExternalIDs)
|
obj.Roles.ForEach(x => _database.Entry(x).State = EntityState.Deleted);
|
||||||
_database.Entry(entry).State = EntityState.Deleted;
|
|
||||||
if (obj.Roles != null)
|
|
||||||
foreach (PeopleRole link in obj.Roles)
|
|
||||||
_database.Entry(link).State = EntityState.Deleted;
|
|
||||||
await _database.SaveChangesAsync();
|
await _database.SaveChangesAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user