fix: updates according to the new api

Signed-off-by: Varun Raj <varun@skcript.com>
This commit is contained in:
Varun Raj
2025-05-23 17:12:58 +05:30
parent f7ae586ed1
commit e9fe68e08a
17 changed files with 38 additions and 37 deletions
+1 -1
View File
@@ -7,7 +7,7 @@ export const sidebarNavs = [
icon: <Rewind className="h-4 w-4" />,
},
{
title: "Find",
title: "Find Assets",
link: "/find",
icon: <Search className="h-4 w-4" />,
},
+1
View File
@@ -8,6 +8,7 @@ export const ENV = {
DB_HOST: process.env.DB_HOST as string,
DB_PORT: process.env.DB_PORT as string,
DB_DATABASE_NAME: process.env.DB_DATABASE_NAME as string,
DB_SCHEMA: (process.env.DB_SCHEMA as string) || 'public',
JWT_SECRET: process.env.JWT_SECRET as string,
SECURE_COOKIE: process.env.SECURE_COOKIE === 'true',
VERSION: process.env.VERSION,
+2 -2
View File
@@ -52,8 +52,8 @@ export default async function handler(
.leftJoin(person, eq(assetFaces.personId, person.id))
.where(and(
eq(albumsAssetsAssets.albumsId, id),
eq(assets.isVisible, true),
isNotNull(assets.isArchived),
eq(assets.visibility, "timeline"),
eq(assets.status, "active"),
faceId ? eq(assetFaces.personId, faceId) : undefined,
))
.limit(100)
+1 -1
View File
@@ -33,7 +33,7 @@ export default async function handler(
.from(albums)
.leftJoin(albumsAssetsAssets, eq(albums.id, albumsAssetsAssets.albumsId))
.leftJoin(assets, eq(albumsAssetsAssets.assetsId, assets.id))
.leftJoin(exif, and(eq(assets.id, exif.assetId), eq(assets.isVisible, true)))
.leftJoin(exif, and(eq(assets.id, exif.assetId), eq(assets.visibility, "timeline")))
.leftJoin(assetFaces, eq(assets.id, assetFaces.assetId))
.leftJoin(person, and(eq(assetFaces.personId, person.id), eq(person.isHidden, false)))
.where(and(eq(albums.ownerId, currentUser.id), eq(albums.id, id)))
+1 -1
View File
@@ -29,7 +29,7 @@ export default async function handler(
.from(albums)
.leftJoin(albumsAssetsAssets, eq(albums.id, albumsAssetsAssets.albumsId))
.leftJoin(assets, eq(albumsAssetsAssets.assetsId, assets.id))
.leftJoin(exif, and(eq(assets.id, exif.assetId), eq(assets.isVisible, true)))
.leftJoin(exif, and(eq(assets.id, exif.assetId), eq(assets.visibility, "timeline")))
.leftJoin(assetFaces, eq(assets.id, assetFaces.assetId))
.leftJoin(person, and(eq(assetFaces.personId, person.id), eq(person.isHidden, false)))
.where(and(eq(albums.id, id)))
+2 -2
View File
@@ -72,8 +72,8 @@ export default async function handler(
.leftJoin(albumsAssetsAssets, eq(albums.id, albumsAssetsAssets.albumsId))
.leftJoin(assets, and(
eq(albumsAssetsAssets.assetsId, assets.id),
eq(assets.isVisible, true),
isNotNull(assets.isArchived),
eq(assets.visibility, "timeline"),
eq(assets.status, "active"),
))
.leftJoin(exif, eq(assets.id, exif.assetId))
.leftJoin(assetFaces, eq(assets.id, assetFaces.assetId))
@@ -35,7 +35,7 @@ const SELECT_ORPHAN_PHOTOS = (date: string, ownerId: string) =>
aaa."albumsId" IS NULL
AND a."ownerId" = '${ownerId}'
AND e."dateTimeOriginal"::date = '${date}'
AND a."isVisible" = true
AND a."visibility" = 'timeline'
ORDER BY
e."dateTimeOriginal" DESC
`);
@@ -25,7 +25,7 @@ export default async function handler(
.leftJoin(exif, eq(assets.id, exif.assetId))
.where(and (
eq(assets.ownerId, currentUser.id),
eq(assets.isVisible, true),
eq(assets.visibility, "timeline"),
isNull(albumsAssetsAssets.albumsId),
isNotNull(exif.dateTimeOriginal),
@@ -35,7 +35,7 @@ export default async function handler(
isNotNull(assets.createdAt),
isNotNull(exif.dateTimeOriginal),
eq(assets.ownerId, currentUser.id),
eq(assets.isVisible, true),
eq(assets.visibility, "timeline"),
isNotNull(albums.id)
))
.groupBy(albums.id)
@@ -39,8 +39,8 @@ const getRowsByDates = async (startDateDate: Date, endDateDate: Date, currentUse
gte(exif.dateTimeOriginal, startDateDate),
lte(exif.dateTimeOriginal, endDateDate),
eq(assets.ownerId, currentUser.id),
eq(assets.isVisible, true),
eq(assets.isArchived, false),
eq(assets.visibility, "timeline"),
eq(assets.status, "active"),
isNull(assets.deletedAt),
));
}
@@ -73,8 +73,8 @@ const getRowsByAlbums = async (currentUser: IUser, albumId: string) => {
isNotNull(assets.createdAt),
eq(assets.ownerId, currentUser.id),
eq(albums.id, albumId),
eq(assets.isVisible, true),
eq(assets.isArchived, false),
eq(assets.visibility, "timeline"),
eq(assets.status, "active"),
isNull(assets.deletedAt),
));
}
@@ -31,8 +31,8 @@ export default async function handler(
isNotNull(assets.createdAt),
isNotNull(exif.dateTimeOriginal),
eq(assets.ownerId, currentUser.id),
eq(assets.isVisible, true),
eq(assets.isArchived, false),
eq(assets.visibility, "timeline"),
eq(assets.status, "active"),
isNull(assets.deletedAt),
))
.groupBy(sql`DATE(${exif.dateTimeOriginal})`)
+2 -2
View File
@@ -53,8 +53,8 @@ export default async function handler(
const whereClause = and(
isNull(assets.duplicateId),
eq(assets.isVisible, true),
eq(assets.isArchived, false),
eq(assets.visibility, "timeline"),
eq(assets.status, "active"),
eq(assets.ownerId, currentUser.id),
type === "all" ? undefined : (type === "nameless" ? eq(person.name, "") : ne(person.name, "")),
query && query.length > 0 ? ilike(person.name, `%${query}%`) : undefined,
+12 -12
View File
@@ -26,8 +26,8 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
const numberOfPhotos = await db.select({ count: count(assets.id) }).from(assets).where(and(
eq(assets.ownerId, user.id),
eq(assets.isVisible, true),
eq(assets.isArchived, false),
eq(assets.visibility, "timeline"),
eq(assets.status, "active"),
));
// Get list of countries visited in the year
@@ -38,8 +38,8 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
.where(and(
eq(sql`EXTRACT(YEAR FROM ${exif.dateTimeOriginal})`, year),
eq(assets.ownerId, user.id),
eq(assets.isVisible, true),
eq(assets.isArchived, false),
eq(assets.visibility, "timeline"),
eq(assets.status, "active"),
))
.groupBy(exif.country);
@@ -52,8 +52,8 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
.where(and(
eq(sql`EXTRACT(YEAR FROM ${exif.dateTimeOriginal})`, year),
eq(assets.ownerId, user.id),
eq(assets.isVisible, true),
eq(assets.isArchived, false),
eq(assets.visibility, "timeline"),
eq(assets.status, "active"),
))
.groupBy(exif.city);
@@ -72,8 +72,8 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
.where(and(
eq(sql`EXTRACT(YEAR FROM ${exif.dateTimeOriginal})`, year),
eq(assets.ownerId, user.id),
eq(assets.isVisible, true),
eq(assets.isArchived, false),
eq(assets.visibility, "timeline"),
eq(assets.status, "active"),
))
.orderBy(desc(count(assets.id)))
.limit(4)
@@ -93,8 +93,8 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
.where(and(
eq(sql`EXTRACT(YEAR FROM ${exif.dateTimeOriginal})`, year),
eq(assets.ownerId, user.id),
eq(assets.isVisible, true),
eq(assets.isArchived, false),
eq(assets.visibility, "timeline"),
eq(assets.status, "active"),
isNotNull(person.name),
))
.orderBy(desc(count(assets.id)))
@@ -106,9 +106,9 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
.from(assets)
.leftJoin(exif, eq(exif.assetId, assets.id))
.where(and(
eq(assets.isVisible, true),
eq(assets.visibility, "timeline"),
eq(assets.isFavorite, true),
eq(assets.isArchived, false),
eq(assets.status, "active"),
eq(assets.ownerId, user.id),
eq(sql`EXTRACT(YEAR FROM ${exif.dateTimeOriginal})`, year),
))
+2 -2
View File
@@ -84,8 +84,8 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
albumIds?.length > 0 ? inArray(albums.id, albumIds) : undefined,
startDate ? gte(assets.createdAt, new Date(startDate)) : undefined,
endDate ? lte(assets.createdAt, new Date(endDate)) : undefined,
eq(assets.isArchived, false),
eq(assets.isVisible, true),
eq(assets.status, "active"),
eq(assets.visibility, "timeline"),
eq(assets.isOffline, false),
))
.orderBy(desc(assets.createdAt));
+2 -2
View File
@@ -53,8 +53,8 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
albumIds?.length > 0 ? inArray(albums.id, albumIds) : undefined,
startDate ? gte(assets.createdAt, new Date(startDate)) : undefined,
endDate ? lte(assets.createdAt, new Date(endDate)) : undefined,
eq(assets.isArchived, false),
eq(assets.isVisible, true),
eq(assets.status, "active"),
eq(assets.visibility, "timeline"),
eq(assets.isOffline, false),
isNotNull(person.id),
ne(person.name, "")
+1 -1
View File
@@ -39,7 +39,7 @@ const SUGGESTIONS = [
{ label: "Last week's photos", query: "Photos from last week" },
{ label: "Photos from last summer", query: "Photos taken last summer" },
{ label: "Videos from New York", query: "Videos taken in New York" },
{ label: "Photos with @alex", query: "Photos with @alex" }, // Example with person tag
{ label: "Photos taken in Beach", query: "Photos taken in Berlin" }, // Example with person tag
{ label: "Recent screenshots", query: "Screenshots taken recently" },
];
+2 -2
View File
@@ -13,11 +13,11 @@ export const assets = pgTable('assets', {
duration: varchar('duration'),
encodedVideoPath: varchar('encodedVideoPath').default(''),
// checksum: bytea('checksum').notNull(),
isVisible: boolean('isVisible').default(true).notNull(),
visibility: varchar('visibility').default('timeline').notNull(),
livePhotoVideoId: uuid('livePhotoVideoId').references((): any => assets.id, { onDelete: 'set null', onUpdate: 'cascade' }),
updatedAt: timestamp('updatedAt', { withTimezone: true }).defaultNow().notNull(),
createdAt: timestamp('createdAt', { withTimezone: true }).defaultNow().notNull(),
isArchived: boolean('isArchived').default(false).notNull(),
status: varchar('status').default('active').notNull(),
originalFileName: varchar('originalFileName').notNull(),
sidecarPath: varchar('sidecarPath'),
// thumbhash: bytea('thumbhash'),