@@ -19,29 +19,33 @@ pub struct Output {
1919
2020#[ operation]
2121pub async fn build_resolve_for_tags ( ctx : & OperationCtx , input : & Input ) -> GlobalResult < Output > {
22- let tags_str = serde_json :: to_string ( & input. tags ) ? ;
22+ let tags_str = unwrap ! ( cjson :: to_string( & input. tags) ) ;
2323
2424 let builds = if input. bypass_cache {
2525 get_builds ( & ctx, input. env_id , & tags_str) . await ?
2626 } else {
2727 unwrap ! (
2828 ctx. cache( )
2929 . ttl( util:: duration:: seconds( 15 ) )
30- . fetch_one_json( "build" , tags_str . as_str ( ) , {
31- let ctx = ctx . clone ( ) ;
32- let tags_str = tags_str. clone ( ) ;
33- move | mut cache , key| {
30+ . fetch_one_json(
31+ "build" ,
32+ format! ( "{}:{}" , input . env_id , tags_str. as_str ( ) ) ,
33+ {
3434 let ctx = ctx. clone( ) ;
3535 let tags_str = tags_str. clone( ) ;
36- async move {
37- let builds = get_builds( & ctx, input. env_id, & tags_str) . await ?;
36+ move |mut cache, key| {
37+ let ctx = ctx. clone( ) ;
38+ let tags_str = tags_str. clone( ) ;
39+ async move {
40+ let builds = get_builds( & ctx, input. env_id, & tags_str) . await ?;
3841
39- cache. resolve( & key, builds) ;
42+ cache. resolve( & key, builds) ;
4043
41- Ok ( cache)
44+ Ok ( cache)
45+ }
4246 }
4347 }
44- } )
48+ )
4549 . await ?
4650 )
4751 } ;
0 commit comments