Skip to content

Commit 5819e1e

Browse files
committed
wip
1 parent 9217757 commit 5819e1e

File tree

5 files changed

+17
-6
lines changed

5 files changed

+17
-6
lines changed

server/src/queries/asset.repository.sql

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -263,6 +263,9 @@ with
263263
where
264264
"assets"."deletedAt" is null
265265
and "assets"."isVisible" = $2
266+
and "assets"."fileCreatedAt" is not null
267+
and "assets"."fileModifiedAt" is not null
268+
and "assets"."localDateTime" is not null
266269
)
267270
select
268271
"timeBucket",

server/src/queries/library.repository.sql

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,10 @@ from
132132
inner join "assets" on "assets"."libraryId" = "libraries"."id"
133133
left join "exif" on "exif"."assetId" = "assets"."id"
134134
where
135-
"libraries"."id" = $6
135+
"assets"."fileCreatedAt" is not null
136+
and "assets"."fileModifiedAt" is not null
137+
and "assets"."localDateTime" is not null
138+
and "libraries"."id" = $6
136139
group by
137140
"libraries"."id"
138141
select

server/src/repositories/asset.repository.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -138,9 +138,6 @@ export class AssetRepository implements IAssetRepository {
138138
)
139139
.innerJoin('exif', 'a.id', 'exif.assetId')
140140
.selectAll('a')
141-
.$narrowType<{ fileCreatedAt: NotNull }>()
142-
.$narrowType<{ fileModifiedAt: NotNull }>()
143-
.$narrowType<{ localDateTime: NotNull }>()
144141
.select((eb) => eb.fn.toJson(eb.table('exif')).as('exifInfo')),
145142
)
146143
.selectFrom('res')

server/src/repositories/library.repository.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,9 @@ export class LibraryRepository implements ILibraryRepository {
100100
const stats = await this.db
101101
.selectFrom('libraries')
102102
.innerJoin('assets', 'assets.libraryId', 'libraries.id')
103+
.where('assets.fileCreatedAt', 'is not', null)
104+
.where('assets.fileModifiedAt', 'is not', null)
105+
.where('assets.localDateTime', 'is not', null)
103106
.leftJoin('exif', 'exif.assetId', 'assets.id')
104107
.select((eb) =>
105108
eb.fn

server/src/services/library.service.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -574,9 +574,14 @@ export class LibraryService extends BaseService {
574574
}
575575

576576
const mtime = stat.mtime;
577-
const isTimeUpdated = !asset.fileModifiedAt || mtime.toISOString() !== asset.fileModifiedAt.toISOString();
578577

579-
if (isTimeUpdated) {
578+
if (!asset.fileModifiedAt || !asset.fileCreatedAt || !asset.localDateTime) {
579+
this.logger.verbose(`Asset ${asset.originalPath} needs metadata extraction in library ${libraryId}`);
580+
581+
return AssetSyncResult.UPDATE;
582+
}
583+
584+
if (mtime.toISOString() !== asset.fileModifiedAt.toISOString()) {
580585
this.logger.verbose(
581586
`Asset ${asset.originalPath} modification time changed from ${asset.fileModifiedAt?.toISOString()} to ${mtime.toISOString()}, queuing re-import in library ${libraryId}`,
582587
);

0 commit comments

Comments
 (0)