mirror of
https://github.com/immich-app/immich
synced 2025-06-08 09:51:02 +00:00
feat(server): add originalFileName to SyncAssetV1 (#18767)
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com> Co-authored-by: Alex <alex.tran1502@gmail.com>
This commit is contained in:
parent
aebd68e24e
commit
b854a3dd47
10
mobile/openapi/lib/model/sync_asset_v1.dart
generated
10
mobile/openapi/lib/model/sync_asset_v1.dart
generated
@ -20,6 +20,7 @@ class SyncAssetV1 {
|
|||||||
required this.id,
|
required this.id,
|
||||||
required this.isFavorite,
|
required this.isFavorite,
|
||||||
required this.localDateTime,
|
required this.localDateTime,
|
||||||
|
required this.originalFileName,
|
||||||
required this.ownerId,
|
required this.ownerId,
|
||||||
required this.thumbhash,
|
required this.thumbhash,
|
||||||
required this.type,
|
required this.type,
|
||||||
@ -40,6 +41,8 @@ class SyncAssetV1 {
|
|||||||
|
|
||||||
DateTime? localDateTime;
|
DateTime? localDateTime;
|
||||||
|
|
||||||
|
String originalFileName;
|
||||||
|
|
||||||
String ownerId;
|
String ownerId;
|
||||||
|
|
||||||
String? thumbhash;
|
String? thumbhash;
|
||||||
@ -57,6 +60,7 @@ class SyncAssetV1 {
|
|||||||
other.id == id &&
|
other.id == id &&
|
||||||
other.isFavorite == isFavorite &&
|
other.isFavorite == isFavorite &&
|
||||||
other.localDateTime == localDateTime &&
|
other.localDateTime == localDateTime &&
|
||||||
|
other.originalFileName == originalFileName &&
|
||||||
other.ownerId == ownerId &&
|
other.ownerId == ownerId &&
|
||||||
other.thumbhash == thumbhash &&
|
other.thumbhash == thumbhash &&
|
||||||
other.type == type &&
|
other.type == type &&
|
||||||
@ -72,13 +76,14 @@ class SyncAssetV1 {
|
|||||||
(id.hashCode) +
|
(id.hashCode) +
|
||||||
(isFavorite.hashCode) +
|
(isFavorite.hashCode) +
|
||||||
(localDateTime == null ? 0 : localDateTime!.hashCode) +
|
(localDateTime == null ? 0 : localDateTime!.hashCode) +
|
||||||
|
(originalFileName.hashCode) +
|
||||||
(ownerId.hashCode) +
|
(ownerId.hashCode) +
|
||||||
(thumbhash == null ? 0 : thumbhash!.hashCode) +
|
(thumbhash == null ? 0 : thumbhash!.hashCode) +
|
||||||
(type.hashCode) +
|
(type.hashCode) +
|
||||||
(visibility.hashCode);
|
(visibility.hashCode);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
String toString() => 'SyncAssetV1[checksum=$checksum, deletedAt=$deletedAt, fileCreatedAt=$fileCreatedAt, fileModifiedAt=$fileModifiedAt, id=$id, isFavorite=$isFavorite, localDateTime=$localDateTime, ownerId=$ownerId, thumbhash=$thumbhash, type=$type, visibility=$visibility]';
|
String toString() => 'SyncAssetV1[checksum=$checksum, deletedAt=$deletedAt, fileCreatedAt=$fileCreatedAt, fileModifiedAt=$fileModifiedAt, id=$id, isFavorite=$isFavorite, localDateTime=$localDateTime, originalFileName=$originalFileName, ownerId=$ownerId, thumbhash=$thumbhash, type=$type, visibility=$visibility]';
|
||||||
|
|
||||||
Map<String, dynamic> toJson() {
|
Map<String, dynamic> toJson() {
|
||||||
final json = <String, dynamic>{};
|
final json = <String, dynamic>{};
|
||||||
@ -105,6 +110,7 @@ class SyncAssetV1 {
|
|||||||
} else {
|
} else {
|
||||||
// json[r'localDateTime'] = null;
|
// json[r'localDateTime'] = null;
|
||||||
}
|
}
|
||||||
|
json[r'originalFileName'] = this.originalFileName;
|
||||||
json[r'ownerId'] = this.ownerId;
|
json[r'ownerId'] = this.ownerId;
|
||||||
if (this.thumbhash != null) {
|
if (this.thumbhash != null) {
|
||||||
json[r'thumbhash'] = this.thumbhash;
|
json[r'thumbhash'] = this.thumbhash;
|
||||||
@ -132,6 +138,7 @@ class SyncAssetV1 {
|
|||||||
id: mapValueOfType<String>(json, r'id')!,
|
id: mapValueOfType<String>(json, r'id')!,
|
||||||
isFavorite: mapValueOfType<bool>(json, r'isFavorite')!,
|
isFavorite: mapValueOfType<bool>(json, r'isFavorite')!,
|
||||||
localDateTime: mapDateTime(json, r'localDateTime', r''),
|
localDateTime: mapDateTime(json, r'localDateTime', r''),
|
||||||
|
originalFileName: mapValueOfType<String>(json, r'originalFileName')!,
|
||||||
ownerId: mapValueOfType<String>(json, r'ownerId')!,
|
ownerId: mapValueOfType<String>(json, r'ownerId')!,
|
||||||
thumbhash: mapValueOfType<String>(json, r'thumbhash'),
|
thumbhash: mapValueOfType<String>(json, r'thumbhash'),
|
||||||
type: SyncAssetV1TypeEnum.fromJson(json[r'type'])!,
|
type: SyncAssetV1TypeEnum.fromJson(json[r'type'])!,
|
||||||
@ -190,6 +197,7 @@ class SyncAssetV1 {
|
|||||||
'id',
|
'id',
|
||||||
'isFavorite',
|
'isFavorite',
|
||||||
'localDateTime',
|
'localDateTime',
|
||||||
|
'originalFileName',
|
||||||
'ownerId',
|
'ownerId',
|
||||||
'thumbhash',
|
'thumbhash',
|
||||||
'type',
|
'type',
|
||||||
|
@ -13127,6 +13127,9 @@
|
|||||||
"nullable": true,
|
"nullable": true,
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
|
"originalFileName": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
"ownerId": {
|
"ownerId": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
@ -13161,6 +13164,7 @@
|
|||||||
"id",
|
"id",
|
||||||
"isFavorite",
|
"isFavorite",
|
||||||
"localDateTime",
|
"localDateTime",
|
||||||
|
"originalFileName",
|
||||||
"ownerId",
|
"ownerId",
|
||||||
"thumbhash",
|
"thumbhash",
|
||||||
"type",
|
"type",
|
||||||
|
@ -341,6 +341,7 @@ export const columns = {
|
|||||||
syncAsset: [
|
syncAsset: [
|
||||||
'id',
|
'id',
|
||||||
'ownerId',
|
'ownerId',
|
||||||
|
'originalFileName',
|
||||||
'thumbhash',
|
'thumbhash',
|
||||||
'checksum',
|
'checksum',
|
||||||
'fileCreatedAt',
|
'fileCreatedAt',
|
||||||
|
@ -59,6 +59,7 @@ export class SyncPartnerDeleteV1 {
|
|||||||
export class SyncAssetV1 {
|
export class SyncAssetV1 {
|
||||||
id!: string;
|
id!: string;
|
||||||
ownerId!: string;
|
ownerId!: string;
|
||||||
|
originalFileName!: string;
|
||||||
thumbhash!: string | null;
|
thumbhash!: string | null;
|
||||||
checksum!: string;
|
checksum!: string;
|
||||||
fileCreatedAt!: Date | null;
|
fileCreatedAt!: Date | null;
|
||||||
|
@ -76,6 +76,7 @@ order by
|
|||||||
select
|
select
|
||||||
"id",
|
"id",
|
||||||
"ownerId",
|
"ownerId",
|
||||||
|
"originalFileName",
|
||||||
"thumbhash",
|
"thumbhash",
|
||||||
"checksum",
|
"checksum",
|
||||||
"fileCreatedAt",
|
"fileCreatedAt",
|
||||||
@ -98,6 +99,7 @@ order by
|
|||||||
select
|
select
|
||||||
"id",
|
"id",
|
||||||
"ownerId",
|
"ownerId",
|
||||||
|
"originalFileName",
|
||||||
"thumbhash",
|
"thumbhash",
|
||||||
"checksum",
|
"checksum",
|
||||||
"fileCreatedAt",
|
"fileCreatedAt",
|
||||||
|
@ -23,12 +23,14 @@ describe.concurrent(SyncEntityType.AssetV1, () => {
|
|||||||
it('should detect and sync the first asset', async () => {
|
it('should detect and sync the first asset', async () => {
|
||||||
const { auth, sut, getRepository, testSync } = await setup();
|
const { auth, sut, getRepository, testSync } = await setup();
|
||||||
|
|
||||||
|
const originalFileName = 'firstAsset';
|
||||||
const checksum = '1115vHcVkZzNp3Q9G+FEA0nu6zUbGb4Tj4UOXkN0wRA=';
|
const checksum = '1115vHcVkZzNp3Q9G+FEA0nu6zUbGb4Tj4UOXkN0wRA=';
|
||||||
const thumbhash = '2225vHcVkZzNp3Q9G+FEA0nu6zUbGb4Tj4UOXkN0wRA=';
|
const thumbhash = '2225vHcVkZzNp3Q9G+FEA0nu6zUbGb4Tj4UOXkN0wRA=';
|
||||||
const date = new Date().toISOString();
|
const date = new Date().toISOString();
|
||||||
|
|
||||||
const assetRepo = getRepository('asset');
|
const assetRepo = getRepository('asset');
|
||||||
const asset = mediumFactory.assetInsert({
|
const asset = mediumFactory.assetInsert({
|
||||||
|
originalFileName,
|
||||||
ownerId: auth.user.id,
|
ownerId: auth.user.id,
|
||||||
checksum: Buffer.from(checksum, 'base64'),
|
checksum: Buffer.from(checksum, 'base64'),
|
||||||
thumbhash: Buffer.from(thumbhash, 'base64'),
|
thumbhash: Buffer.from(thumbhash, 'base64'),
|
||||||
@ -48,6 +50,7 @@ describe.concurrent(SyncEntityType.AssetV1, () => {
|
|||||||
ack: expect.any(String),
|
ack: expect.any(String),
|
||||||
data: {
|
data: {
|
||||||
id: asset.id,
|
id: asset.id,
|
||||||
|
originalFileName,
|
||||||
ownerId: asset.ownerId,
|
ownerId: asset.ownerId,
|
||||||
thumbhash,
|
thumbhash,
|
||||||
checksum,
|
checksum,
|
||||||
|
@ -23,6 +23,7 @@ describe.concurrent(SyncRequestType.PartnerAssetsV1, () => {
|
|||||||
it('should detect and sync the first partner asset', async () => {
|
it('should detect and sync the first partner asset', async () => {
|
||||||
const { auth, sut, getRepository, testSync } = await setup();
|
const { auth, sut, getRepository, testSync } = await setup();
|
||||||
|
|
||||||
|
const originalFileName = 'firstPartnerAsset';
|
||||||
const checksum = '1115vHcVkZzNp3Q9G+FEA0nu6zUbGb4Tj4UOXkN0wRA=';
|
const checksum = '1115vHcVkZzNp3Q9G+FEA0nu6zUbGb4Tj4UOXkN0wRA=';
|
||||||
const thumbhash = '2225vHcVkZzNp3Q9G+FEA0nu6zUbGb4Tj4UOXkN0wRA=';
|
const thumbhash = '2225vHcVkZzNp3Q9G+FEA0nu6zUbGb4Tj4UOXkN0wRA=';
|
||||||
const date = new Date().toISOString();
|
const date = new Date().toISOString();
|
||||||
@ -34,6 +35,7 @@ describe.concurrent(SyncRequestType.PartnerAssetsV1, () => {
|
|||||||
const assetRepo = getRepository('asset');
|
const assetRepo = getRepository('asset');
|
||||||
const asset = mediumFactory.assetInsert({
|
const asset = mediumFactory.assetInsert({
|
||||||
ownerId: user2.id,
|
ownerId: user2.id,
|
||||||
|
originalFileName,
|
||||||
checksum: Buffer.from(checksum, 'base64'),
|
checksum: Buffer.from(checksum, 'base64'),
|
||||||
thumbhash: Buffer.from(thumbhash, 'base64'),
|
thumbhash: Buffer.from(thumbhash, 'base64'),
|
||||||
fileCreatedAt: date,
|
fileCreatedAt: date,
|
||||||
@ -56,6 +58,7 @@ describe.concurrent(SyncRequestType.PartnerAssetsV1, () => {
|
|||||||
data: {
|
data: {
|
||||||
id: asset.id,
|
id: asset.id,
|
||||||
ownerId: asset.ownerId,
|
ownerId: asset.ownerId,
|
||||||
|
originalFileName,
|
||||||
thumbhash,
|
thumbhash,
|
||||||
checksum,
|
checksum,
|
||||||
deletedAt: null,
|
deletedAt: null,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user