refactor(server): merge facial-recognition and person (#4237)

* move facial recognition service into person service

* merge face repository and person repository

* fix imports
This commit is contained in:
Daniel Dietzler
2023-09-27 22:46:46 +02:00
committed by GitHub
parent c3d6d69262
commit 0a22e64799
22 changed files with 556 additions and 661 deletions

View File

@@ -50,6 +50,10 @@ export class PersonRepository implements IPersonRepository {
return people.length;
}
getAllFaces(): Promise<AssetFaceEntity[]> {
return this.assetFaceRepository.find({ relations: { asset: true } });
}
getAll(): Promise<PersonEntity[]> {
return this.personRepository.find();
}
@@ -117,13 +121,17 @@ export class PersonRepository implements IPersonRepository {
return this.personRepository.save(entity);
}
createFace(entity: Partial<AssetFaceEntity>): Promise<AssetFaceEntity> {
return this.assetFaceRepository.save(entity);
}
async update(entity: Partial<PersonEntity>): Promise<PersonEntity> {
const { id } = await this.personRepository.save(entity);
return this.personRepository.findOneByOrFail({ id });
}
async getFaceById({ personId, assetId }: AssetFaceId): Promise<AssetFaceEntity | null> {
return this.assetFaceRepository.findOneBy({ assetId, personId });
async getFacesByIds(ids: AssetFaceId[]): Promise<AssetFaceEntity[]> {
return this.assetFaceRepository.find({ where: ids, relations: { asset: true } });
}
async getRandomFace(personId: string): Promise<AssetFaceEntity | null> {