feat(POSTV1-03): 增加本机测试直达入口
Dada P0-A isolated Windows CI / validate-and-package (push) Waiting to run

This commit is contained in:
suyx
2026-08-05 14:53:20 +08:00
parent f7cac5dabf
commit 92434aec17
9 changed files with 297 additions and 2 deletions
+40
View File
@@ -263,6 +263,7 @@ export interface CreateAppOptions {
eventHub?: EventHub;
generations?: GenerationSubmissionService;
latestExports?: LatestExportService;
localTestAuth?: boolean;
models?: ModelConfigurationService;
networkBoundary?: NetworkBoundaryOptions;
publicAssets?: PublicAssetResolver;
@@ -2075,6 +2076,45 @@ export async function createApp(options: CreateAppOptions = {}) {
},
);
if (options.localTestAuth && options.registration) {
app.get(
"/api/v1/auth/local-test",
{ schema: { hide: true } },
async () => ({ available: true }),
);
app.post(
"/api/v1/auth/local-test",
{ schema: { hide: true } },
async (request, reply) => {
try {
const result = options.registration!.createLocalTestSession();
reply.header(
"Set-Cookie",
`${userSessionCookieName}=${result.sessionToken}; Max-Age=${30 * 24 * 60 * 60}; Path=/; HttpOnly; SameSite=Strict`,
);
return {
audience: result.audience,
credits: {
available_balance: result.credits.availableBalance,
reserved_balance: result.credits.reservedBalance,
},
session_expires_at: new Date(result.sessionExpiresAt).toISOString(),
status: result.status,
user: {
creator_name: result.user.creatorName,
role: result.user.role,
social_id: result.user.socialId,
status: result.user.status,
user_id: result.user.userId,
},
};
} catch (error) {
return registrationFailure(reply, request.id, error);
}
},
);
}
app.post(
"/api/v1/auth/login/complete",
{