diff --git a/packages/api/actor/src/route/actors.rs b/packages/api/actor/src/route/actors.rs index 4228ec1a87..3877104284 100644 --- a/packages/api/actor/src/route/actors.rs +++ b/packages/api/actor/src/route/actors.rs @@ -108,7 +108,7 @@ pub async fn create( ctx.op(ds::ops::game_config::get::Input { game_ids: vec![game_id], }), - resolve_build_id(&ctx, game_id, body.build, body.build_tags.flatten()), + resolve_build_id(&ctx, env_id, body.build, body.build_tags.flatten()), )?; let cluster_id = unwrap!(clusters_res.games.first()).cluster_id; let game_config = unwrap!(game_configs_res.game_configs.first()); @@ -614,7 +614,7 @@ fn legacy_convert_actor_to_server( async fn resolve_build_id( ctx: &Ctx, - game_id: Uuid, + env_id: Uuid, build_id: Option, build_tags: Option, ) -> GlobalResult { @@ -624,7 +624,7 @@ async fn resolve_build_id( (None, Some(build_tags)) => { let builds_res = ctx .op(build::ops::resolve_for_tags::Input { - game_id: Some(game_id), + env_id, tags: serde_json::from_value(build_tags)?, }) .await?; diff --git a/packages/services/build/src/ops/resolve_for_tags.rs b/packages/services/build/src/ops/resolve_for_tags.rs index c814c0bcd2..00a69b5eaa 100644 --- a/packages/services/build/src/ops/resolve_for_tags.rs +++ b/packages/services/build/src/ops/resolve_for_tags.rs @@ -7,7 +7,7 @@ use crate::types; #[derive(Debug)] pub struct Input { - pub game_id: Option, + pub env_id: Uuid, pub tags: HashMap, } @@ -33,11 +33,9 @@ pub async fn get(ctx: &OperationCtx, input: &Input) -> GlobalResult { compression, tags FROM db_build.builds - WHERE - ($2 IS NULL OR game_id = $2) AND - tags @> $1 + WHERE env_id = $1 AND tags @> $2 ", - input.game_id, + input.env_id, serde_json::to_string(&input.tags)?, ) .await?