This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
import { db } from "@/lib/db/client"
|
||||
import type { PhotoUpload } from "@/lib/db/types"
|
||||
|
||||
export async function getPhotoUploadByInvitationId(
|
||||
invitationId: string,
|
||||
): Promise<PhotoUpload | null> {
|
||||
return (
|
||||
(await db
|
||||
.selectFrom("photo_uploads")
|
||||
.selectAll()
|
||||
.where("invitation_id", "=", invitationId)
|
||||
.executeTakeFirst()) ?? null
|
||||
)
|
||||
}
|
||||
|
||||
export async function upsertPhotoUpload(input: {
|
||||
invitationId: string
|
||||
bucket: string
|
||||
objectKey: string
|
||||
originalFilename: string
|
||||
contentType: string
|
||||
sizeBytes: number
|
||||
}) {
|
||||
return db
|
||||
.insertInto("photo_uploads")
|
||||
.values({
|
||||
invitation_id: input.invitationId,
|
||||
bucket: input.bucket,
|
||||
object_key: input.objectKey,
|
||||
original_filename: input.originalFilename,
|
||||
content_type: input.contentType,
|
||||
size_bytes: input.sizeBytes,
|
||||
})
|
||||
.onConflict((oc) =>
|
||||
oc.column("invitation_id").doUpdateSet({
|
||||
bucket: input.bucket,
|
||||
object_key: input.objectKey,
|
||||
original_filename: input.originalFilename,
|
||||
content_type: input.contentType,
|
||||
size_bytes: input.sizeBytes,
|
||||
updated_at: new Date(),
|
||||
}),
|
||||
)
|
||||
.returningAll()
|
||||
.executeTakeFirstOrThrow()
|
||||
}
|
||||
Reference in New Issue
Block a user