Skip to content

Commit a2c5362

Browse files
committed
Fix ToolUsage.container unsecured resolution
1 parent e93bc4f commit a2c5362

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

src/components/tools/tool-usage/tool-usage.resolver.ts

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import {
55
ResolveField,
66
Resolver,
77
} from '@nestjs/graphql';
8-
import { type ID, IdArg, mapSecuredValue, Resource } from '~/common';
8+
import { type ID, IdArg, Resource, ServerException } from '~/common';
99
import { Loader, type LoaderOf, ResourceLoader } from '~/core';
1010
import { ActorLoader } from '../../user/actor.loader';
1111
import { Actor } from '../../user/dto';
@@ -27,10 +27,14 @@ export class ToolUsageResolver {
2727
) {}
2828

2929
@ResolveField(() => Resource)
30-
async container(@Parent() toolUsage: ToolUsage) {
31-
return await mapSecuredValue(toolUsage.container, (node) =>
32-
this.resources.loadByBaseNode(node),
33-
);
30+
async container(@Parent() toolUsage: ToolUsage): Promise<Resource> {
31+
const container = toolUsage.container.value;
32+
// Service should have hidden this ToolUsage if the container cannot be read.
33+
// So we should always have a container when we get here.
34+
if (!container) {
35+
throw new ServerException('Container resolution failure');
36+
}
37+
return (await this.resources.loadByBaseNode(container)) as Resource;
3438
}
3539

3640
@ResolveField(() => Actor)

0 commit comments

Comments
 (0)