Your Name c433b714cd
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled
feat: customize style pro button colors
2026-05-17 23:38:12 +08:00

52 lines
1.4 KiB
TypeScript

import { NextResponse } from "next/server";
import { getSystemSetting } from "@/lib/db/queries";
import {
STYLE_PRO_CONFIG_KEY,
normalizeStyleProConfig,
toPublicStyleProConfig,
} from "@/lib/style-pro/config";
import {
findStyleProImageModelByRef,
getStyleProImageModelEntries,
} from "@/lib/style-pro/model-options";
export const dynamic = "force-dynamic";
export async function GET() {
try {
const setting = await getSystemSetting({ key: STYLE_PRO_CONFIG_KEY }).catch(
() => null
);
const config = normalizeStyleProConfig(setting?.value);
const realisticModelEntries = (
await getStyleProImageModelEntries({ includeHidden: true }).catch(
() => []
)
);
const publicConfig = toPublicStyleProConfig(config);
return NextResponse.json({
success: true,
config: {
...publicConfig,
realisticModeAvailable: Boolean(
findStyleProImageModelByRef(
realisticModelEntries,
config.realisticFirstModelId
) &&
findStyleProImageModelByRef(
realisticModelEntries,
config.realisticSecondModelId
)
),
},
});
} catch (error) {
console.error("[Style Pro Config] Failed:", error);
return NextResponse.json(
{ success: false, error: "获取风格化 PRO 配置失败" },
{ status: 500 }
);
}
}