feat: 完善广场功能

This commit is contained in:
2026-04-26 19:17:15 +08:00
parent 3e8e2353f0
commit eff52f6063
16 changed files with 833 additions and 23 deletions
+20 -1
View File
@@ -10,6 +10,7 @@ import { consola } from "consola";
import {
ImageArchiveStatus,
ImageGenerationStatus,
PlazaPostStatus,
Prisma
} from "~~/app/generated/prisma/client";
import { prisma } from "~~/server/utils/prisma";
@@ -368,10 +369,17 @@ export const listImageGenerationHistory = async ({
deletedAt: null
};
const [total, records] = await prisma.$transaction([
const [total, records] = await Promise.all([
prisma.imageGeneration.count({ where }),
prisma.imageGeneration.findMany({
where,
include: {
plazaPost: {
select: {
status: true
}
}
},
orderBy: {
createdAt: "desc"
},
@@ -398,6 +406,13 @@ export const getImageGenerationDetail = async (
id: recordId,
userId,
deletedAt: null
},
include: {
plazaPost: {
select: {
status: true
}
}
}
});
@@ -549,6 +564,9 @@ const mapImageGenerationItem = (record: {
revisedPrompt: string | null;
errorMessage: string | null;
createdAt: Date;
plazaPost?: {
status: PlazaPostStatus;
} | null;
}): IImageHistoryItem => {
return {
id: record.id.toString(),
@@ -563,6 +581,7 @@ const mapImageGenerationItem = (record: {
hostedImageUrl: record.hostedImageUrl,
revisedPrompt: record.revisedPrompt,
errorMessage: getPublicRecordMessage(record.status, record.errorMessage),
isPublic: record.plazaPost?.status === PlazaPostStatus.PUBLIC,
createdAt: record.createdAt.toISOString()
};
};