refactor(runtime): prefer env-backed secrets at runtime
This commit is contained in:
@@ -17,6 +17,7 @@ import { createDalleClient, isDalleConfigured, loggedAiCall, parseAiError } from
|
||||
import { generateGeminiImage, isGeminiConfigured, parseGeminiError } from "../gemini-client.js";
|
||||
import { invalidateDashboardCache } from "../lib/cache.js";
|
||||
import { logger } from "../lib/logger.js";
|
||||
import { resolveSystemSettingsRuntime } from "../lib/system-settings-runtime.js";
|
||||
import { dispatchWebhooks } from "../lib/webhook-dispatcher.js";
|
||||
import { validateImageDataUrl } from "../lib/image-validation.js";
|
||||
import type { TRPCContext } from "../trpc.js";
|
||||
@@ -995,9 +996,10 @@ export const projectRouter = createTRPCRouter({
|
||||
where: { id: "singleton" },
|
||||
});
|
||||
|
||||
const imageProvider = settings?.imageProvider ?? "dalle";
|
||||
const useGemini = imageProvider === "gemini" && isGeminiConfigured(settings);
|
||||
const useDalle = imageProvider === "dalle" && isDalleConfigured(settings);
|
||||
const runtimeSettings = resolveSystemSettingsRuntime(settings);
|
||||
const imageProvider = runtimeSettings.imageProvider ?? "dalle";
|
||||
const useGemini = imageProvider === "gemini" && isGeminiConfigured(runtimeSettings);
|
||||
const useDalle = imageProvider === "dalle" && isDalleConfigured(runtimeSettings);
|
||||
|
||||
if (!useGemini && !useDalle) {
|
||||
throw new TRPCError({
|
||||
@@ -1017,9 +1019,9 @@ export const projectRouter = createTRPCRouter({
|
||||
if (useGemini) {
|
||||
try {
|
||||
coverImageUrl = await generateGeminiImage(
|
||||
settings!.geminiApiKey!,
|
||||
runtimeSettings.geminiApiKey!,
|
||||
finalPrompt,
|
||||
settings!.geminiModel ?? undefined,
|
||||
runtimeSettings.geminiModel ?? undefined,
|
||||
);
|
||||
} catch (err) {
|
||||
throw new TRPCError({
|
||||
@@ -1028,8 +1030,8 @@ export const projectRouter = createTRPCRouter({
|
||||
});
|
||||
}
|
||||
} else {
|
||||
const dalleClient = createDalleClient(settings!);
|
||||
const model = settings!.aiProvider === "azure" ? settings!.azureDalleDeployment! : "dall-e-3";
|
||||
const dalleClient = createDalleClient(runtimeSettings);
|
||||
const model = runtimeSettings.aiProvider === "azure" ? runtimeSettings.azureDalleDeployment! : "dall-e-3";
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
let response: any;
|
||||
|
||||
Reference in New Issue
Block a user