All files / src/server/photos recordPooledPhoto.ts

100% Statements 1/1
100% Branches 0/0
100% Functions 1/1
100% Lines 1/1

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29                                  1x                      
import type { Photo } from "@/types";
import type { PhotoRepository } from "@/server/repositories/implementations/PhotoRepository";
 
export interface PooledPhotoInput {
  collectionId: string;
  uploadedBy: string;
  blobKey: string;
  filename: string;
  mimeType: string;
  /** Size in bytes; null when the upload provider does not report it. */
  fileSize: number | null;
}
 
export function recordPooledPhoto(
  photoRepo: PhotoRepository,
  input: PooledPhotoInput,
): Promise<Photo> {
  return photoRepo.create({
    itemId: null,
    collectionId: input.collectionId,
    blobKey: input.blobKey,
    filename: input.filename,
    mimeType: input.mimeType,
    fileSize: input.fileSize,
    uploadedBy: input.uploadedBy,
    isHero: false,
  });
}