diff --git a/mobile/openapi/doc/SmartSearchDto.md b/mobile/openapi/doc/SmartSearchDto.md index 5d34143df2..fd9bc35490 100644 --- a/mobile/openapi/doc/SmartSearchDto.md +++ b/mobile/openapi/doc/SmartSearchDto.md @@ -18,6 +18,7 @@ Name | Type | Description | Notes **isExternal** | **bool** | | [optional] **isFavorite** | **bool** | | [optional] **isMotion** | **bool** | | [optional] +**isNotInAlbum** | **bool** | | [optional] **isOffline** | **bool** | | [optional] **isReadOnly** | **bool** | | [optional] **isVisible** | **bool** | | [optional] diff --git a/mobile/openapi/lib/model/smart_search_dto.dart b/mobile/openapi/lib/model/smart_search_dto.dart index b82a3345fb..269a071020 100644 --- a/mobile/openapi/lib/model/smart_search_dto.dart +++ b/mobile/openapi/lib/model/smart_search_dto.dart @@ -23,6 +23,7 @@ class SmartSearchDto { this.isExternal, this.isFavorite, this.isMotion, + this.isNotInAlbum, this.isOffline, this.isReadOnly, this.isVisible, @@ -126,6 +127,14 @@ class SmartSearchDto { /// bool? isMotion; + /// + /// Please note: This property should have been non-nullable! Since the specification file + /// does not include a default value (using the "default:" property), however, the generated + /// source code must fall back to having a nullable type. + /// Consider adding a "default:" property in the specification file to hide this note. + /// + bool? isNotInAlbum; + /// /// Please note: This property should have been non-nullable! Since the specification file /// does not include a default value (using the "default:" property), however, the generated @@ -300,6 +309,7 @@ class SmartSearchDto { other.isExternal == isExternal && other.isFavorite == isFavorite && other.isMotion == isMotion && + other.isNotInAlbum == isNotInAlbum && other.isOffline == isOffline && other.isReadOnly == isReadOnly && other.isVisible == isVisible && @@ -335,6 +345,7 @@ class SmartSearchDto { (isExternal == null ? 0 : isExternal!.hashCode) + (isFavorite == null ? 0 : isFavorite!.hashCode) + (isMotion == null ? 0 : isMotion!.hashCode) + + (isNotInAlbum == null ? 0 : isNotInAlbum!.hashCode) + (isOffline == null ? 0 : isOffline!.hashCode) + (isReadOnly == null ? 0 : isReadOnly!.hashCode) + (isVisible == null ? 0 : isVisible!.hashCode) + @@ -358,7 +369,7 @@ class SmartSearchDto { (withExif == null ? 0 : withExif!.hashCode); @override - String toString() => 'SmartSearchDto[city=$city, country=$country, createdAfter=$createdAfter, createdBefore=$createdBefore, deviceId=$deviceId, isArchived=$isArchived, isEncoded=$isEncoded, isExternal=$isExternal, isFavorite=$isFavorite, isMotion=$isMotion, isOffline=$isOffline, isReadOnly=$isReadOnly, isVisible=$isVisible, lensModel=$lensModel, libraryId=$libraryId, make=$make, model=$model, page=$page, query=$query, size=$size, state=$state, takenAfter=$takenAfter, takenBefore=$takenBefore, trashedAfter=$trashedAfter, trashedBefore=$trashedBefore, type=$type, updatedAfter=$updatedAfter, updatedBefore=$updatedBefore, withArchived=$withArchived, withDeleted=$withDeleted, withExif=$withExif]'; + String toString() => 'SmartSearchDto[city=$city, country=$country, createdAfter=$createdAfter, createdBefore=$createdBefore, deviceId=$deviceId, isArchived=$isArchived, isEncoded=$isEncoded, isExternal=$isExternal, isFavorite=$isFavorite, isMotion=$isMotion, isNotInAlbum=$isNotInAlbum, isOffline=$isOffline, isReadOnly=$isReadOnly, isVisible=$isVisible, lensModel=$lensModel, libraryId=$libraryId, make=$make, model=$model, page=$page, query=$query, size=$size, state=$state, takenAfter=$takenAfter, takenBefore=$takenBefore, trashedAfter=$trashedAfter, trashedBefore=$trashedBefore, type=$type, updatedAfter=$updatedAfter, updatedBefore=$updatedBefore, withArchived=$withArchived, withDeleted=$withDeleted, withExif=$withExif]'; Map toJson() { final json = {}; @@ -412,6 +423,11 @@ class SmartSearchDto { } else { // json[r'isMotion'] = null; } + if (this.isNotInAlbum != null) { + json[r'isNotInAlbum'] = this.isNotInAlbum; + } else { + // json[r'isNotInAlbum'] = null; + } if (this.isOffline != null) { json[r'isOffline'] = this.isOffline; } else { @@ -534,6 +550,7 @@ class SmartSearchDto { isExternal: mapValueOfType(json, r'isExternal'), isFavorite: mapValueOfType(json, r'isFavorite'), isMotion: mapValueOfType(json, r'isMotion'), + isNotInAlbum: mapValueOfType(json, r'isNotInAlbum'), isOffline: mapValueOfType(json, r'isOffline'), isReadOnly: mapValueOfType(json, r'isReadOnly'), isVisible: mapValueOfType(json, r'isVisible'), diff --git a/mobile/openapi/test/smart_search_dto_test.dart b/mobile/openapi/test/smart_search_dto_test.dart index 858c7769c8..84a85cf208 100644 --- a/mobile/openapi/test/smart_search_dto_test.dart +++ b/mobile/openapi/test/smart_search_dto_test.dart @@ -66,6 +66,11 @@ void main() { // TODO }); + // bool isNotInAlbum + test('to test the property `isNotInAlbum`', () async { + // TODO + }); + // bool isOffline test('to test the property `isOffline`', () async { // TODO diff --git a/open-api/immich-openapi-specs.json b/open-api/immich-openapi-specs.json index 6870e140ca..790fe8e8ec 100644 --- a/open-api/immich-openapi-specs.json +++ b/open-api/immich-openapi-specs.json @@ -9435,6 +9435,9 @@ "isMotion": { "type": "boolean" }, + "isNotInAlbum": { + "type": "boolean" + }, "isOffline": { "type": "boolean" }, diff --git a/open-api/typescript-sdk/axios-client/api.ts b/open-api/typescript-sdk/axios-client/api.ts index 622820c752..e57a95a127 100644 --- a/open-api/typescript-sdk/axios-client/api.ts +++ b/open-api/typescript-sdk/axios-client/api.ts @@ -3880,6 +3880,12 @@ export interface SmartSearchDto { * @memberof SmartSearchDto */ 'isMotion'?: boolean; + /** + * + * @type {boolean} + * @memberof SmartSearchDto + */ + 'isNotInAlbum'?: boolean; /** * * @type {boolean} diff --git a/open-api/typescript-sdk/fetch-client.ts b/open-api/typescript-sdk/fetch-client.ts index 9b3a359863..2c14eb4fae 100644 --- a/open-api/typescript-sdk/fetch-client.ts +++ b/open-api/typescript-sdk/fetch-client.ts @@ -656,6 +656,7 @@ export type SmartSearchDto = { isExternal?: boolean; isFavorite?: boolean; isMotion?: boolean; + isNotInAlbum?: boolean; isOffline?: boolean; isReadOnly?: boolean; isVisible?: boolean; diff --git a/server/src/domain/search/dto/search.dto.ts b/server/src/domain/search/dto/search.dto.ts index 5aa73433d9..519e39fd2e 100644 --- a/server/src/domain/search/dto/search.dto.ts +++ b/server/src/domain/search/dto/search.dto.ts @@ -118,6 +118,9 @@ class BaseSearchDto { @Type(() => Number) @Optional() size?: number; + + @QueryBoolean({ optional: true }) + isNotInAlbum?: boolean; } export class MetadataSearchDto extends BaseSearchDto { @@ -170,9 +173,6 @@ export class MetadataSearchDto extends BaseSearchDto { @ApiProperty({ enumName: 'AssetOrder', enum: AssetOrder }) order?: AssetOrder; - @QueryBoolean({ optional: true }) - isNotInAlbum?: boolean; - @Optional() personIds?: string[]; }