1
0
mirror of https://github.com/immich-app/immich.git synced 2025-08-08 23:07:06 +02:00

feat: Mark people as favorite (#14866)

* feat: added ability to mark people as favorite, which get sorted to the front of the people list

* feat(server): added unit test for favorite people

* feat(server): refactored for better readability

* fixed person service unit tests

* fixed open-api and sql checks

* fixed bad codegen and removed unnecessary type assertion again

* chore: clean up

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
This commit is contained in:
Arno
2025-02-04 09:52:17 +01:00
committed by GitHub
parent 69e88ef985
commit 7ec3610753
20 changed files with 355 additions and 28 deletions

View File

@ -15,6 +15,7 @@ export const personStub = {
faceAssetId: null,
faceAsset: null,
isHidden: false,
isFavorite: false,
}),
hidden: Object.freeze<PersonEntity>({
id: 'person-1',
@ -29,6 +30,7 @@ export const personStub = {
faceAssetId: null,
faceAsset: null,
isHidden: true,
isFavorite: false,
}),
withName: Object.freeze<PersonEntity>({
id: 'person-1',
@ -43,6 +45,7 @@ export const personStub = {
faceAssetId: 'assetFaceId',
faceAsset: null,
isHidden: false,
isFavorite: false,
}),
withBirthDate: Object.freeze<PersonEntity>({
id: 'person-1',
@ -57,6 +60,7 @@ export const personStub = {
faceAssetId: null,
faceAsset: null,
isHidden: false,
isFavorite: false,
}),
noThumbnail: Object.freeze<PersonEntity>({
id: 'person-1',
@ -71,6 +75,7 @@ export const personStub = {
faceAssetId: null,
faceAsset: null,
isHidden: false,
isFavorite: false,
}),
newThumbnail: Object.freeze<PersonEntity>({
id: 'person-1',
@ -85,6 +90,7 @@ export const personStub = {
faceAssetId: 'asset-id',
faceAsset: null,
isHidden: false,
isFavorite: false,
}),
primaryPerson: Object.freeze<PersonEntity>({
id: 'person-1',
@ -99,6 +105,7 @@ export const personStub = {
faceAssetId: null,
faceAsset: null,
isHidden: false,
isFavorite: false,
}),
mergePerson: Object.freeze<PersonEntity>({
id: 'person-2',
@ -113,6 +120,7 @@ export const personStub = {
faceAssetId: null,
faceAsset: null,
isHidden: false,
isFavorite: false,
}),
randomPerson: Object.freeze<PersonEntity>({
id: 'person-3',
@ -127,5 +135,21 @@ export const personStub = {
faceAssetId: null,
faceAsset: null,
isHidden: false,
isFavorite: false,
}),
isFavorite: Object.freeze<PersonEntity>({
id: 'person-4',
createdAt: new Date('2021-01-01'),
updatedAt: new Date('2021-01-01'),
ownerId: userStub.admin.id,
owner: userStub.admin,
name: 'Person 1',
birthDate: null,
thumbnailPath: '/path/to/thumbnail.jpg',
faces: [],
faceAssetId: 'assetFaceId',
faceAsset: null,
isHidden: false,
isFavorite: true,
}),
};