mirror of
https://github.com/immich-app/immich
synced 2025-10-17 18:19:27 +00:00
fix(server): correctly identify integers
This commit is contained in:
parent
2d2673c114
commit
b0291b6ad6
27 changed files with 152 additions and 135 deletions
8
mobile/openapi/lib/api/assets_api.dart
generated
8
mobile/openapi/lib/api/assets_api.dart
generated
|
|
@ -608,8 +608,8 @@ class AssetsApi {
|
||||||
///
|
///
|
||||||
/// Parameters:
|
/// Parameters:
|
||||||
///
|
///
|
||||||
/// * [num] count:
|
/// * [int] count:
|
||||||
Future<Response> getRandomWithHttpInfo({ num? count, }) async {
|
Future<Response> getRandomWithHttpInfo({ int? count, }) async {
|
||||||
// ignore: prefer_const_declarations
|
// ignore: prefer_const_declarations
|
||||||
final apiPath = r'/assets/random';
|
final apiPath = r'/assets/random';
|
||||||
|
|
||||||
|
|
@ -642,8 +642,8 @@ class AssetsApi {
|
||||||
///
|
///
|
||||||
/// Parameters:
|
/// Parameters:
|
||||||
///
|
///
|
||||||
/// * [num] count:
|
/// * [int] count:
|
||||||
Future<List<AssetResponseDto>?> getRandom({ num? count, }) async {
|
Future<List<AssetResponseDto>?> getRandom({ int? count, }) async {
|
||||||
final response = await getRandomWithHttpInfo( count: count, );
|
final response = await getRandomWithHttpInfo( count: count, );
|
||||||
if (response.statusCode >= HttpStatus.badRequest) {
|
if (response.statusCode >= HttpStatus.badRequest) {
|
||||||
throw ApiException(response.statusCode, await _decodeBodyBytes(response));
|
throw ApiException(response.statusCode, await _decodeBodyBytes(response));
|
||||||
|
|
|
||||||
8
mobile/openapi/lib/api/deprecated_api.dart
generated
8
mobile/openapi/lib/api/deprecated_api.dart
generated
|
|
@ -75,8 +75,8 @@ class DeprecatedApi {
|
||||||
///
|
///
|
||||||
/// Parameters:
|
/// Parameters:
|
||||||
///
|
///
|
||||||
/// * [num] count:
|
/// * [int] count:
|
||||||
Future<Response> getRandomWithHttpInfo({ num? count, }) async {
|
Future<Response> getRandomWithHttpInfo({ int? count, }) async {
|
||||||
// ignore: prefer_const_declarations
|
// ignore: prefer_const_declarations
|
||||||
final apiPath = r'/assets/random';
|
final apiPath = r'/assets/random';
|
||||||
|
|
||||||
|
|
@ -109,8 +109,8 @@ class DeprecatedApi {
|
||||||
///
|
///
|
||||||
/// Parameters:
|
/// Parameters:
|
||||||
///
|
///
|
||||||
/// * [num] count:
|
/// * [int] count:
|
||||||
Future<List<AssetResponseDto>?> getRandom({ num? count, }) async {
|
Future<List<AssetResponseDto>?> getRandom({ int? count, }) async {
|
||||||
final response = await getRandomWithHttpInfo( count: count, );
|
final response = await getRandomWithHttpInfo( count: count, );
|
||||||
if (response.statusCode >= HttpStatus.badRequest) {
|
if (response.statusCode >= HttpStatus.badRequest) {
|
||||||
throw ApiException(response.statusCode, await _decodeBodyBytes(response));
|
throw ApiException(response.statusCode, await _decodeBodyBytes(response));
|
||||||
|
|
|
||||||
12
mobile/openapi/lib/api/people_api.dart
generated
12
mobile/openapi/lib/api/people_api.dart
generated
|
|
@ -167,14 +167,14 @@ class PeopleApi {
|
||||||
///
|
///
|
||||||
/// * [String] closestPersonId:
|
/// * [String] closestPersonId:
|
||||||
///
|
///
|
||||||
/// * [num] page:
|
/// * [int] page:
|
||||||
/// Page number for pagination
|
/// Page number for pagination
|
||||||
///
|
///
|
||||||
/// * [num] size:
|
/// * [int] size:
|
||||||
/// Number of items per page
|
/// Number of items per page
|
||||||
///
|
///
|
||||||
/// * [bool] withHidden:
|
/// * [bool] withHidden:
|
||||||
Future<Response> getAllPeopleWithHttpInfo({ String? closestAssetId, String? closestPersonId, num? page, num? size, bool? withHidden, }) async {
|
Future<Response> getAllPeopleWithHttpInfo({ String? closestAssetId, String? closestPersonId, int? page, int? size, bool? withHidden, }) async {
|
||||||
// ignore: prefer_const_declarations
|
// ignore: prefer_const_declarations
|
||||||
final apiPath = r'/people';
|
final apiPath = r'/people';
|
||||||
|
|
||||||
|
|
@ -223,14 +223,14 @@ class PeopleApi {
|
||||||
///
|
///
|
||||||
/// * [String] closestPersonId:
|
/// * [String] closestPersonId:
|
||||||
///
|
///
|
||||||
/// * [num] page:
|
/// * [int] page:
|
||||||
/// Page number for pagination
|
/// Page number for pagination
|
||||||
///
|
///
|
||||||
/// * [num] size:
|
/// * [int] size:
|
||||||
/// Number of items per page
|
/// Number of items per page
|
||||||
///
|
///
|
||||||
/// * [bool] withHidden:
|
/// * [bool] withHidden:
|
||||||
Future<PeopleResponseDto?> getAllPeople({ String? closestAssetId, String? closestPersonId, num? page, num? size, bool? withHidden, }) async {
|
Future<PeopleResponseDto?> getAllPeople({ String? closestAssetId, String? closestPersonId, int? page, int? size, bool? withHidden, }) async {
|
||||||
final response = await getAllPeopleWithHttpInfo( closestAssetId: closestAssetId, closestPersonId: closestPersonId, page: page, size: size, withHidden: withHidden, );
|
final response = await getAllPeopleWithHttpInfo( closestAssetId: closestAssetId, closestPersonId: closestPersonId, page: page, size: size, withHidden: withHidden, );
|
||||||
if (response.statusCode >= HttpStatus.badRequest) {
|
if (response.statusCode >= HttpStatus.badRequest) {
|
||||||
throw ApiException(response.statusCode, await _decodeBodyBytes(response));
|
throw ApiException(response.statusCode, await _decodeBodyBytes(response));
|
||||||
|
|
|
||||||
12
mobile/openapi/lib/api/search_api.dart
generated
12
mobile/openapi/lib/api/search_api.dart
generated
|
|
@ -348,9 +348,9 @@ class SearchApi {
|
||||||
///
|
///
|
||||||
/// * [List<String>] personIds:
|
/// * [List<String>] personIds:
|
||||||
///
|
///
|
||||||
/// * [num] rating:
|
/// * [int] rating:
|
||||||
///
|
///
|
||||||
/// * [num] size:
|
/// * [int] size:
|
||||||
///
|
///
|
||||||
/// * [String] state:
|
/// * [String] state:
|
||||||
///
|
///
|
||||||
|
|
@ -375,7 +375,7 @@ class SearchApi {
|
||||||
/// * [bool] withDeleted:
|
/// * [bool] withDeleted:
|
||||||
///
|
///
|
||||||
/// * [bool] withExif:
|
/// * [bool] withExif:
|
||||||
Future<Response> searchLargeAssetsWithHttpInfo({ List<String>? albumIds, String? city, String? country, DateTime? createdAfter, DateTime? createdBefore, String? deviceId, bool? isEncoded, bool? isFavorite, bool? isMotion, bool? isNotInAlbum, bool? isOffline, String? lensModel, String? libraryId, String? make, int? minFileSize, String? model, List<String>? personIds, num? rating, num? size, String? state, List<String>? tagIds, DateTime? takenAfter, DateTime? takenBefore, DateTime? trashedAfter, DateTime? trashedBefore, AssetTypeEnum? type, DateTime? updatedAfter, DateTime? updatedBefore, AssetVisibility? visibility, bool? withDeleted, bool? withExif, }) async {
|
Future<Response> searchLargeAssetsWithHttpInfo({ List<String>? albumIds, String? city, String? country, DateTime? createdAfter, DateTime? createdBefore, String? deviceId, bool? isEncoded, bool? isFavorite, bool? isMotion, bool? isNotInAlbum, bool? isOffline, String? lensModel, String? libraryId, String? make, int? minFileSize, String? model, List<String>? personIds, int? rating, int? size, String? state, List<String>? tagIds, DateTime? takenAfter, DateTime? takenBefore, DateTime? trashedAfter, DateTime? trashedBefore, AssetTypeEnum? type, DateTime? updatedAfter, DateTime? updatedBefore, AssetVisibility? visibility, bool? withDeleted, bool? withExif, }) async {
|
||||||
// ignore: prefer_const_declarations
|
// ignore: prefer_const_declarations
|
||||||
final apiPath = r'/search/large-assets';
|
final apiPath = r'/search/large-assets';
|
||||||
|
|
||||||
|
|
@ -532,9 +532,9 @@ class SearchApi {
|
||||||
///
|
///
|
||||||
/// * [List<String>] personIds:
|
/// * [List<String>] personIds:
|
||||||
///
|
///
|
||||||
/// * [num] rating:
|
/// * [int] rating:
|
||||||
///
|
///
|
||||||
/// * [num] size:
|
/// * [int] size:
|
||||||
///
|
///
|
||||||
/// * [String] state:
|
/// * [String] state:
|
||||||
///
|
///
|
||||||
|
|
@ -559,7 +559,7 @@ class SearchApi {
|
||||||
/// * [bool] withDeleted:
|
/// * [bool] withDeleted:
|
||||||
///
|
///
|
||||||
/// * [bool] withExif:
|
/// * [bool] withExif:
|
||||||
Future<List<AssetResponseDto>?> searchLargeAssets({ List<String>? albumIds, String? city, String? country, DateTime? createdAfter, DateTime? createdBefore, String? deviceId, bool? isEncoded, bool? isFavorite, bool? isMotion, bool? isNotInAlbum, bool? isOffline, String? lensModel, String? libraryId, String? make, int? minFileSize, String? model, List<String>? personIds, num? rating, num? size, String? state, List<String>? tagIds, DateTime? takenAfter, DateTime? takenBefore, DateTime? trashedAfter, DateTime? trashedBefore, AssetTypeEnum? type, DateTime? updatedAfter, DateTime? updatedBefore, AssetVisibility? visibility, bool? withDeleted, bool? withExif, }) async {
|
Future<List<AssetResponseDto>?> searchLargeAssets({ List<String>? albumIds, String? city, String? country, DateTime? createdAfter, DateTime? createdBefore, String? deviceId, bool? isEncoded, bool? isFavorite, bool? isMotion, bool? isNotInAlbum, bool? isOffline, String? lensModel, String? libraryId, String? make, int? minFileSize, String? model, List<String>? personIds, int? rating, int? size, String? state, List<String>? tagIds, DateTime? takenAfter, DateTime? takenBefore, DateTime? trashedAfter, DateTime? trashedBefore, AssetTypeEnum? type, DateTime? updatedAfter, DateTime? updatedBefore, AssetVisibility? visibility, bool? withDeleted, bool? withExif, }) async {
|
||||||
final response = await searchLargeAssetsWithHttpInfo( albumIds: albumIds, city: city, country: country, createdAfter: createdAfter, createdBefore: createdBefore, deviceId: deviceId, isEncoded: isEncoded, isFavorite: isFavorite, isMotion: isMotion, isNotInAlbum: isNotInAlbum, isOffline: isOffline, lensModel: lensModel, libraryId: libraryId, make: make, minFileSize: minFileSize, model: model, personIds: personIds, rating: rating, size: size, state: state, tagIds: tagIds, takenAfter: takenAfter, takenBefore: takenBefore, trashedAfter: trashedAfter, trashedBefore: trashedBefore, type: type, updatedAfter: updatedAfter, updatedBefore: updatedBefore, visibility: visibility, withDeleted: withDeleted, withExif: withExif, );
|
final response = await searchLargeAssetsWithHttpInfo( albumIds: albumIds, city: city, country: country, createdAfter: createdAfter, createdBefore: createdBefore, deviceId: deviceId, isEncoded: isEncoded, isFavorite: isFavorite, isMotion: isMotion, isNotInAlbum: isNotInAlbum, isOffline: isOffline, lensModel: lensModel, libraryId: libraryId, make: make, minFileSize: minFileSize, model: model, personIds: personIds, rating: rating, size: size, state: state, tagIds: tagIds, takenAfter: takenAfter, takenBefore: takenBefore, trashedAfter: trashedAfter, trashedBefore: trashedBefore, type: type, updatedAfter: updatedAfter, updatedBefore: updatedBefore, visibility: visibility, withDeleted: withDeleted, withExif: withExif, );
|
||||||
if (response.statusCode >= HttpStatus.badRequest) {
|
if (response.statusCode >= HttpStatus.badRequest) {
|
||||||
throw ApiException(response.statusCode, await _decodeBodyBytes(response));
|
throw ApiException(response.statusCode, await _decodeBodyBytes(response));
|
||||||
|
|
|
||||||
16
mobile/openapi/lib/model/asset_bulk_update_dto.dart
generated
16
mobile/openapi/lib/model/asset_bulk_update_dto.dart
generated
|
|
@ -40,7 +40,7 @@ class AssetBulkUpdateDto {
|
||||||
/// source code must fall back to having a nullable type.
|
/// source code must fall back to having a nullable type.
|
||||||
/// Consider adding a "default:" property in the specification file to hide this note.
|
/// Consider adding a "default:" property in the specification file to hide this note.
|
||||||
///
|
///
|
||||||
num? dateTimeRelative;
|
int? dateTimeRelative;
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Please note: This property should have been non-nullable! Since the specification file
|
/// Please note: This property should have been non-nullable! Since the specification file
|
||||||
|
|
@ -68,7 +68,7 @@ class AssetBulkUpdateDto {
|
||||||
/// source code must fall back to having a nullable type.
|
/// source code must fall back to having a nullable type.
|
||||||
/// Consider adding a "default:" property in the specification file to hide this note.
|
/// Consider adding a "default:" property in the specification file to hide this note.
|
||||||
///
|
///
|
||||||
num? latitude;
|
double? latitude;
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Please note: This property should have been non-nullable! Since the specification file
|
/// Please note: This property should have been non-nullable! Since the specification file
|
||||||
|
|
@ -76,7 +76,7 @@ class AssetBulkUpdateDto {
|
||||||
/// source code must fall back to having a nullable type.
|
/// source code must fall back to having a nullable type.
|
||||||
/// Consider adding a "default:" property in the specification file to hide this note.
|
/// Consider adding a "default:" property in the specification file to hide this note.
|
||||||
///
|
///
|
||||||
num? longitude;
|
double? longitude;
|
||||||
|
|
||||||
/// Minimum value: -1
|
/// Minimum value: -1
|
||||||
/// Maximum value: 5
|
/// Maximum value: 5
|
||||||
|
|
@ -86,7 +86,7 @@ class AssetBulkUpdateDto {
|
||||||
/// source code must fall back to having a nullable type.
|
/// source code must fall back to having a nullable type.
|
||||||
/// Consider adding a "default:" property in the specification file to hide this note.
|
/// Consider adding a "default:" property in the specification file to hide this note.
|
||||||
///
|
///
|
||||||
num? rating;
|
int? rating;
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Please note: This property should have been non-nullable! Since the specification file
|
/// Please note: This property should have been non-nullable! Since the specification file
|
||||||
|
|
@ -202,16 +202,16 @@ class AssetBulkUpdateDto {
|
||||||
|
|
||||||
return AssetBulkUpdateDto(
|
return AssetBulkUpdateDto(
|
||||||
dateTimeOriginal: mapValueOfType<String>(json, r'dateTimeOriginal'),
|
dateTimeOriginal: mapValueOfType<String>(json, r'dateTimeOriginal'),
|
||||||
dateTimeRelative: num.parse('${json[r'dateTimeRelative']}'),
|
dateTimeRelative: mapValueOfType<int>(json, r'dateTimeRelative'),
|
||||||
description: mapValueOfType<String>(json, r'description'),
|
description: mapValueOfType<String>(json, r'description'),
|
||||||
duplicateId: mapValueOfType<String>(json, r'duplicateId'),
|
duplicateId: mapValueOfType<String>(json, r'duplicateId'),
|
||||||
ids: json[r'ids'] is Iterable
|
ids: json[r'ids'] is Iterable
|
||||||
? (json[r'ids'] as Iterable).cast<String>().toList(growable: false)
|
? (json[r'ids'] as Iterable).cast<String>().toList(growable: false)
|
||||||
: const [],
|
: const [],
|
||||||
isFavorite: mapValueOfType<bool>(json, r'isFavorite'),
|
isFavorite: mapValueOfType<bool>(json, r'isFavorite'),
|
||||||
latitude: num.parse('${json[r'latitude']}'),
|
latitude: (mapValueOfType<num>(json, r'latitude')).toDouble(),
|
||||||
longitude: num.parse('${json[r'longitude']}'),
|
longitude: (mapValueOfType<num>(json, r'longitude')).toDouble(),
|
||||||
rating: num.parse('${json[r'rating']}'),
|
rating: mapValueOfType<int>(json, r'rating'),
|
||||||
timeZone: mapValueOfType<String>(json, r'timeZone'),
|
timeZone: mapValueOfType<String>(json, r'timeZone'),
|
||||||
visibility: AssetVisibility.fromJson(json[r'visibility']),
|
visibility: AssetVisibility.fromJson(json[r'visibility']),
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ class DatabaseBackupConfig {
|
||||||
bool enabled;
|
bool enabled;
|
||||||
|
|
||||||
/// Minimum value: 1
|
/// Minimum value: 1
|
||||||
num keepLastAmount;
|
int keepLastAmount;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
bool operator ==(Object other) => identical(this, other) || other is DatabaseBackupConfig &&
|
bool operator ==(Object other) => identical(this, other) || other is DatabaseBackupConfig &&
|
||||||
|
|
@ -60,7 +60,7 @@ class DatabaseBackupConfig {
|
||||||
return DatabaseBackupConfig(
|
return DatabaseBackupConfig(
|
||||||
cronExpression: mapValueOfType<String>(json, r'cronExpression')!,
|
cronExpression: mapValueOfType<String>(json, r'cronExpression')!,
|
||||||
enabled: mapValueOfType<bool>(json, r'enabled')!,
|
enabled: mapValueOfType<bool>(json, r'enabled')!,
|
||||||
keepLastAmount: num.parse('${json[r'keepLastAmount']}'),
|
keepLastAmount: mapValueOfType<int>(json, r'keepLastAmount')!,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|
|
||||||
48
mobile/openapi/lib/model/exif_response_dto.dart
generated
48
mobile/openapi/lib/model/exif_response_dto.dart
generated
|
|
@ -45,25 +45,25 @@ class ExifResponseDto {
|
||||||
|
|
||||||
String? description;
|
String? description;
|
||||||
|
|
||||||
num? exifImageHeight;
|
int? exifImageHeight;
|
||||||
|
|
||||||
num? exifImageWidth;
|
int? exifImageWidth;
|
||||||
|
|
||||||
String? exposureTime;
|
String? exposureTime;
|
||||||
|
|
||||||
num? fNumber;
|
double? fNumber;
|
||||||
|
|
||||||
int? fileSizeInByte;
|
int? fileSizeInByte;
|
||||||
|
|
||||||
num? focalLength;
|
double? focalLength;
|
||||||
|
|
||||||
num? iso;
|
int? iso;
|
||||||
|
|
||||||
num? latitude;
|
double? latitude;
|
||||||
|
|
||||||
String? lensModel;
|
String? lensModel;
|
||||||
|
|
||||||
num? longitude;
|
double? longitude;
|
||||||
|
|
||||||
String? make;
|
String? make;
|
||||||
|
|
||||||
|
|
@ -75,7 +75,7 @@ class ExifResponseDto {
|
||||||
|
|
||||||
String? projectionType;
|
String? projectionType;
|
||||||
|
|
||||||
num? rating;
|
int? rating;
|
||||||
|
|
||||||
String? state;
|
String? state;
|
||||||
|
|
||||||
|
|
@ -263,38 +263,22 @@ class ExifResponseDto {
|
||||||
country: mapValueOfType<String>(json, r'country'),
|
country: mapValueOfType<String>(json, r'country'),
|
||||||
dateTimeOriginal: mapDateTime(json, r'dateTimeOriginal', r''),
|
dateTimeOriginal: mapDateTime(json, r'dateTimeOriginal', r''),
|
||||||
description: mapValueOfType<String>(json, r'description'),
|
description: mapValueOfType<String>(json, r'description'),
|
||||||
exifImageHeight: json[r'exifImageHeight'] == null
|
exifImageHeight: mapValueOfType<int>(json, r'exifImageHeight'),
|
||||||
? null
|
exifImageWidth: mapValueOfType<int>(json, r'exifImageWidth'),
|
||||||
: num.parse('${json[r'exifImageHeight']}'),
|
|
||||||
exifImageWidth: json[r'exifImageWidth'] == null
|
|
||||||
? null
|
|
||||||
: num.parse('${json[r'exifImageWidth']}'),
|
|
||||||
exposureTime: mapValueOfType<String>(json, r'exposureTime'),
|
exposureTime: mapValueOfType<String>(json, r'exposureTime'),
|
||||||
fNumber: json[r'fNumber'] == null
|
fNumber: (mapValueOfType<num>(json, r'fNumber'))?.toDouble(),
|
||||||
? null
|
|
||||||
: num.parse('${json[r'fNumber']}'),
|
|
||||||
fileSizeInByte: mapValueOfType<int>(json, r'fileSizeInByte'),
|
fileSizeInByte: mapValueOfType<int>(json, r'fileSizeInByte'),
|
||||||
focalLength: json[r'focalLength'] == null
|
focalLength: (mapValueOfType<num>(json, r'focalLength'))?.toDouble(),
|
||||||
? null
|
iso: mapValueOfType<int>(json, r'iso'),
|
||||||
: num.parse('${json[r'focalLength']}'),
|
latitude: (mapValueOfType<num>(json, r'latitude'))?.toDouble(),
|
||||||
iso: json[r'iso'] == null
|
|
||||||
? null
|
|
||||||
: num.parse('${json[r'iso']}'),
|
|
||||||
latitude: json[r'latitude'] == null
|
|
||||||
? null
|
|
||||||
: num.parse('${json[r'latitude']}'),
|
|
||||||
lensModel: mapValueOfType<String>(json, r'lensModel'),
|
lensModel: mapValueOfType<String>(json, r'lensModel'),
|
||||||
longitude: json[r'longitude'] == null
|
longitude: (mapValueOfType<num>(json, r'longitude'))?.toDouble(),
|
||||||
? null
|
|
||||||
: num.parse('${json[r'longitude']}'),
|
|
||||||
make: mapValueOfType<String>(json, r'make'),
|
make: mapValueOfType<String>(json, r'make'),
|
||||||
model: mapValueOfType<String>(json, r'model'),
|
model: mapValueOfType<String>(json, r'model'),
|
||||||
modifyDate: mapDateTime(json, r'modifyDate', r''),
|
modifyDate: mapDateTime(json, r'modifyDate', r''),
|
||||||
orientation: mapValueOfType<String>(json, r'orientation'),
|
orientation: mapValueOfType<String>(json, r'orientation'),
|
||||||
projectionType: mapValueOfType<String>(json, r'projectionType'),
|
projectionType: mapValueOfType<String>(json, r'projectionType'),
|
||||||
rating: json[r'rating'] == null
|
rating: mapValueOfType<int>(json, r'rating'),
|
||||||
? null
|
|
||||||
: num.parse('${json[r'rating']}'),
|
|
||||||
state: mapValueOfType<String>(json, r'state'),
|
state: mapValueOfType<String>(json, r'state'),
|
||||||
timeZone: mapValueOfType<String>(json, r'timeZone'),
|
timeZone: mapValueOfType<String>(json, r'timeZone'),
|
||||||
);
|
);
|
||||||
|
|
|
||||||
12
mobile/openapi/lib/model/metadata_search_dto.dart
generated
12
mobile/openapi/lib/model/metadata_search_dto.dart
generated
|
|
@ -207,7 +207,7 @@ class MetadataSearchDto {
|
||||||
/// source code must fall back to having a nullable type.
|
/// source code must fall back to having a nullable type.
|
||||||
/// Consider adding a "default:" property in the specification file to hide this note.
|
/// Consider adding a "default:" property in the specification file to hide this note.
|
||||||
///
|
///
|
||||||
num? page;
|
int? page;
|
||||||
|
|
||||||
List<String> personIds;
|
List<String> personIds;
|
||||||
|
|
||||||
|
|
@ -227,7 +227,7 @@ class MetadataSearchDto {
|
||||||
/// source code must fall back to having a nullable type.
|
/// source code must fall back to having a nullable type.
|
||||||
/// Consider adding a "default:" property in the specification file to hide this note.
|
/// Consider adding a "default:" property in the specification file to hide this note.
|
||||||
///
|
///
|
||||||
num? rating;
|
int? rating;
|
||||||
|
|
||||||
/// Minimum value: 1
|
/// Minimum value: 1
|
||||||
/// Maximum value: 1000
|
/// Maximum value: 1000
|
||||||
|
|
@ -237,7 +237,7 @@ class MetadataSearchDto {
|
||||||
/// source code must fall back to having a nullable type.
|
/// source code must fall back to having a nullable type.
|
||||||
/// Consider adding a "default:" property in the specification file to hide this note.
|
/// Consider adding a "default:" property in the specification file to hide this note.
|
||||||
///
|
///
|
||||||
num? size;
|
int? size;
|
||||||
|
|
||||||
String? state;
|
String? state;
|
||||||
|
|
||||||
|
|
@ -685,13 +685,13 @@ class MetadataSearchDto {
|
||||||
order: AssetOrder.fromJson(json[r'order']) ?? AssetOrder.desc,
|
order: AssetOrder.fromJson(json[r'order']) ?? AssetOrder.desc,
|
||||||
originalFileName: mapValueOfType<String>(json, r'originalFileName'),
|
originalFileName: mapValueOfType<String>(json, r'originalFileName'),
|
||||||
originalPath: mapValueOfType<String>(json, r'originalPath'),
|
originalPath: mapValueOfType<String>(json, r'originalPath'),
|
||||||
page: num.parse('${json[r'page']}'),
|
page: mapValueOfType<int>(json, r'page'),
|
||||||
personIds: json[r'personIds'] is Iterable
|
personIds: json[r'personIds'] is Iterable
|
||||||
? (json[r'personIds'] as Iterable).cast<String>().toList(growable: false)
|
? (json[r'personIds'] as Iterable).cast<String>().toList(growable: false)
|
||||||
: const [],
|
: const [],
|
||||||
previewPath: mapValueOfType<String>(json, r'previewPath'),
|
previewPath: mapValueOfType<String>(json, r'previewPath'),
|
||||||
rating: num.parse('${json[r'rating']}'),
|
rating: mapValueOfType<int>(json, r'rating'),
|
||||||
size: num.parse('${json[r'size']}'),
|
size: mapValueOfType<int>(json, r'size'),
|
||||||
state: mapValueOfType<String>(json, r'state'),
|
state: mapValueOfType<String>(json, r'state'),
|
||||||
tagIds: json[r'tagIds'] is Iterable
|
tagIds: json[r'tagIds'] is Iterable
|
||||||
? (json[r'tagIds'] as Iterable).cast<String>().toList(growable: false)
|
? (json[r'tagIds'] as Iterable).cast<String>().toList(growable: false)
|
||||||
|
|
|
||||||
4
mobile/openapi/lib/model/on_this_day_dto.dart
generated
4
mobile/openapi/lib/model/on_this_day_dto.dart
generated
|
|
@ -17,7 +17,7 @@ class OnThisDayDto {
|
||||||
});
|
});
|
||||||
|
|
||||||
/// Minimum value: 1
|
/// Minimum value: 1
|
||||||
num year;
|
int year;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
bool operator ==(Object other) => identical(this, other) || other is OnThisDayDto &&
|
bool operator ==(Object other) => identical(this, other) || other is OnThisDayDto &&
|
||||||
|
|
@ -46,7 +46,7 @@ class OnThisDayDto {
|
||||||
final json = value.cast<String, dynamic>();
|
final json = value.cast<String, dynamic>();
|
||||||
|
|
||||||
return OnThisDayDto(
|
return OnThisDayDto(
|
||||||
year: num.parse('${json[r'year']}'),
|
year: mapValueOfType<int>(json, r'year')!,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|
|
||||||
|
|
@ -36,9 +36,9 @@ class PlacesResponseDto {
|
||||||
///
|
///
|
||||||
String? admin2name;
|
String? admin2name;
|
||||||
|
|
||||||
num latitude;
|
double latitude;
|
||||||
|
|
||||||
num longitude;
|
double longitude;
|
||||||
|
|
||||||
String name;
|
String name;
|
||||||
|
|
||||||
|
|
@ -91,8 +91,8 @@ class PlacesResponseDto {
|
||||||
return PlacesResponseDto(
|
return PlacesResponseDto(
|
||||||
admin1name: mapValueOfType<String>(json, r'admin1name'),
|
admin1name: mapValueOfType<String>(json, r'admin1name'),
|
||||||
admin2name: mapValueOfType<String>(json, r'admin2name'),
|
admin2name: mapValueOfType<String>(json, r'admin2name'),
|
||||||
latitude: num.parse('${json[r'latitude']}'),
|
latitude: (mapValueOfType<num>(json, r'latitude')!).toDouble(),
|
||||||
longitude: num.parse('${json[r'longitude']}'),
|
longitude: (mapValueOfType<num>(json, r'longitude')!).toDouble(),
|
||||||
name: mapValueOfType<String>(json, r'name')!,
|
name: mapValueOfType<String>(json, r'name')!,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
8
mobile/openapi/lib/model/random_search_dto.dart
generated
8
mobile/openapi/lib/model/random_search_dto.dart
generated
|
|
@ -141,7 +141,7 @@ class RandomSearchDto {
|
||||||
/// source code must fall back to having a nullable type.
|
/// source code must fall back to having a nullable type.
|
||||||
/// Consider adding a "default:" property in the specification file to hide this note.
|
/// Consider adding a "default:" property in the specification file to hide this note.
|
||||||
///
|
///
|
||||||
num? rating;
|
int? rating;
|
||||||
|
|
||||||
/// Minimum value: 1
|
/// Minimum value: 1
|
||||||
/// Maximum value: 1000
|
/// Maximum value: 1000
|
||||||
|
|
@ -151,7 +151,7 @@ class RandomSearchDto {
|
||||||
/// source code must fall back to having a nullable type.
|
/// source code must fall back to having a nullable type.
|
||||||
/// Consider adding a "default:" property in the specification file to hide this note.
|
/// Consider adding a "default:" property in the specification file to hide this note.
|
||||||
///
|
///
|
||||||
num? size;
|
int? size;
|
||||||
|
|
||||||
String? state;
|
String? state;
|
||||||
|
|
||||||
|
|
@ -513,8 +513,8 @@ class RandomSearchDto {
|
||||||
personIds: json[r'personIds'] is Iterable
|
personIds: json[r'personIds'] is Iterable
|
||||||
? (json[r'personIds'] as Iterable).cast<String>().toList(growable: false)
|
? (json[r'personIds'] as Iterable).cast<String>().toList(growable: false)
|
||||||
: const [],
|
: const [],
|
||||||
rating: num.parse('${json[r'rating']}'),
|
rating: mapValueOfType<int>(json, r'rating'),
|
||||||
size: num.parse('${json[r'size']}'),
|
size: mapValueOfType<int>(json, r'size'),
|
||||||
state: mapValueOfType<String>(json, r'state'),
|
state: mapValueOfType<String>(json, r'state'),
|
||||||
tagIds: json[r'tagIds'] is Iterable
|
tagIds: json[r'tagIds'] is Iterable
|
||||||
? (json[r'tagIds'] as Iterable).cast<String>().toList(growable: false)
|
? (json[r'tagIds'] as Iterable).cast<String>().toList(growable: false)
|
||||||
|
|
|
||||||
4
mobile/openapi/lib/model/session_create_dto.dart
generated
4
mobile/openapi/lib/model/session_create_dto.dart
generated
|
|
@ -43,7 +43,7 @@ class SessionCreateDto {
|
||||||
/// source code must fall back to having a nullable type.
|
/// source code must fall back to having a nullable type.
|
||||||
/// Consider adding a "default:" property in the specification file to hide this note.
|
/// Consider adding a "default:" property in the specification file to hide this note.
|
||||||
///
|
///
|
||||||
num? duration;
|
int? duration;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
bool operator ==(Object other) => identical(this, other) || other is SessionCreateDto &&
|
bool operator ==(Object other) => identical(this, other) || other is SessionCreateDto &&
|
||||||
|
|
@ -92,7 +92,7 @@ class SessionCreateDto {
|
||||||
return SessionCreateDto(
|
return SessionCreateDto(
|
||||||
deviceOS: mapValueOfType<String>(json, r'deviceOS'),
|
deviceOS: mapValueOfType<String>(json, r'deviceOS'),
|
||||||
deviceType: mapValueOfType<String>(json, r'deviceType'),
|
deviceType: mapValueOfType<String>(json, r'deviceType'),
|
||||||
duration: num.parse('${json[r'duration']}'),
|
duration: mapValueOfType<int>(json, r'duration'),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|
|
||||||
12
mobile/openapi/lib/model/smart_search_dto.dart
generated
12
mobile/openapi/lib/model/smart_search_dto.dart
generated
|
|
@ -148,7 +148,7 @@ class SmartSearchDto {
|
||||||
/// source code must fall back to having a nullable type.
|
/// source code must fall back to having a nullable type.
|
||||||
/// Consider adding a "default:" property in the specification file to hide this note.
|
/// Consider adding a "default:" property in the specification file to hide this note.
|
||||||
///
|
///
|
||||||
num? page;
|
int? page;
|
||||||
|
|
||||||
List<String> personIds;
|
List<String> personIds;
|
||||||
|
|
||||||
|
|
@ -176,7 +176,7 @@ class SmartSearchDto {
|
||||||
/// source code must fall back to having a nullable type.
|
/// source code must fall back to having a nullable type.
|
||||||
/// Consider adding a "default:" property in the specification file to hide this note.
|
/// Consider adding a "default:" property in the specification file to hide this note.
|
||||||
///
|
///
|
||||||
num? rating;
|
int? rating;
|
||||||
|
|
||||||
/// Minimum value: 1
|
/// Minimum value: 1
|
||||||
/// Maximum value: 1000
|
/// Maximum value: 1000
|
||||||
|
|
@ -186,7 +186,7 @@ class SmartSearchDto {
|
||||||
/// source code must fall back to having a nullable type.
|
/// source code must fall back to having a nullable type.
|
||||||
/// Consider adding a "default:" property in the specification file to hide this note.
|
/// Consider adding a "default:" property in the specification file to hide this note.
|
||||||
///
|
///
|
||||||
num? size;
|
int? size;
|
||||||
|
|
||||||
String? state;
|
String? state;
|
||||||
|
|
||||||
|
|
@ -544,14 +544,14 @@ class SmartSearchDto {
|
||||||
libraryId: mapValueOfType<String>(json, r'libraryId'),
|
libraryId: mapValueOfType<String>(json, r'libraryId'),
|
||||||
make: mapValueOfType<String>(json, r'make'),
|
make: mapValueOfType<String>(json, r'make'),
|
||||||
model: mapValueOfType<String>(json, r'model'),
|
model: mapValueOfType<String>(json, r'model'),
|
||||||
page: num.parse('${json[r'page']}'),
|
page: mapValueOfType<int>(json, r'page'),
|
||||||
personIds: json[r'personIds'] is Iterable
|
personIds: json[r'personIds'] is Iterable
|
||||||
? (json[r'personIds'] as Iterable).cast<String>().toList(growable: false)
|
? (json[r'personIds'] as Iterable).cast<String>().toList(growable: false)
|
||||||
: const [],
|
: const [],
|
||||||
query: mapValueOfType<String>(json, r'query'),
|
query: mapValueOfType<String>(json, r'query'),
|
||||||
queryAssetId: mapValueOfType<String>(json, r'queryAssetId'),
|
queryAssetId: mapValueOfType<String>(json, r'queryAssetId'),
|
||||||
rating: num.parse('${json[r'rating']}'),
|
rating: mapValueOfType<int>(json, r'rating'),
|
||||||
size: num.parse('${json[r'size']}'),
|
size: mapValueOfType<int>(json, r'size'),
|
||||||
state: mapValueOfType<String>(json, r'state'),
|
state: mapValueOfType<String>(json, r'state'),
|
||||||
tagIds: json[r'tagIds'] is Iterable
|
tagIds: json[r'tagIds'] is Iterable
|
||||||
? (json[r'tagIds'] as Iterable).cast<String>().toList(growable: false)
|
? (json[r'tagIds'] as Iterable).cast<String>().toList(growable: false)
|
||||||
|
|
|
||||||
|
|
@ -145,7 +145,7 @@ class StatisticsSearchDto {
|
||||||
/// source code must fall back to having a nullable type.
|
/// source code must fall back to having a nullable type.
|
||||||
/// Consider adding a "default:" property in the specification file to hide this note.
|
/// Consider adding a "default:" property in the specification file to hide this note.
|
||||||
///
|
///
|
||||||
num? rating;
|
int? rating;
|
||||||
|
|
||||||
String? state;
|
String? state;
|
||||||
|
|
||||||
|
|
@ -448,7 +448,7 @@ class StatisticsSearchDto {
|
||||||
personIds: json[r'personIds'] is Iterable
|
personIds: json[r'personIds'] is Iterable
|
||||||
? (json[r'personIds'] as Iterable).cast<String>().toList(growable: false)
|
? (json[r'personIds'] as Iterable).cast<String>().toList(growable: false)
|
||||||
: const [],
|
: const [],
|
||||||
rating: num.parse('${json[r'rating']}'),
|
rating: mapValueOfType<int>(json, r'rating'),
|
||||||
state: mapValueOfType<String>(json, r'state'),
|
state: mapValueOfType<String>(json, r'state'),
|
||||||
tagIds: json[r'tagIds'] is Iterable
|
tagIds: json[r'tagIds'] is Iterable
|
||||||
? (json[r'tagIds'] as Iterable).cast<String>().toList(growable: false)
|
? (json[r'tagIds'] as Iterable).cast<String>().toList(growable: false)
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ class SystemConfigSmtpTransportDto {
|
||||||
|
|
||||||
/// Minimum value: 0
|
/// Minimum value: 0
|
||||||
/// Maximum value: 65535
|
/// Maximum value: 65535
|
||||||
num port;
|
int port;
|
||||||
|
|
||||||
String username;
|
String username;
|
||||||
|
|
||||||
|
|
@ -74,7 +74,7 @@ class SystemConfigSmtpTransportDto {
|
||||||
host: mapValueOfType<String>(json, r'host')!,
|
host: mapValueOfType<String>(json, r'host')!,
|
||||||
ignoreCert: mapValueOfType<bool>(json, r'ignoreCert')!,
|
ignoreCert: mapValueOfType<bool>(json, r'ignoreCert')!,
|
||||||
password: mapValueOfType<String>(json, r'password')!,
|
password: mapValueOfType<String>(json, r'password')!,
|
||||||
port: num.parse('${json[r'port']}'),
|
port: mapValueOfType<int>(json, r'port')!,
|
||||||
username: mapValueOfType<String>(json, r'username')!,
|
username: mapValueOfType<String>(json, r'username')!,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
12
mobile/openapi/lib/model/update_asset_dto.dart
generated
12
mobile/openapi/lib/model/update_asset_dto.dart
generated
|
|
@ -53,7 +53,7 @@ class UpdateAssetDto {
|
||||||
/// source code must fall back to having a nullable type.
|
/// source code must fall back to having a nullable type.
|
||||||
/// Consider adding a "default:" property in the specification file to hide this note.
|
/// Consider adding a "default:" property in the specification file to hide this note.
|
||||||
///
|
///
|
||||||
num? latitude;
|
double? latitude;
|
||||||
|
|
||||||
String? livePhotoVideoId;
|
String? livePhotoVideoId;
|
||||||
|
|
||||||
|
|
@ -63,7 +63,7 @@ class UpdateAssetDto {
|
||||||
/// source code must fall back to having a nullable type.
|
/// source code must fall back to having a nullable type.
|
||||||
/// Consider adding a "default:" property in the specification file to hide this note.
|
/// Consider adding a "default:" property in the specification file to hide this note.
|
||||||
///
|
///
|
||||||
num? longitude;
|
double? longitude;
|
||||||
|
|
||||||
/// Minimum value: -1
|
/// Minimum value: -1
|
||||||
/// Maximum value: 5
|
/// Maximum value: 5
|
||||||
|
|
@ -73,7 +73,7 @@ class UpdateAssetDto {
|
||||||
/// source code must fall back to having a nullable type.
|
/// source code must fall back to having a nullable type.
|
||||||
/// Consider adding a "default:" property in the specification file to hide this note.
|
/// Consider adding a "default:" property in the specification file to hide this note.
|
||||||
///
|
///
|
||||||
num? rating;
|
int? rating;
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Please note: This property should have been non-nullable! Since the specification file
|
/// Please note: This property should have been non-nullable! Since the specification file
|
||||||
|
|
@ -166,10 +166,10 @@ class UpdateAssetDto {
|
||||||
dateTimeOriginal: mapValueOfType<String>(json, r'dateTimeOriginal'),
|
dateTimeOriginal: mapValueOfType<String>(json, r'dateTimeOriginal'),
|
||||||
description: mapValueOfType<String>(json, r'description'),
|
description: mapValueOfType<String>(json, r'description'),
|
||||||
isFavorite: mapValueOfType<bool>(json, r'isFavorite'),
|
isFavorite: mapValueOfType<bool>(json, r'isFavorite'),
|
||||||
latitude: num.parse('${json[r'latitude']}'),
|
latitude: (mapValueOfType<num>(json, r'latitude')).toDouble(),
|
||||||
livePhotoVideoId: mapValueOfType<String>(json, r'livePhotoVideoId'),
|
livePhotoVideoId: mapValueOfType<String>(json, r'livePhotoVideoId'),
|
||||||
longitude: num.parse('${json[r'longitude']}'),
|
longitude: (mapValueOfType<num>(json, r'longitude')).toDouble(),
|
||||||
rating: num.parse('${json[r'rating']}'),
|
rating: mapValueOfType<int>(json, r'rating'),
|
||||||
visibility: AssetVisibility.fromJson(json[r'visibility']),
|
visibility: AssetVisibility.fromJson(json[r'visibility']),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2035,7 +2035,7 @@
|
||||||
"in": "query",
|
"in": "query",
|
||||||
"schema": {
|
"schema": {
|
||||||
"minimum": 1,
|
"minimum": 1,
|
||||||
"type": "number"
|
"type": "integer"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
@ -5242,7 +5242,7 @@
|
||||||
"schema": {
|
"schema": {
|
||||||
"minimum": 1,
|
"minimum": 1,
|
||||||
"default": 1,
|
"default": 1,
|
||||||
"type": "number"
|
"type": "integer"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -5254,7 +5254,7 @@
|
||||||
"minimum": 1,
|
"minimum": 1,
|
||||||
"maximum": 1000,
|
"maximum": 1000,
|
||||||
"default": 500,
|
"default": 500,
|
||||||
"type": "number"
|
"type": "integer"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -5955,7 +5955,7 @@
|
||||||
"schema": {
|
"schema": {
|
||||||
"minimum": -1,
|
"minimum": -1,
|
||||||
"maximum": 5,
|
"maximum": 5,
|
||||||
"type": "number"
|
"type": "integer"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -5965,7 +5965,7 @@
|
||||||
"schema": {
|
"schema": {
|
||||||
"minimum": 1,
|
"minimum": 1,
|
||||||
"maximum": 1000,
|
"maximum": 1000,
|
||||||
"type": "number"
|
"type": "integer"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -10408,7 +10408,7 @@
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
"dateTimeRelative": {
|
"dateTimeRelative": {
|
||||||
"type": "number"
|
"type": "integer"
|
||||||
},
|
},
|
||||||
"description": {
|
"description": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
|
|
@ -10428,15 +10428,17 @@
|
||||||
"type": "boolean"
|
"type": "boolean"
|
||||||
},
|
},
|
||||||
"latitude": {
|
"latitude": {
|
||||||
|
"format": "double",
|
||||||
"type": "number"
|
"type": "number"
|
||||||
},
|
},
|
||||||
"longitude": {
|
"longitude": {
|
||||||
|
"format": "double",
|
||||||
"type": "number"
|
"type": "number"
|
||||||
},
|
},
|
||||||
"rating": {
|
"rating": {
|
||||||
"maximum": 5,
|
"maximum": 5,
|
||||||
"minimum": -1,
|
"minimum": -1,
|
||||||
"type": "number"
|
"type": "integer"
|
||||||
},
|
},
|
||||||
"timeZone": {
|
"timeZone": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
|
|
@ -11571,7 +11573,7 @@
|
||||||
},
|
},
|
||||||
"keepLastAmount": {
|
"keepLastAmount": {
|
||||||
"minimum": 1,
|
"minimum": 1,
|
||||||
"type": "number"
|
"type": "integer"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
|
|
@ -11764,12 +11766,12 @@
|
||||||
"exifImageHeight": {
|
"exifImageHeight": {
|
||||||
"default": null,
|
"default": null,
|
||||||
"nullable": true,
|
"nullable": true,
|
||||||
"type": "number"
|
"type": "integer"
|
||||||
},
|
},
|
||||||
"exifImageWidth": {
|
"exifImageWidth": {
|
||||||
"default": null,
|
"default": null,
|
||||||
"nullable": true,
|
"nullable": true,
|
||||||
"type": "number"
|
"type": "integer"
|
||||||
},
|
},
|
||||||
"exposureTime": {
|
"exposureTime": {
|
||||||
"default": null,
|
"default": null,
|
||||||
|
|
@ -11778,6 +11780,7 @@
|
||||||
},
|
},
|
||||||
"fNumber": {
|
"fNumber": {
|
||||||
"default": null,
|
"default": null,
|
||||||
|
"format": "double",
|
||||||
"nullable": true,
|
"nullable": true,
|
||||||
"type": "number"
|
"type": "number"
|
||||||
},
|
},
|
||||||
|
|
@ -11789,16 +11792,18 @@
|
||||||
},
|
},
|
||||||
"focalLength": {
|
"focalLength": {
|
||||||
"default": null,
|
"default": null,
|
||||||
|
"format": "double",
|
||||||
"nullable": true,
|
"nullable": true,
|
||||||
"type": "number"
|
"type": "number"
|
||||||
},
|
},
|
||||||
"iso": {
|
"iso": {
|
||||||
"default": null,
|
"default": null,
|
||||||
"nullable": true,
|
"nullable": true,
|
||||||
"type": "number"
|
"type": "integer"
|
||||||
},
|
},
|
||||||
"latitude": {
|
"latitude": {
|
||||||
"default": null,
|
"default": null,
|
||||||
|
"format": "double",
|
||||||
"nullable": true,
|
"nullable": true,
|
||||||
"type": "number"
|
"type": "number"
|
||||||
},
|
},
|
||||||
|
|
@ -11809,6 +11814,7 @@
|
||||||
},
|
},
|
||||||
"longitude": {
|
"longitude": {
|
||||||
"default": null,
|
"default": null,
|
||||||
|
"format": "double",
|
||||||
"nullable": true,
|
"nullable": true,
|
||||||
"type": "number"
|
"type": "number"
|
||||||
},
|
},
|
||||||
|
|
@ -11841,7 +11847,7 @@
|
||||||
"rating": {
|
"rating": {
|
||||||
"default": null,
|
"default": null,
|
||||||
"nullable": true,
|
"nullable": true,
|
||||||
"type": "number"
|
"type": "integer"
|
||||||
},
|
},
|
||||||
"state": {
|
"state": {
|
||||||
"default": null,
|
"default": null,
|
||||||
|
|
@ -12594,7 +12600,7 @@
|
||||||
},
|
},
|
||||||
"page": {
|
"page": {
|
||||||
"minimum": 1,
|
"minimum": 1,
|
||||||
"type": "number"
|
"type": "integer"
|
||||||
},
|
},
|
||||||
"personIds": {
|
"personIds": {
|
||||||
"items": {
|
"items": {
|
||||||
|
|
@ -12609,12 +12615,12 @@
|
||||||
"rating": {
|
"rating": {
|
||||||
"maximum": 5,
|
"maximum": 5,
|
||||||
"minimum": -1,
|
"minimum": -1,
|
||||||
"type": "number"
|
"type": "integer"
|
||||||
},
|
},
|
||||||
"size": {
|
"size": {
|
||||||
"maximum": 1000,
|
"maximum": 1000,
|
||||||
"minimum": 1,
|
"minimum": 1,
|
||||||
"type": "number"
|
"type": "integer"
|
||||||
},
|
},
|
||||||
"state": {
|
"state": {
|
||||||
"nullable": true,
|
"nullable": true,
|
||||||
|
|
@ -12891,7 +12897,7 @@
|
||||||
"properties": {
|
"properties": {
|
||||||
"year": {
|
"year": {
|
||||||
"minimum": 1,
|
"minimum": 1,
|
||||||
"type": "number"
|
"type": "integer"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
|
|
@ -13440,9 +13446,11 @@
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
"latitude": {
|
"latitude": {
|
||||||
|
"format": "double",
|
||||||
"type": "number"
|
"type": "number"
|
||||||
},
|
},
|
||||||
"longitude": {
|
"longitude": {
|
||||||
|
"format": "double",
|
||||||
"type": "number"
|
"type": "number"
|
||||||
},
|
},
|
||||||
"name": {
|
"name": {
|
||||||
|
|
@ -13566,12 +13574,12 @@
|
||||||
"rating": {
|
"rating": {
|
||||||
"maximum": 5,
|
"maximum": 5,
|
||||||
"minimum": -1,
|
"minimum": -1,
|
||||||
"type": "number"
|
"type": "integer"
|
||||||
},
|
},
|
||||||
"size": {
|
"size": {
|
||||||
"maximum": 1000,
|
"maximum": 1000,
|
||||||
"minimum": 1,
|
"minimum": 1,
|
||||||
"type": "number"
|
"type": "integer"
|
||||||
},
|
},
|
||||||
"state": {
|
"state": {
|
||||||
"nullable": true,
|
"nullable": true,
|
||||||
|
|
@ -14254,7 +14262,7 @@
|
||||||
"duration": {
|
"duration": {
|
||||||
"description": "session duration, in seconds",
|
"description": "session duration, in seconds",
|
||||||
"minimum": 1,
|
"minimum": 1,
|
||||||
"type": "number"
|
"type": "integer"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"type": "object"
|
"type": "object"
|
||||||
|
|
@ -14650,7 +14658,7 @@
|
||||||
},
|
},
|
||||||
"page": {
|
"page": {
|
||||||
"minimum": 1,
|
"minimum": 1,
|
||||||
"type": "number"
|
"type": "integer"
|
||||||
},
|
},
|
||||||
"personIds": {
|
"personIds": {
|
||||||
"items": {
|
"items": {
|
||||||
|
|
@ -14669,12 +14677,12 @@
|
||||||
"rating": {
|
"rating": {
|
||||||
"maximum": 5,
|
"maximum": 5,
|
||||||
"minimum": -1,
|
"minimum": -1,
|
||||||
"type": "number"
|
"type": "integer"
|
||||||
},
|
},
|
||||||
"size": {
|
"size": {
|
||||||
"maximum": 1000,
|
"maximum": 1000,
|
||||||
"minimum": 1,
|
"minimum": 1,
|
||||||
"type": "number"
|
"type": "integer"
|
||||||
},
|
},
|
||||||
"state": {
|
"state": {
|
||||||
"nullable": true,
|
"nullable": true,
|
||||||
|
|
@ -14863,7 +14871,7 @@
|
||||||
"rating": {
|
"rating": {
|
||||||
"maximum": 5,
|
"maximum": 5,
|
||||||
"minimum": -1,
|
"minimum": -1,
|
||||||
"type": "number"
|
"type": "integer"
|
||||||
},
|
},
|
||||||
"state": {
|
"state": {
|
||||||
"nullable": true,
|
"nullable": true,
|
||||||
|
|
@ -16683,7 +16691,7 @@
|
||||||
"port": {
|
"port": {
|
||||||
"maximum": 65535,
|
"maximum": 65535,
|
||||||
"minimum": 0,
|
"minimum": 0,
|
||||||
"type": "number"
|
"type": "integer"
|
||||||
},
|
},
|
||||||
"username": {
|
"username": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
|
|
@ -17299,6 +17307,7 @@
|
||||||
"type": "boolean"
|
"type": "boolean"
|
||||||
},
|
},
|
||||||
"latitude": {
|
"latitude": {
|
||||||
|
"format": "double",
|
||||||
"type": "number"
|
"type": "number"
|
||||||
},
|
},
|
||||||
"livePhotoVideoId": {
|
"livePhotoVideoId": {
|
||||||
|
|
@ -17307,12 +17316,13 @@
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
"longitude": {
|
"longitude": {
|
||||||
|
"format": "double",
|
||||||
"type": "number"
|
"type": "number"
|
||||||
},
|
},
|
||||||
"rating": {
|
"rating": {
|
||||||
"maximum": 5,
|
"maximum": 5,
|
||||||
"minimum": -1,
|
"minimum": -1,
|
||||||
"type": "number"
|
"type": "integer"
|
||||||
},
|
},
|
||||||
"visibility": {
|
"visibility": {
|
||||||
"allOf": [
|
"allOf": [
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import { ApiProperty } from '@nestjs/swagger';
|
import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
|
||||||
import { Type } from 'class-transformer';
|
import { Type } from 'class-transformer';
|
||||||
import {
|
import {
|
||||||
IsArray,
|
IsArray,
|
||||||
|
|
@ -46,17 +46,20 @@ export class UpdateAssetBase {
|
||||||
@ValidateGPS()
|
@ValidateGPS()
|
||||||
@IsLatitude()
|
@IsLatitude()
|
||||||
@IsNotEmpty()
|
@IsNotEmpty()
|
||||||
|
@ApiPropertyOptional({ type: 'number', format: 'double' })
|
||||||
latitude?: number;
|
latitude?: number;
|
||||||
|
|
||||||
@ValidateGPS()
|
@ValidateGPS()
|
||||||
@IsLongitude()
|
@IsLongitude()
|
||||||
@IsNotEmpty()
|
@IsNotEmpty()
|
||||||
|
@ApiPropertyOptional({ type: 'number', format: 'double' })
|
||||||
longitude?: number;
|
longitude?: number;
|
||||||
|
|
||||||
@Optional()
|
@Optional()
|
||||||
@IsInt()
|
@IsInt()
|
||||||
@Max(5)
|
@Max(5)
|
||||||
@Min(-1)
|
@Min(-1)
|
||||||
|
@ApiPropertyOptional({ type: 'integer' })
|
||||||
rating?: number;
|
rating?: number;
|
||||||
|
|
||||||
@Optional()
|
@Optional()
|
||||||
|
|
@ -74,6 +77,7 @@ export class AssetBulkUpdateDto extends UpdateAssetBase {
|
||||||
@IsNotSiblingOf(['dateTimeOriginal'])
|
@IsNotSiblingOf(['dateTimeOriginal'])
|
||||||
@Optional()
|
@Optional()
|
||||||
@IsInt()
|
@IsInt()
|
||||||
|
@ApiPropertyOptional({ type: 'integer' })
|
||||||
dateTimeRelative?: number;
|
dateTimeRelative?: number;
|
||||||
|
|
||||||
@IsNotSiblingOf(['dateTimeOriginal'])
|
@IsNotSiblingOf(['dateTimeOriginal'])
|
||||||
|
|
@ -92,6 +96,7 @@ export class RandomAssetsDto {
|
||||||
@IsInt()
|
@IsInt()
|
||||||
@IsPositive()
|
@IsPositive()
|
||||||
@Type(() => Number)
|
@Type(() => Number)
|
||||||
|
@ApiPropertyOptional({ type: 'integer' })
|
||||||
count?: number;
|
count?: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,30 +1,37 @@
|
||||||
import { ApiProperty } from '@nestjs/swagger';
|
import { ApiPropertyOptional } from '@nestjs/swagger';
|
||||||
import { Exif } from 'src/database';
|
import { Exif } from 'src/database';
|
||||||
|
|
||||||
export class ExifResponseDto {
|
export class ExifResponseDto {
|
||||||
make?: string | null = null;
|
make?: string | null = null;
|
||||||
model?: string | null = null;
|
model?: string | null = null;
|
||||||
|
@ApiPropertyOptional({ type: 'integer' })
|
||||||
exifImageWidth?: number | null = null;
|
exifImageWidth?: number | null = null;
|
||||||
|
@ApiPropertyOptional({ type: 'integer' })
|
||||||
exifImageHeight?: number | null = null;
|
exifImageHeight?: number | null = null;
|
||||||
|
@ApiPropertyOptional({ type: 'integer', format: 'int64' })
|
||||||
@ApiProperty({ type: 'integer', format: 'int64' })
|
|
||||||
fileSizeInByte?: number | null = null;
|
fileSizeInByte?: number | null = null;
|
||||||
orientation?: string | null = null;
|
orientation?: string | null = null;
|
||||||
dateTimeOriginal?: Date | null = null;
|
dateTimeOriginal?: Date | null = null;
|
||||||
modifyDate?: Date | null = null;
|
modifyDate?: Date | null = null;
|
||||||
timeZone?: string | null = null;
|
timeZone?: string | null = null;
|
||||||
lensModel?: string | null = null;
|
lensModel?: string | null = null;
|
||||||
|
@ApiPropertyOptional({ type: 'number', format: 'double' })
|
||||||
fNumber?: number | null = null;
|
fNumber?: number | null = null;
|
||||||
|
@ApiPropertyOptional({ type: 'number', format: 'double' })
|
||||||
focalLength?: number | null = null;
|
focalLength?: number | null = null;
|
||||||
|
@ApiPropertyOptional({ type: 'integer' })
|
||||||
iso?: number | null = null;
|
iso?: number | null = null;
|
||||||
exposureTime?: string | null = null;
|
exposureTime?: string | null = null;
|
||||||
|
@ApiPropertyOptional({ type: 'number', format: 'double' })
|
||||||
latitude?: number | null = null;
|
latitude?: number | null = null;
|
||||||
|
@ApiPropertyOptional({ type: 'number', format: 'double' })
|
||||||
longitude?: number | null = null;
|
longitude?: number | null = null;
|
||||||
city?: string | null = null;
|
city?: string | null = null;
|
||||||
state?: string | null = null;
|
state?: string | null = null;
|
||||||
country?: string | null = null;
|
country?: string | null = null;
|
||||||
description?: string | null = null;
|
description?: string | null = null;
|
||||||
projectionType?: string | null = null;
|
projectionType?: string | null = null;
|
||||||
|
@ApiPropertyOptional({ type: 'integer' })
|
||||||
rating?: number | null = null;
|
rating?: number | null = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,12 +4,12 @@ import { IsLatitude, IsLongitude } from 'class-validator';
|
||||||
import { ValidateBoolean, ValidateDate } from 'src/validation';
|
import { ValidateBoolean, ValidateDate } from 'src/validation';
|
||||||
|
|
||||||
export class MapReverseGeocodeDto {
|
export class MapReverseGeocodeDto {
|
||||||
@ApiProperty({ format: 'double' })
|
@ApiProperty({ type: 'number', format: 'double' })
|
||||||
@Type(() => Number)
|
@Type(() => Number)
|
||||||
@IsLatitude({ message: ({ property }) => `${property} must be a number between -90 and 90` })
|
@IsLatitude({ message: ({ property }) => `${property} must be a number between -90 and 90` })
|
||||||
lat!: number;
|
lat!: number;
|
||||||
|
|
||||||
@ApiProperty({ format: 'double' })
|
@ApiProperty({ type: 'number', format: 'double' })
|
||||||
@Type(() => Number)
|
@Type(() => Number)
|
||||||
@IsLongitude({ message: ({ property }) => `${property} must be a number between -180 and 180` })
|
@IsLongitude({ message: ({ property }) => `${property} must be a number between -180 and 180` })
|
||||||
lon!: number;
|
lon!: number;
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,7 @@ export class MemorySearchDto {
|
||||||
class OnThisDayDto {
|
class OnThisDayDto {
|
||||||
@IsInt()
|
@IsInt()
|
||||||
@IsPositive()
|
@IsPositive()
|
||||||
|
@ApiProperty({ type: 'integer' })
|
||||||
year!: number;
|
year!: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -89,14 +89,14 @@ export class PersonSearchDto {
|
||||||
closestAssetId?: string;
|
closestAssetId?: string;
|
||||||
|
|
||||||
/** Page number for pagination */
|
/** Page number for pagination */
|
||||||
@ApiPropertyOptional()
|
@ApiPropertyOptional({ type: 'integer' })
|
||||||
@IsInt()
|
@IsInt()
|
||||||
@Min(1)
|
@Min(1)
|
||||||
@Type(() => Number)
|
@Type(() => Number)
|
||||||
page: number = 1;
|
page: number = 1;
|
||||||
|
|
||||||
/** Number of items per page */
|
/** Number of items per page */
|
||||||
@ApiPropertyOptional()
|
@ApiPropertyOptional({ type: 'integer' })
|
||||||
@IsInt()
|
@IsInt()
|
||||||
@Min(1)
|
@Min(1)
|
||||||
@Max(1000)
|
@Max(1000)
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import { ApiProperty } from '@nestjs/swagger';
|
import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
|
||||||
import { Type } from 'class-transformer';
|
import { Type } from 'class-transformer';
|
||||||
import { IsInt, IsNotEmpty, IsString, Max, Min } from 'class-validator';
|
import { IsInt, IsNotEmpty, IsString, Max, Min } from 'class-validator';
|
||||||
import { Place } from 'src/database';
|
import { Place } from 'src/database';
|
||||||
|
|
@ -100,6 +100,7 @@ class BaseSearchDto {
|
||||||
@IsInt()
|
@IsInt()
|
||||||
@Max(5)
|
@Max(5)
|
||||||
@Min(-1)
|
@Min(-1)
|
||||||
|
@ApiPropertyOptional({ type: 'integer' })
|
||||||
rating?: number;
|
rating?: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -115,6 +116,7 @@ class BaseSearchWithResultsDto extends BaseSearchDto {
|
||||||
@Max(1000)
|
@Max(1000)
|
||||||
@Type(() => Number)
|
@Type(() => Number)
|
||||||
@Optional()
|
@Optional()
|
||||||
|
@ApiPropertyOptional({ type: 'integer' })
|
||||||
size?: number;
|
size?: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -186,6 +188,7 @@ export class MetadataSearchDto extends RandomSearchDto {
|
||||||
@Min(1)
|
@Min(1)
|
||||||
@Type(() => Number)
|
@Type(() => Number)
|
||||||
@Optional()
|
@Optional()
|
||||||
|
@ApiPropertyOptional({ type: 'integer' })
|
||||||
page?: number;
|
page?: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -215,6 +218,7 @@ export class SmartSearchDto extends BaseSearchWithResultsDto {
|
||||||
@Min(1)
|
@Min(1)
|
||||||
@Type(() => Number)
|
@Type(() => Number)
|
||||||
@Optional()
|
@Optional()
|
||||||
|
@ApiPropertyOptional({ type: 'integer' })
|
||||||
page?: number;
|
page?: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -235,7 +239,9 @@ export class SearchPeopleDto {
|
||||||
|
|
||||||
export class PlacesResponseDto {
|
export class PlacesResponseDto {
|
||||||
name!: string;
|
name!: string;
|
||||||
|
@ApiProperty({ type: 'number', format: 'double' })
|
||||||
latitude!: number;
|
latitude!: number;
|
||||||
|
@ApiProperty({ type: 'number', format: 'double' })
|
||||||
longitude!: number;
|
longitude!: number;
|
||||||
admin1name?: string;
|
admin1name?: string;
|
||||||
admin2name?: string;
|
admin2name?: string;
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
import { ApiPropertyOptional } from '@nestjs/swagger';
|
||||||
import { Equals, IsInt, IsPositive, IsString } from 'class-validator';
|
import { Equals, IsInt, IsPositive, IsString } from 'class-validator';
|
||||||
import { Session } from 'src/database';
|
import { Session } from 'src/database';
|
||||||
import { Optional, ValidateBoolean } from 'src/validation';
|
import { Optional, ValidateBoolean } from 'src/validation';
|
||||||
|
|
@ -9,6 +10,7 @@ export class SessionCreateDto {
|
||||||
@IsInt()
|
@IsInt()
|
||||||
@IsPositive()
|
@IsPositive()
|
||||||
@Optional()
|
@Optional()
|
||||||
|
@ApiPropertyOptional({ type: 'integer' })
|
||||||
duration?: number;
|
duration?: number;
|
||||||
|
|
||||||
@IsString()
|
@IsString()
|
||||||
|
|
|
||||||
|
|
@ -53,6 +53,7 @@ export class DatabaseBackupConfig {
|
||||||
@IsInt()
|
@IsInt()
|
||||||
@IsPositive()
|
@IsPositive()
|
||||||
@IsNotEmpty()
|
@IsNotEmpty()
|
||||||
|
@ApiProperty({ type: 'integer' })
|
||||||
keepLastAmount!: number;
|
keepLastAmount!: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -451,6 +452,7 @@ class SystemConfigSmtpTransportDto {
|
||||||
@IsNumber()
|
@IsNumber()
|
||||||
@Min(0)
|
@Min(0)
|
||||||
@Max(65_535)
|
@Max(65_535)
|
||||||
|
@ApiProperty({ type: 'integer' })
|
||||||
port!: number;
|
port!: number;
|
||||||
|
|
||||||
@IsString()
|
@IsString()
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import { ApiProperty } from '@nestjs/swagger';
|
import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
|
||||||
import { Type } from 'class-transformer';
|
import { Type } from 'class-transformer';
|
||||||
import { IsDateString, IsInt, IsPositive, ValidateNested } from 'class-validator';
|
import { IsDateString, IsInt, IsPositive, ValidateNested } from 'class-validator';
|
||||||
import { AssetOrder, UserAvatarColor } from 'src/enum';
|
import { AssetOrder, UserAvatarColor } from 'src/enum';
|
||||||
|
|
@ -72,7 +72,7 @@ class DownloadUpdate implements Partial<DownloadResponse> {
|
||||||
@Optional()
|
@Optional()
|
||||||
@IsInt()
|
@IsInt()
|
||||||
@IsPositive()
|
@IsPositive()
|
||||||
@ApiProperty({ type: 'integer' })
|
@ApiPropertyOptional({ type: 'integer' })
|
||||||
archiveSize?: number;
|
archiveSize?: number;
|
||||||
|
|
||||||
@ValidateBoolean({ optional: true })
|
@ValidateBoolean({ optional: true })
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import { ApiProperty } from '@nestjs/swagger';
|
import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
|
||||||
import { Transform } from 'class-transformer';
|
import { Transform } from 'class-transformer';
|
||||||
import { IsEmail, IsInt, IsNotEmpty, IsString, Min } from 'class-validator';
|
import { IsEmail, IsInt, IsNotEmpty, IsString, Min } from 'class-validator';
|
||||||
import { User, UserAdmin } from 'src/database';
|
import { User, UserAdmin } from 'src/database';
|
||||||
|
|
@ -93,7 +93,7 @@ export class UserAdminCreateDto {
|
||||||
@Optional({ nullable: true })
|
@Optional({ nullable: true })
|
||||||
@IsInt()
|
@IsInt()
|
||||||
@Min(0)
|
@Min(0)
|
||||||
@ApiProperty({ type: 'integer', format: 'int64' })
|
@ApiPropertyOptional({ type: 'integer', format: 'int64' })
|
||||||
quotaSizeInBytes?: number | null;
|
quotaSizeInBytes?: number | null;
|
||||||
|
|
||||||
@ValidateBoolean({ optional: true })
|
@ValidateBoolean({ optional: true })
|
||||||
|
|
@ -139,7 +139,7 @@ export class UserAdminUpdateDto {
|
||||||
@Optional({ nullable: true })
|
@Optional({ nullable: true })
|
||||||
@IsInt()
|
@IsInt()
|
||||||
@Min(0)
|
@Min(0)
|
||||||
@ApiProperty({ type: 'integer', format: 'int64' })
|
@ApiPropertyOptional({ type: 'integer', format: 'int64' })
|
||||||
quotaSizeInBytes?: number | null;
|
quotaSizeInBytes?: number | null;
|
||||||
|
|
||||||
@ValidateBoolean({ optional: true })
|
@ValidateBoolean({ optional: true })
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue