Add portfolio thingies
This commit is contained in:
@ -6,8 +6,9 @@ import { PutObjectCommand } from "@aws-sdk/client-s3";
|
||||
import "dotenv/config";
|
||||
import sharp from "sharp";
|
||||
import { v4 as uuidv4 } from "uuid";
|
||||
import { generateArtworkColorsForArtwork } from "../artworks/generateArtworkColors";
|
||||
|
||||
export async function createImageFromFile(imageFile: File, opts?: { originalName?: string }) {
|
||||
export async function createImageFromFile(imageFile: File, opts?: { originalName?: string, colorMode?: "inline" | "defer" | "off" }) {
|
||||
if (!(imageFile instanceof File)) {
|
||||
console.log("No image or invalid type");
|
||||
return null;
|
||||
@ -126,6 +127,7 @@ export async function createImageFromFile(imageFile: File, opts?: { originalName
|
||||
slug: artworkSlug,
|
||||
creationDate: lastModified,
|
||||
fileId: fileRecord.id,
|
||||
colorStatus: "PENDING",
|
||||
},
|
||||
});
|
||||
|
||||
@ -194,5 +196,16 @@ export async function createImageFromFile(imageFile: File, opts?: { originalName
|
||||
],
|
||||
});
|
||||
|
||||
const mode = opts?.colorMode ?? "defer";
|
||||
|
||||
if (mode === "inline") {
|
||||
// blocks, but guarantees sortKey is ready immediately
|
||||
await generateArtworkColorsForArtwork(artworkRecord.id);
|
||||
} else if (mode === "defer") {
|
||||
// mark pending; a separate job will process these
|
||||
// (nothing else to do here)
|
||||
}
|
||||
|
||||
|
||||
return artworkRecord;
|
||||
}
|
||||
Reference in New Issue
Block a user