Skip to content

Commit

Permalink
fix configs docs issues from yesterday
Browse files Browse the repository at this point in the history
  • Loading branch information
jp-agenta committed Nov 7, 2024
1 parent 49ca42d commit 5fd4d1b
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 22 deletions.
22 changes: 18 additions & 4 deletions agenta-backend/agenta_backend/services/db_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -316,7 +316,7 @@ async def fetch_app_environment_revision_by_environment(

async def fetch_app_environment_revision_by_version(
app_environment_id: str, project_id: str, version: str
) -> AppEnvironmentRevisionDB:
) -> Tuple[AppEnvironmentRevisionDB, int]:
"""Fetches app environment revision by environment id and revision
Args:
Expand All @@ -329,7 +329,10 @@ async def fetch_app_environment_revision_by_version(

assert app_environment_id is not None, "app_environment_id cannot be None"

if version:
if version and version < 0:
raise Exception("version cannot be negative")

elif version and version > 0:
async with db_engine.get_session() as session:
result = await session.execute(
select(AppEnvironmentRevisionDB)
Expand All @@ -347,7 +350,7 @@ async def fetch_app_environment_revision_by_version(
f"app environment revision for app_environment {app_environment_id} and revision {version} not found"
)

return app_environment_revision
return app_environment_revision, version

else:
async with db_engine.get_session() as session:
Expand All @@ -366,7 +369,18 @@ async def fetch_app_environment_revision_by_version(
f"app environment revision for app_environment {app_environment_id} and revision {version} not found"
)

return app_environment_revision
version = (
await session.execute(
select(func.count())
.select_from(AppEnvironmentRevisionDB)
.filter_by(
environment_id=uuid.UUID(app_environment_id),
project_id=uuid.UUID(project_id),
)
)
).scalar()

return app_environment_revision, version


async def fetch_base_by_id(base_id: str) -> Optional[VariantBaseDB]:
Expand Down
36 changes: 18 additions & 18 deletions agenta-backend/agenta_backend/services/variants_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -284,6 +284,8 @@ async def _fetch_environment(
with suppress():
# by environment_id
if environment_ref.id:
environment_ref.version = None

app_environment_revision = await fetch_app_environment_revision(
# project_id=project_id,
revision_id=environment_ref.id.hex,
Expand All @@ -292,6 +294,8 @@ async def _fetch_environment(
if not app_environment_revision:
return None, None

app_environment_revision.revision = None

app_environment = await fetch_app_environment_by_id(
# project_id=project_id,
environment_id=app_environment_revision.environment_id.hex,
Expand Down Expand Up @@ -334,16 +338,23 @@ async def _fetch_environment(
# as opposed to the latest version of a variant which is indicated by a version number
# coming from the app_variant revision.

app_environment_revision = await fetch_app_environment_revision_by_version(
project_id=project_id,
# application_id=application_ref.id.hex,
app_environment_id=app_environment.id.hex,
version=environment_ref.version,
)
try:
app_environment_revision, version = (
await fetch_app_environment_revision_by_version(
project_id=project_id,
# application_id=application_ref.id.hex,
app_environment_id=app_environment.id.hex,
version=environment_ref.version,
)
)
except: # pylint: disable=bare-except
app_environment_revision = None

if not app_environment_revision:
return app_environment, None

app_environment_revision.revision = version

if not (app_environment_revision and app_environment):
return None, None

Expand Down Expand Up @@ -926,7 +937,7 @@ async def deploy_config(

environment_ref.version = None

app_environment, app_environment_revision = await _fetch_environment(
app_environment, _ = await _fetch_environment(
project_id=project_id,
environment_ref=environment_ref,
application_ref=application_ref,
Expand All @@ -944,17 +955,6 @@ async def deploy_config(
variant_id=app_variant.id,
)

environment_ref.id = None

app_environment, app_environment_revision = await _fetch_environment(
project_id=project_id,
environment_ref=environment_ref,
application_ref=application_ref,
)

if not (app_environment and app_environment_revision):
return None

config = await fetch_config_by_environment_ref(
project_id=project_id,
environment_ref=environment_ref,
Expand Down

0 comments on commit 5fd4d1b

Please sign in to comment.