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

feat(server): Merge Faces sorted by Similarity (#14635)

* Merge Faces sorted by Similarity

* Adds face sorting to the side panel face merger

* run make open-api

* Make it one query

* Only have the single order by when sorting by closest face
This commit is contained in:
Lukas
2024-12-16 09:47:11 -05:00
committed by GitHub
parent 8945a5d862
commit 12e55f5bf0
11 changed files with 136 additions and 44 deletions

View File

@@ -66,6 +66,10 @@ class PeopleApi {
/// Performs an HTTP 'GET /people' operation and returns the [Response].
/// Parameters:
///
/// * [String] closestAssetId:
///
/// * [String] closestPersonId:
///
/// * [num] page:
/// Page number for pagination
///
@@ -73,7 +77,7 @@ class PeopleApi {
/// Number of items per page
///
/// * [bool] withHidden:
Future<Response> getAllPeopleWithHttpInfo({ num? page, num? size, bool? withHidden, }) async {
Future<Response> getAllPeopleWithHttpInfo({ String? closestAssetId, String? closestPersonId, num? page, num? size, bool? withHidden, }) async {
// ignore: prefer_const_declarations
final path = r'/people';
@@ -84,6 +88,12 @@ class PeopleApi {
final headerParams = <String, String>{};
final formParams = <String, String>{};
if (closestAssetId != null) {
queryParams.addAll(_queryParams('', 'closestAssetId', closestAssetId));
}
if (closestPersonId != null) {
queryParams.addAll(_queryParams('', 'closestPersonId', closestPersonId));
}
if (page != null) {
queryParams.addAll(_queryParams('', 'page', page));
}
@@ -110,6 +120,10 @@ class PeopleApi {
/// Parameters:
///
/// * [String] closestAssetId:
///
/// * [String] closestPersonId:
///
/// * [num] page:
/// Page number for pagination
///
@@ -117,8 +131,8 @@ class PeopleApi {
/// Number of items per page
///
/// * [bool] withHidden:
Future<PeopleResponseDto?> getAllPeople({ num? page, num? size, bool? withHidden, }) async {
final response = await getAllPeopleWithHttpInfo( page: page, size: size, withHidden: withHidden, );
Future<PeopleResponseDto?> getAllPeople({ String? closestAssetId, String? closestPersonId, num? page, num? size, bool? withHidden, }) async {
final response = await getAllPeopleWithHttpInfo( closestAssetId: closestAssetId, closestPersonId: closestPersonId, page: page, size: size, withHidden: withHidden, );
if (response.statusCode >= HttpStatus.badRequest) {
throw ApiException(response.statusCode, await _decodeBodyBytes(response));
}