Merge remote-tracking branch 'origin/main' into feat/integrity-checks-izzy

Signed-off-by: izzy <me@insrt.uk>
This commit is contained in:
izzy
2026-02-06 16:28:53 +00:00
958 changed files with 36912 additions and 7752 deletions
+4
View File
@@ -19,8 +19,10 @@ class ActivityCreateDto {
required this.type,
});
/// Album ID
String albumId;
/// Asset ID (if activity is for an asset)
///
/// 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
@@ -29,6 +31,7 @@ class ActivityCreateDto {
///
String? assetId;
/// Comment text (required if type is comment)
///
/// 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
@@ -37,6 +40,7 @@ class ActivityCreateDto {
///
String? comment;
/// Activity type (like or comment)
ReactionType type;
@override
+5
View File
@@ -21,14 +21,19 @@ class ActivityResponseDto {
required this.user,
});
/// Asset ID (if activity is for an asset)
String? assetId;
/// Comment text (for comment activities)
String? comment;
/// Creation date
DateTime createdAt;
/// Activity ID
String id;
/// Activity type
ReactionType type;
UserResponseDto user;
@@ -17,8 +17,10 @@ class ActivityStatisticsResponseDto {
required this.likes,
});
/// Number of comments
int comments;
/// Number of likes
int likes;
@override
+1
View File
@@ -16,6 +16,7 @@ class AddUsersDto {
this.albumUsers = const [],
});
/// Album users to add
List<AlbumUserAddDto> albumUsers;
@override
@@ -16,6 +16,7 @@ class AdminOnboardingUpdateDto {
required this.isOnboarded,
});
/// Is admin onboarded
bool isOnboarded;
@override
+15
View File
@@ -34,22 +34,28 @@ class AlbumResponseDto {
required this.updatedAt,
});
/// Album name
String albumName;
/// Thumbnail asset ID
String? albumThumbnailAssetId;
List<AlbumUserResponseDto> albumUsers;
/// Number of assets
int assetCount;
List<AssetResponseDto> assets;
List<ContributorCountResponseDto> contributorCounts;
/// Creation date
DateTime createdAt;
/// Album description
String description;
/// End date (latest asset)
///
/// 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
@@ -58,12 +64,16 @@ class AlbumResponseDto {
///
DateTime? endDate;
/// Has shared link
bool hasSharedLink;
/// Album ID
String id;
/// Activity feed enabled
bool isActivityEnabled;
/// Last modified asset timestamp
///
/// 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
@@ -72,6 +82,7 @@ class AlbumResponseDto {
///
DateTime? lastModifiedAssetTimestamp;
/// Asset sort order
///
/// 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
@@ -82,10 +93,13 @@ class AlbumResponseDto {
UserResponseDto owner;
/// Owner user ID
String ownerId;
/// Is shared album
bool shared;
/// Start date (earliest asset)
///
/// 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
@@ -94,6 +108,7 @@ class AlbumResponseDto {
///
DateTime? startDate;
/// Last update date
DateTime updatedAt;
@override
@@ -18,10 +18,13 @@ class AlbumStatisticsResponseDto {
required this.shared,
});
/// Number of non-shared albums
int notShared;
/// Number of owned albums
int owned;
/// Number of shared albums
int shared;
@override
+2
View File
@@ -17,8 +17,10 @@ class AlbumUserAddDto {
required this.userId,
});
/// Album user role
AlbumUserRole role;
/// User ID
String userId;
@override
+2
View File
@@ -17,8 +17,10 @@ class AlbumUserCreateDto {
required this.userId,
});
/// Album user role
AlbumUserRole role;
/// User ID
String userId;
@override
+1
View File
@@ -17,6 +17,7 @@ class AlbumUserResponseDto {
required this.user,
});
/// Album user role
AlbumUserRole role;
UserResponseDto user;
+1 -1
View File
@@ -10,7 +10,7 @@
part of openapi.api;
/// Album user role
class AlbumUserRole {
/// Instantiate a new enum with the provided [value].
const AlbumUserRole._(this.value);
+2
View File
@@ -17,8 +17,10 @@ class AlbumsAddAssetsDto {
this.assetIds = const [],
});
/// Album IDs
List<String> albumIds;
/// Asset IDs
List<String> assetIds;
@override
@@ -17,6 +17,7 @@ class AlbumsAddAssetsResponseDto {
required this.success,
});
/// Error reason
///
/// 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
@@ -25,6 +26,7 @@ class AlbumsAddAssetsResponseDto {
///
BulkIdErrorReason? error;
/// Operation success
bool success;
@override
+1
View File
@@ -16,6 +16,7 @@ class AlbumsResponse {
this.defaultAssetOrder = AssetOrder.desc,
});
/// Default asset order for albums
AssetOrder defaultAssetOrder;
@override
+1
View File
@@ -16,6 +16,7 @@ class AlbumsUpdate {
this.defaultAssetOrder,
});
/// Default asset order for albums
///
/// 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
+2
View File
@@ -17,6 +17,7 @@ class APIKeyCreateDto {
this.permissions = const [],
});
/// API key name
///
/// 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
@@ -25,6 +26,7 @@ class APIKeyCreateDto {
///
String? name;
/// List of permissions
List<Permission> permissions;
@override
@@ -19,6 +19,7 @@ class APIKeyCreateResponseDto {
APIKeyResponseDto apiKey;
/// API key secret (only shown once)
String secret;
@override
+5
View File
@@ -20,14 +20,19 @@ class APIKeyResponseDto {
required this.updatedAt,
});
/// Creation date
DateTime createdAt;
/// API key ID
String id;
/// API key name
String name;
/// List of permissions
List<Permission> permissions;
/// Last update date
DateTime updatedAt;
@override
+2
View File
@@ -17,6 +17,7 @@ class APIKeyUpdateDto {
this.permissions = const [],
});
/// API key name
///
/// 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
@@ -25,6 +26,7 @@ class APIKeyUpdateDto {
///
String? name;
/// List of permissions
List<Permission> permissions;
@override
+2
View File
@@ -17,6 +17,7 @@ class AssetBulkDeleteDto {
this.ids = const [],
});
/// Force delete even if in use
///
/// 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
@@ -25,6 +26,7 @@ class AssetBulkDeleteDto {
///
bool? force;
/// IDs to process
List<String> ids;
@override
+12
View File
@@ -26,6 +26,7 @@ class AssetBulkUpdateDto {
this.visibility,
});
/// Original date and time
///
/// 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
@@ -34,6 +35,7 @@ class AssetBulkUpdateDto {
///
String? dateTimeOriginal;
/// Relative time offset in seconds
///
/// 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
@@ -42,6 +44,7 @@ class AssetBulkUpdateDto {
///
num? dateTimeRelative;
/// Asset description
///
/// 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
@@ -50,10 +53,13 @@ class AssetBulkUpdateDto {
///
String? description;
/// Duplicate ID
String? duplicateId;
/// Asset IDs to update
List<String> ids;
/// Mark as favorite
///
/// 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
@@ -62,6 +68,7 @@ class AssetBulkUpdateDto {
///
bool? isFavorite;
/// Latitude coordinate
///
/// 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
@@ -70,6 +77,7 @@ class AssetBulkUpdateDto {
///
num? latitude;
/// Longitude coordinate
///
/// 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
@@ -78,6 +86,8 @@ class AssetBulkUpdateDto {
///
num? longitude;
/// Rating
///
/// Minimum value: -1
/// Maximum value: 5
///
@@ -88,6 +98,7 @@ class AssetBulkUpdateDto {
///
num? rating;
/// Time zone (IANA timezone)
///
/// 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
@@ -96,6 +107,7 @@ class AssetBulkUpdateDto {
///
String? timeZone;
/// Asset visibility
///
/// 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
@@ -16,6 +16,7 @@ class AssetBulkUploadCheckDto {
this.assets = const [],
});
/// Assets to check
List<AssetBulkUploadCheckItem> assets;
@override
+2 -1
View File
@@ -17,9 +17,10 @@ class AssetBulkUploadCheckItem {
required this.id,
});
/// base64 or hex encoded sha1 hash
/// Base64 or hex encoded SHA1 hash
String checksum;
/// Asset ID
String id;
@override
@@ -16,6 +16,7 @@ class AssetBulkUploadCheckResponseDto {
this.results = const [],
});
/// Upload check results
List<AssetBulkUploadCheckResult> results;
@override
@@ -20,8 +20,10 @@ class AssetBulkUploadCheckResult {
this.reason,
});
/// Upload action
AssetBulkUploadCheckResultActionEnum action;
/// Existing asset ID if duplicate
///
/// 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
@@ -30,8 +32,10 @@ class AssetBulkUploadCheckResult {
///
String? assetId;
/// Asset ID
String id;
/// Whether existing asset is trashed
///
/// 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
@@ -40,6 +44,7 @@ class AssetBulkUploadCheckResult {
///
bool? isTrashed;
/// Rejection reason if rejected
AssetBulkUploadCheckResultReasonEnum? reason;
@override
@@ -150,7 +155,7 @@ class AssetBulkUploadCheckResult {
};
}
/// Upload action
class AssetBulkUploadCheckResultActionEnum {
/// Instantiate a new enum with the provided [value].
const AssetBulkUploadCheckResultActionEnum._(this.value);
@@ -224,7 +229,7 @@ class AssetBulkUploadCheckResultActionEnumTypeTransformer {
}
/// Rejection reason if rejected
class AssetBulkUploadCheckResultReasonEnum {
/// Instantiate a new enum with the provided [value].
const AssetBulkUploadCheckResultReasonEnum._(this.value);
+7
View File
@@ -22,18 +22,25 @@ class AssetCopyDto {
required this.targetId,
});
/// Copy album associations
bool albums;
/// Copy favorite status
bool favorite;
/// Copy shared links
bool sharedLinks;
/// Copy sidecar file
bool sidecar;
/// Source asset ID
String sourceId;
/// Copy stack association
bool stack;
/// Target asset ID
String targetId;
@override
+2
View File
@@ -17,8 +17,10 @@ class AssetDeltaSyncDto {
this.userIds = const [],
});
/// Sync assets updated after this date
DateTime updatedAfter;
/// User IDs to sync
List<String> userIds;
@override
@@ -18,10 +18,13 @@ class AssetDeltaSyncResponseDto {
this.upserted = const [],
});
/// Deleted asset IDs
List<String> deleted;
/// Whether full sync is needed
bool needsFullSync;
/// Upserted assets
List<AssetResponseDto> upserted;
@override
+1 -1
View File
@@ -10,7 +10,7 @@
part of openapi.api;
/// Type of edit action to perform
class AssetEditAction {
/// Instantiate a new enum with the provided [value].
const AssetEditAction._(this.value);
+1
View File
@@ -17,6 +17,7 @@ class AssetEditActionCrop {
required this.parameters,
});
/// Type of edit action to perform
AssetEditAction action;
CropParameters parameters;
+1 -1
View File
@@ -16,7 +16,7 @@ class AssetEditActionListDto {
this.edits = const [],
});
/// list of edits
/// List of edit actions to apply (crop, rotate, or mirror)
List<AssetEditActionListDtoEditsInner> edits;
@override
@@ -17,6 +17,7 @@ class AssetEditActionListDtoEditsInner {
required this.parameters,
});
/// Type of edit action to perform
AssetEditAction action;
MirrorParameters parameters;
+1
View File
@@ -17,6 +17,7 @@ class AssetEditActionMirror {
required this.parameters,
});
/// Type of edit action to perform
AssetEditAction action;
MirrorParameters parameters;
+1
View File
@@ -17,6 +17,7 @@ class AssetEditActionRotate {
required this.parameters,
});
/// Type of edit action to perform
AssetEditAction action;
RotateParameters parameters;
+2 -1
View File
@@ -17,9 +17,10 @@ class AssetEditsDto {
this.edits = const [],
});
/// Asset ID to apply edits to
String assetId;
/// list of edits
/// List of edit actions to apply (crop, rotate, or mirror)
List<AssetEditActionListDtoEditsInner> edits;
@override
+8
View File
@@ -23,20 +23,28 @@ class AssetFaceCreateDto {
required this.y,
});
/// Asset ID
String assetId;
/// Face bounding box height
int height;
/// Image height in pixels
int imageHeight;
/// Image width in pixels
int imageWidth;
/// Person ID
String personId;
/// Face bounding box width
int width;
/// Face bounding box X coordinate
int x;
/// Face bounding box Y coordinate
int y;
@override
+1
View File
@@ -16,6 +16,7 @@ class AssetFaceDeleteDto {
required this.force,
});
/// Force delete even if person has other faces
bool force;
@override
+9
View File
@@ -24,22 +24,31 @@ class AssetFaceResponseDto {
this.sourceType,
});
/// Bounding box X1 coordinate
int boundingBoxX1;
/// Bounding box X2 coordinate
int boundingBoxX2;
/// Bounding box Y1 coordinate
int boundingBoxY1;
/// Bounding box Y2 coordinate
int boundingBoxY2;
/// Face ID
String id;
/// Image height in pixels
int imageHeight;
/// Image width in pixels
int imageWidth;
/// Person associated with face
PersonResponseDto? person;
/// Face detection source type
///
/// 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
+1
View File
@@ -16,6 +16,7 @@ class AssetFaceUpdateDto {
this.data = const [],
});
/// Face update items
List<AssetFaceUpdateItem> data;
@override
+2
View File
@@ -17,8 +17,10 @@ class AssetFaceUpdateItem {
required this.personId,
});
/// Asset ID
String assetId;
/// Person ID
String personId;
@override
@@ -23,20 +23,28 @@ class AssetFaceWithoutPersonResponseDto {
this.sourceType,
});
/// Bounding box X1 coordinate
int boundingBoxX1;
/// Bounding box X2 coordinate
int boundingBoxX2;
/// Bounding box Y1 coordinate
int boundingBoxY1;
/// Bounding box Y2 coordinate
int boundingBoxY2;
/// Face ID
String id;
/// Image height in pixels
int imageHeight;
/// Image width in pixels
int imageWidth;
/// Face detection source type
///
/// 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
+5
View File
@@ -19,6 +19,7 @@ class AssetFullSyncDto {
this.userId,
});
/// Last asset ID (pagination)
///
/// 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
@@ -27,11 +28,15 @@ class AssetFullSyncDto {
///
String? lastId;
/// Maximum number of assets to return
///
/// Minimum value: 1
int limit;
/// Sync assets updated until this date
DateTime updatedUntil;
/// Filter by user ID
///
/// 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
+1
View File
@@ -16,6 +16,7 @@ class AssetIdsDto {
this.assetIds = const [],
});
/// Asset IDs
List<String> assetIds;
@override
+4 -1
View File
@@ -18,10 +18,13 @@ class AssetIdsResponseDto {
required this.success,
});
/// Asset ID
String assetId;
/// Error reason if failed
AssetIdsResponseDtoErrorEnum? error;
/// Whether operation succeeded
bool success;
@override
@@ -116,7 +119,7 @@ class AssetIdsResponseDto {
};
}
/// Error reason if failed
class AssetIdsResponseDtoErrorEnum {
/// Instantiate a new enum with the provided [value].
const AssetIdsResponseDtoErrorEnum._(this.value);
+1 -1
View File
@@ -10,7 +10,7 @@
part of openapi.api;
/// Job name
class AssetJobName {
/// Instantiate a new enum with the provided [value].
const AssetJobName._(this.value);
+2
View File
@@ -17,8 +17,10 @@ class AssetJobsDto {
required this.name,
});
/// Asset IDs
List<String> assetIds;
/// Job name
AssetJobName name;
@override
+2
View File
@@ -17,8 +17,10 @@ class AssetMediaResponseDto {
required this.status,
});
/// Asset media ID
String id;
/// Upload status
AssetMediaStatus status;
@override
+3
View File
@@ -23,12 +23,14 @@ class AssetMediaSize {
String toJson() => value;
static const original = AssetMediaSize._(r'original');
static const fullsize = AssetMediaSize._(r'fullsize');
static const preview = AssetMediaSize._(r'preview');
static const thumbnail = AssetMediaSize._(r'thumbnail');
/// List of all possible values in this [enum][AssetMediaSize].
static const values = <AssetMediaSize>[
original,
fullsize,
preview,
thumbnail,
@@ -70,6 +72,7 @@ class AssetMediaSizeTypeTransformer {
AssetMediaSize? decode(dynamic data, {bool allowNull = true}) {
if (data != null) {
switch (data) {
case r'original': return AssetMediaSize.original;
case r'fullsize': return AssetMediaSize.fullsize;
case r'preview': return AssetMediaSize.preview;
case r'thumbnail': return AssetMediaSize.thumbnail;
+1 -1
View File
@@ -10,7 +10,7 @@
part of openapi.api;
/// Upload status
class AssetMediaStatus {
/// Instantiate a new enum with the provided [value].
const AssetMediaStatus._(this.value);
@@ -16,6 +16,7 @@ class AssetMetadataBulkDeleteDto {
this.items = const [],
});
/// Metadata items to delete
List<AssetMetadataBulkDeleteItemDto> items;
@override
@@ -17,8 +17,10 @@ class AssetMetadataBulkDeleteItemDto {
required this.key,
});
/// Asset ID
String assetId;
/// Metadata key
String key;
@override
@@ -19,12 +19,16 @@ class AssetMetadataBulkResponseDto {
required this.value,
});
/// Asset ID
String assetId;
/// Metadata key
String key;
/// Last update date
DateTime updatedAt;
/// Metadata value (object)
Object value;
@override
@@ -16,6 +16,7 @@ class AssetMetadataBulkUpsertDto {
this.items = const [],
});
/// Metadata items to upsert
List<AssetMetadataBulkUpsertItemDto> items;
@override
@@ -18,10 +18,13 @@ class AssetMetadataBulkUpsertItemDto {
required this.value,
});
/// Asset ID
String assetId;
/// Metadata key
String key;
/// Metadata value (object)
Object value;
@override
@@ -18,10 +18,13 @@ class AssetMetadataResponseDto {
required this.value,
});
/// Metadata key
String key;
/// Last update date
DateTime updatedAt;
/// Metadata value (object)
Object value;
@override
+1
View File
@@ -16,6 +16,7 @@ class AssetMetadataUpsertDto {
this.items = const [],
});
/// Metadata items to upsert
List<AssetMetadataUpsertItemDto> items;
@override
@@ -17,8 +17,10 @@ class AssetMetadataUpsertItemDto {
required this.value,
});
/// Metadata key
String key;
/// Metadata value (object)
Object value;
@override
+1 -1
View File
@@ -10,7 +10,7 @@
part of openapi.api;
/// Asset sort order
class AssetOrder {
/// Instantiate a new enum with the provided [value].
const AssetOrder._(this.value);
+24 -1
View File
@@ -50,18 +50,22 @@ class AssetResponseDto {
required this.width,
});
/// base64 encoded sha1 hash
/// Base64 encoded SHA1 hash
String checksum;
/// The UTC timestamp when the asset was originally uploaded to Immich.
DateTime createdAt;
/// Device asset ID
String deviceAssetId;
/// Device ID
String deviceId;
/// Duplicate group ID
String? duplicateId;
/// Video duration (for videos)
String duration;
///
@@ -78,31 +82,43 @@ class AssetResponseDto {
/// The UTC timestamp when the file was last modified on the filesystem. This reflects the last time the physical file was changed, which may be different from when the photo was originally taken.
DateTime fileModifiedAt;
/// Whether asset has metadata
bool hasMetadata;
/// Asset height
num? height;
/// Asset ID
String id;
/// Is archived
bool isArchived;
/// Is edited
bool isEdited;
/// Is favorite
bool isFavorite;
/// Is offline
bool isOffline;
/// Is trashed
bool isTrashed;
/// Library ID
String? libraryId;
/// Live photo video ID
String? livePhotoVideoId;
/// The local date and time when the photo/video was taken, derived from EXIF metadata. This represents the photographer's local time regardless of timezone, stored as a timezone-agnostic timestamp. Used for timeline grouping by \"local\" days and months.
DateTime localDateTime;
/// Original file name
String originalFileName;
/// Original MIME type
///
/// 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
@@ -111,6 +127,7 @@ class AssetResponseDto {
///
String? originalMimeType;
/// Original file path
String originalPath;
///
@@ -121,10 +138,12 @@ class AssetResponseDto {
///
UserResponseDto? owner;
/// Owner user ID
String ownerId;
List<PersonWithFacesResponseDto> people;
/// Is resized
///
/// 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
@@ -137,8 +156,10 @@ class AssetResponseDto {
List<TagResponseDto> tags;
/// Thumbhash for thumbnail generation
String? thumbhash;
/// Asset type
AssetTypeEnum type;
List<AssetFaceWithoutPersonResponseDto> unassignedFaces;
@@ -146,8 +167,10 @@ class AssetResponseDto {
/// The UTC timestamp when the asset record was last updated in the database. This is automatically maintained by the database and reflects when any field in the asset was last modified.
DateTime updatedAt;
/// Asset visibility
AssetVisibility visibility;
/// Asset width
num? width;
@override
+3
View File
@@ -18,10 +18,13 @@ class AssetStackResponseDto {
required this.primaryAssetId,
});
/// Number of assets in stack
int assetCount;
/// Stack ID
String id;
/// Primary asset ID
String primaryAssetId;
@override
+3
View File
@@ -18,10 +18,13 @@ class AssetStatsResponseDto {
required this.videos,
});
/// Number of images
int images;
/// Total number of assets
int total;
/// Number of videos
int videos;
@override
+1 -1
View File
@@ -10,7 +10,7 @@
part of openapi.api;
/// Asset type
class AssetTypeEnum {
/// Instantiate a new enum with the provided [value].
const AssetTypeEnum._(this.value);
+1 -1
View File
@@ -10,7 +10,7 @@
part of openapi.api;
/// Asset visibility
class AssetVisibility {
/// Instantiate a new enum with the provided [value].
const AssetVisibility._(this.value);
+1 -1
View File
@@ -10,7 +10,7 @@
part of openapi.api;
/// Target audio codec
class AudioCodec {
/// Instantiate a new enum with the provided [value].
const AudioCodec._(this.value);
+5
View File
@@ -20,6 +20,7 @@ class AuthStatusResponseDto {
this.pinExpiresAt,
});
/// Session expiration date
///
/// 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
@@ -28,12 +29,16 @@ class AuthStatusResponseDto {
///
String? expiresAt;
/// Is elevated session
bool isElevated;
/// Has password set
bool password;
/// Has PIN code set
bool pinCode;
/// PIN expiration date
///
/// 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
+1
View File
@@ -16,6 +16,7 @@ class AvatarUpdate {
this.color,
});
/// Avatar color
///
/// 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
+1 -1
View File
@@ -10,7 +10,7 @@
part of openapi.api;
/// Error reason
class BulkIdErrorReason {
/// Instantiate a new enum with the provided [value].
const BulkIdErrorReason._(this.value);
+4 -1
View File
@@ -18,10 +18,13 @@ class BulkIdResponseDto {
required this.success,
});
/// Error reason if failed
BulkIdResponseDtoErrorEnum? error;
/// ID
String id;
/// Whether operation succeeded
bool success;
@override
@@ -116,7 +119,7 @@ class BulkIdResponseDto {
};
}
/// Error reason if failed
class BulkIdResponseDtoErrorEnum {
/// Instantiate a new enum with the provided [value].
const BulkIdResponseDtoErrorEnum._(this.value);
+1
View File
@@ -16,6 +16,7 @@ class BulkIdsDto {
this.ids = const [],
});
/// IDs to process
List<String> ids;
@override
+1
View File
@@ -16,6 +16,7 @@ class CastResponse {
this.gCastEnabled = false,
});
/// Whether Google Cast is enabled
bool gCastEnabled;
@override
+1
View File
@@ -16,6 +16,7 @@ class CastUpdate {
this.gCastEnabled,
});
/// Whether Google Cast is enabled
///
/// 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
+3
View File
@@ -18,10 +18,13 @@ class ChangePasswordDto {
required this.password,
});
/// Invalidate all other sessions
bool invalidateSessions;
/// New password (min 8 characters)
String newPassword;
/// Current password
String password;
@override
+2
View File
@@ -17,8 +17,10 @@ class CheckExistingAssetsDto {
required this.deviceId,
});
/// Device asset IDs to check
List<String> deviceAssetIds;
/// Device ID
String deviceId;
@override
@@ -16,6 +16,7 @@ class CheckExistingAssetsResponseDto {
this.existingIds = const [],
});
/// Existing asset IDs
List<String> existingIds;
@override
+2
View File
@@ -17,8 +17,10 @@ class CLIPConfig {
required this.modelName,
});
/// Whether the task is enabled
bool enabled;
/// Name of the model to use
String modelName;
@override
+1 -1
View File
@@ -10,7 +10,7 @@
part of openapi.api;
/// Colorspace
class Colorspace {
/// Instantiate a new enum with the provided [value].
const Colorspace._(this.value);
@@ -17,8 +17,10 @@ class ContributorCountResponseDto {
required this.userId,
});
/// Number of assets contributed
int assetCount;
/// User ID
String userId;
@override
+1 -1
View File
@@ -10,7 +10,7 @@
part of openapi.api;
/// CQ mode
class CQMode {
/// Instantiate a new enum with the provided [value].
const CQMode._(this.value);
+4
View File
@@ -19,12 +19,16 @@ class CreateAlbumDto {
this.description,
});
/// Album name
String albumName;
/// Album users
List<AlbumUserCreateDto> albumUsers;
/// Initial asset IDs
List<String> assetIds;
/// Album description
///
/// 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
+4
View File
@@ -19,10 +19,13 @@ class CreateLibraryDto {
required this.ownerId,
});
/// Exclusion patterns (max 128)
Set<String> exclusionPatterns;
/// Import paths (max 128)
Set<String> importPaths;
/// Library name
///
/// 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
@@ -31,6 +34,7 @@ class CreateLibraryDto {
///
String? name;
/// Owner user ID
String ownerId;
@override
@@ -18,10 +18,13 @@ class CreateProfileImageResponseDto {
required this.userId,
});
/// Profile image change date
DateTime profileChangedAt;
/// Profile image file path
String profileImagePath;
/// User ID
String userId;
@override
+4
View File
@@ -18,10 +18,14 @@ class DatabaseBackupConfig {
required this.keepLastAmount,
});
/// Cron expression
String cronExpression;
/// Enabled
bool enabled;
/// Keep last amount
///
/// Minimum value: 1
num keepLastAmount;
+2
View File
@@ -17,8 +17,10 @@ class DownloadArchiveInfo {
required this.size,
});
/// Asset IDs in this archive
List<String> assetIds;
/// Archive size in bytes
int size;
@override
+5
View File
@@ -19,6 +19,7 @@ class DownloadInfoDto {
this.userId,
});
/// Album ID to download
///
/// 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
@@ -27,6 +28,8 @@ class DownloadInfoDto {
///
String? albumId;
/// Archive size limit in bytes
///
/// Minimum value: 1
///
/// Please note: This property should have been non-nullable! Since the specification file
@@ -36,8 +39,10 @@ class DownloadInfoDto {
///
int? archiveSize;
/// Asset IDs to download
List<String> assetIds;
/// User ID to download assets from
///
/// 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
+2
View File
@@ -17,8 +17,10 @@ class DownloadResponse {
this.includeEmbeddedVideos = false,
});
/// Maximum archive size in bytes
int archiveSize;
/// Whether to include embedded videos in downloads
bool includeEmbeddedVideos;
@override
+2
View File
@@ -17,8 +17,10 @@ class DownloadResponseDto {
required this.totalSize,
});
/// Archive information
List<DownloadArchiveInfo> archives;
/// Total size in bytes
int totalSize;
@override
+3
View File
@@ -17,6 +17,8 @@ class DownloadUpdate {
this.includeEmbeddedVideos,
});
/// Maximum archive size in bytes
///
/// Minimum value: 1
///
/// Please note: This property should have been non-nullable! Since the specification file
@@ -26,6 +28,7 @@ class DownloadUpdate {
///
int? archiveSize;
/// Whether to include embedded videos in downloads
///
/// 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
@@ -17,8 +17,11 @@ class DuplicateDetectionConfig {
required this.maxDistance,
});
/// Whether the task is enabled
bool enabled;
/// Maximum distance threshold for duplicate detection
///
/// Minimum value: 0.001
/// Maximum value: 0.1
double maxDistance;
+2
View File
@@ -17,8 +17,10 @@ class DuplicateResponseDto {
required this.duplicateId,
});
/// Duplicate assets
List<AssetResponseDto> assets;
/// Duplicate group ID
String duplicateId;
@override
@@ -18,10 +18,13 @@ class EmailNotificationsResponse {
required this.enabled,
});
/// Whether to receive email notifications for album invites
bool albumInvite;
/// Whether to receive email notifications for album updates
bool albumUpdate;
/// Whether email notifications are enabled
bool enabled;
@override
@@ -18,6 +18,7 @@ class EmailNotificationsUpdate {
this.enabled,
});
/// Whether to receive email notifications for album invites
///
/// 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
@@ -26,6 +27,7 @@ class EmailNotificationsUpdate {
///
bool? albumInvite;
/// Whether to receive email notifications for album updates
///
/// 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
@@ -34,6 +36,7 @@ class EmailNotificationsUpdate {
///
bool? albumUpdate;
/// Whether email notifications are enabled
///
/// 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
+22
View File
@@ -37,48 +37,70 @@ class ExifResponseDto {
this.timeZone,
});
/// City name
String? city;
/// Country name
String? country;
/// Original date/time
DateTime? dateTimeOriginal;
/// Image description
String? description;
/// Image height in pixels
num? exifImageHeight;
/// Image width in pixels
num? exifImageWidth;
/// Exposure time
String? exposureTime;
/// F-number (aperture)
num? fNumber;
/// File size in bytes
int? fileSizeInByte;
/// Focal length in mm
num? focalLength;
/// ISO sensitivity
num? iso;
/// GPS latitude
num? latitude;
/// Lens model
String? lensModel;
/// GPS longitude
num? longitude;
/// Camera make
String? make;
/// Camera model
String? model;
/// Modification date/time
DateTime? modifyDate;
/// Image orientation
String? orientation;
/// Projection type
String? projectionType;
/// Rating
num? rating;
/// State/province name
String? state;
/// Time zone
String? timeZone;
@override
+1
View File
@@ -16,6 +16,7 @@ class FaceDto {
required this.id,
});
/// Face ID
String id;
@override
+8
View File
@@ -20,19 +20,27 @@ class FacialRecognitionConfig {
required this.modelName,
});
/// Whether the task is enabled
bool enabled;
/// Maximum distance threshold for face recognition
///
/// Minimum value: 0.1
/// Maximum value: 2
double maxDistance;
/// Minimum number of faces required for recognition
///
/// Minimum value: 1
int minFaces;
/// Minimum confidence score for face detection
///
/// Minimum value: 0.1
/// Maximum value: 1
double minScore;
/// Name of the model to use
String modelName;
@override
+2
View File
@@ -17,8 +17,10 @@ class FoldersResponse {
this.sidebarWeb = false,
});
/// Whether folders are enabled
bool enabled;
/// Whether folders appear in web sidebar
bool sidebarWeb;
@override
+2
View File
@@ -17,6 +17,7 @@ class FoldersUpdate {
this.sidebarWeb,
});
/// Whether folders are enabled
///
/// 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
@@ -25,6 +26,7 @@ class FoldersUpdate {
///
bool? enabled;
/// Whether folders appear in web sidebar
///
/// 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
+1 -1
View File
@@ -10,7 +10,7 @@
part of openapi.api;
/// Image format
class ImageFormat {
/// Instantiate a new enum with the provided [value].
const ImageFormat._(this.value);
+1
View File
@@ -16,6 +16,7 @@ class JobCreateDto {
required this.name,
});
/// Job name
ManualJobName name;
@override
+1 -1
View File
@@ -10,7 +10,7 @@
part of openapi.api;
/// Job name
class JobName {
/// Instantiate a new enum with the provided [value].
const JobName._(this.value);
+2
View File
@@ -16,6 +16,8 @@ class JobSettingsDto {
required this.concurrency,
});
/// Concurrency
///
/// Minimum value: 1
int concurrency;

Some files were not shown because too many files have changed in this diff Show More