fix(ql3): keep console task authority lazy

This commit is contained in:
whyour
2026-08-29 10:41:36 +08:00
parent 884912d1c8
commit dc1686bd6f
6 changed files with 29 additions and 22 deletions
@@ -76,7 +76,7 @@ export interface LocalApiTaskPutRouteOptions {
readonly taskDefinitions: TaskDefinitionSource;
readonly taskDefinitionAdministrationForCredential: (
fence: Readonly<AuthenticatedLocalApiRequest['credentialFence']>,
) => TaskDefinitionAdministrationRepository;
) => Promise<TaskDefinitionAdministrationRepository>;
readonly securityAudit: SecurityAuditSink;
readonly presenceProof: LocalPresenceProofManager;
readonly now?: () => number;
@@ -406,11 +406,13 @@ export function createLocalApiTaskPutRoute(
return response(503, { code: 'authentication_unavailable' });
}
try {
const mutations =
await options.taskDefinitionAdministrationForCredential(
request.authenticated.credentialFence,
);
const service = createLocalTaskDefinitionAdministrationService(
options.projectPolicy,
options.taskDefinitionAdministrationForCredential(
request.authenticated.credentialFence,
),
mutations,
options.taskDefinitions,
options.securityAudit,
{ now },
@@ -123,7 +123,7 @@ function fixture(t, overrides = {}) {
const route = createLocalApiTaskPutRoute({
projectPolicy,
taskDefinitions,
taskDefinitionAdministrationForCredential(fence) {
async taskDefinitionAdministrationForCredential(fence) {
calls.push(['credential-fence', fence]);
return {
async appendAuthorizedTaskDefinitionRevision(mutation) {