fix: lazy load
This commit is contained in:
@@ -135,7 +135,14 @@ class Postgres(DatabaseBase):
|
||||
async def add_external_channel_to_targets(
|
||||
self, external_channel_id: uuid.UUID, target_channel_ids: list[uuid.UUID]
|
||||
) -> None:
|
||||
external_channel = await self.session.get(domain.ExternalChannel, external_channel_id)
|
||||
stmt = (
|
||||
select(domain.ExternalChannel)
|
||||
.where(domain.ExternalChannel.id == external_channel_id)
|
||||
.options(selectinload(domain.ExternalChannel.target_channels))
|
||||
)
|
||||
result = await self.session.execute(stmt)
|
||||
external_channel = result.scalar_one_or_none()
|
||||
|
||||
if not external_channel:
|
||||
raise ValueError(f'ExternalChannel {external_channel_id} not found')
|
||||
|
||||
@@ -149,7 +156,14 @@ class Postgres(DatabaseBase):
|
||||
async def remove_external_channel_from_target(
|
||||
self, external_channel_id: uuid.UUID, target_channel_id: uuid.UUID
|
||||
) -> None:
|
||||
external_channel = await self.session.get(domain.ExternalChannel, external_channel_id)
|
||||
stmt = (
|
||||
select(domain.ExternalChannel)
|
||||
.where(domain.ExternalChannel.id == external_channel_id)
|
||||
.options(selectinload(domain.ExternalChannel.target_channels))
|
||||
)
|
||||
result = await self.session.execute(stmt)
|
||||
external_channel = result.scalar_one_or_none()
|
||||
|
||||
if not external_channel:
|
||||
raise ValueError(f'ExternalChannel {external_channel_id} not found')
|
||||
|
||||
|
||||
Reference in New Issue
Block a user