Skip to content

Commit f74643c

Browse files
committed
chore(BA-5829): add news fragment for #11285
1 parent 3b5b80b commit f74643c

2 files changed

Lines changed: 15 additions & 2 deletions

File tree

changes/11285.feature.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Add `AppConfigFragment` Strawberry GraphQL surface — `appConfigFragment` (by natural key), `scopedAppConfigFragments`, `adminAppConfigFragments`, and admin `create` / `update` / `purge` mutations (BEP-1052 §2).

src/ai/backend/manager/api/gql/data_loader/data_loaders.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,12 +123,24 @@ def app_config_fragment_loader(
123123
adapter = self._adapters.app_config_fragment
124124

125125
async def load_fn(ids: list[uuid.UUID]) -> list[AppConfigFragmentGQL | None]:
126+
from ai.backend.common.dto.manager.v2.app_config_fragment.request import ( # pants: no-infer-dep
127+
AppConfigFragmentFilter,
128+
SearchAppConfigFragmentsInput,
129+
)
126130
from ai.backend.manager.api.gql.app_config_fragment.types import ( # pants: no-infer-dep
127131
AppConfigFragmentGQL as F,
128132
)
129133

130-
dtos = await adapter.batch_load_by_ids(ids)
131-
return [F.from_pydantic(dto) if dto is not None else None for dto in dtos]
134+
if not ids:
135+
return []
136+
payload = await adapter.admin_search(
137+
SearchAppConfigFragmentsInput(
138+
filter=AppConfigFragmentFilter(id_in=list(ids)),
139+
limit=len(ids),
140+
),
141+
)
142+
by_id = {dto.id: F.from_pydantic(dto) for dto in payload.items}
143+
return [by_id.get(fragment_id) for fragment_id in ids]
132144

133145
return DataLoader(load_fn=load_fn)
134146

0 commit comments

Comments
 (0)