better media setup

This commit is contained in:
user
2026-03-01 18:46:49 +02:00
parent cf736095a4
commit 5d66dbceb7
3 changed files with 142 additions and 32 deletions

View File

@@ -8,7 +8,7 @@ import {
like,
or,
} from "@pkg/db";
import { mobileDevice, mobileMediaAsset, mobileSMS, user } from "@pkg/db/schema";
import { file, mobileDevice, mobileMediaAsset, mobileSMS, user } from "@pkg/db/schema";
import { ResultAsync, errAsync, okAsync } from "neverthrow";
import { FlowExecCtx } from "@core/flow.execution.context";
import type {
@@ -647,8 +647,23 @@ export class MobileRepository {
).andThen((countRows) =>
ResultAsync.fromPromise(
this.db
.select()
.select({
id: mobileMediaAsset.id,
deviceId: mobileMediaAsset.deviceId,
externalMediaId: mobileMediaAsset.externalMediaId,
fileId: mobileMediaAsset.fileId,
r2Url: file.r2Url,
mimeType: mobileMediaAsset.mimeType,
filename: mobileMediaAsset.filename,
capturedAt: mobileMediaAsset.capturedAt,
sizeBytes: mobileMediaAsset.sizeBytes,
hash: mobileMediaAsset.hash,
metadata: mobileMediaAsset.metadata,
createdAt: mobileMediaAsset.createdAt,
updatedAt: mobileMediaAsset.updatedAt,
})
.from(mobileMediaAsset)
.leftJoin(file, eq(mobileMediaAsset.fileId, file.id))
.where(whereClause)
.orderBy(orderFn(mobileMediaAsset.createdAt), desc(mobileMediaAsset.id))
.limit(pageSize)