@@ -90,28 +90,22 @@ func DescribeToolsetEntry(
9090 return nil , oops .E (oops .CodeUnexpected , err , "failed to list tools in toolset" ).Log (ctx , logger )
9191 }
9292
93- names := make ([]string , 0 , len (definitions ))
94- for _ , def := range definitions {
95- names = append (names , def .Name )
96- }
97-
98- // TODO variations by urns
99- allVariations , err := variationsRepo .FindGlobalVariationsByToolNames (ctx , vr.FindGlobalVariationsByToolNamesParams {
93+ allVariations , err := variationsRepo .FindGlobalVariationsByToolURNs (ctx , vr.FindGlobalVariationsByToolURNsParams {
10094 ProjectID : pid ,
101- ToolNames : names ,
95+ ToolUrns : toolUrns ,
10296 })
10397 if err != nil {
10498 return nil , oops .E (oops .CodeUnexpected , err , "failed to list global tool variations" ).Log (ctx , logger )
10599 }
106100
107- nameVariations := make (map [string ]string )
101+ urnToVariedName := make (map [string ]string )
108102 for _ , variation := range allVariations {
109103 n := conv.FromPGText [string ](variation .Name )
110104 if n == nil || * n == "" {
111105 continue
112106 }
113107
114- nameVariations [variation .SrcToolName ] = * n
108+ urnToVariedName [variation .SrcToolUrn . String () ] = * n
115109 }
116110
117111 tools = make ([]* types.ToolEntry , 0 , len (definitions ))
@@ -123,7 +117,7 @@ func DescribeToolsetEntry(
123117 }
124118 seen [def .ID .String ()] = true
125119
126- name := conv .Default (nameVariations [def .Name ], def .Name )
120+ name := conv .Default (urnToVariedName [def .ToolUrn . String () ], def .Name )
127121
128122 tool := & types.ToolEntry {
129123 Type : string (urn .ToolKindHTTP ),
@@ -644,27 +638,29 @@ func readToolsetTools(
644638func ApplyVariations (ctx context.Context , logger * slog.Logger , tx DBTX , projectID uuid.UUID , tools []* types.Tool ) error {
645639 variationsRepo := vr .New (tx )
646640
647- names := make ([]string , 0 , len (tools ))
648- for _ , def := range tools {
649- baseTool := conv .ToBaseTool (def )
650- names = append (names , baseTool .Name )
641+ toolUrns := make ([]string , 0 , len (tools ))
642+ for _ , tool := range tools {
643+ toolURN , err := conv .GetToolURN (* tool )
644+ if err != nil || toolURN == nil {
645+ return oops .E (oops .CodeUnexpected , err , "failed to get tool urn" ).Log (ctx , logger )
646+ }
647+ toolUrns = append (toolUrns , toolURN .String ())
651648 }
652649
653- // TODO variations by urns
654- allVariations , err := variationsRepo .FindGlobalVariationsByToolNames (ctx , vr.FindGlobalVariationsByToolNamesParams {
650+ allVariations , err := variationsRepo .FindGlobalVariationsByToolURNs (ctx , vr.FindGlobalVariationsByToolURNsParams {
655651 ProjectID : projectID ,
656- ToolNames : names ,
652+ ToolUrns : toolUrns ,
657653 })
658654 if err != nil {
659655 return oops .E (oops .CodeUnexpected , err , "failed to list global tool variations" ).Log (ctx , logger )
660656 }
661657
662- keyedVariations := make (map [string ]types.ToolVariation , len (allVariations ))
658+ urnToVariation := make (map [string ]types.ToolVariation , len (allVariations ))
663659 for _ , variation := range allVariations {
664- keyedVariations [variation .SrcToolName ] = types.ToolVariation {
660+ urnToVariation [variation .SrcToolUrn . String () ] = types.ToolVariation {
665661 ID : variation .ID .String (),
666662 GroupID : variation .GroupID .String (),
667- SrcToolUrn : variation .SrcToolUrn .String ,
663+ SrcToolUrn : variation .SrcToolUrn .String () ,
668664 SrcToolName : variation .SrcToolName ,
669665 Confirm : conv.FromPGText [string ](variation .Confirm ),
670666 ConfirmPrompt : conv.FromPGText [string ](variation .ConfirmPrompt ),
@@ -680,9 +676,12 @@ func ApplyVariations(ctx context.Context, logger *slog.Logger, tx DBTX, projectI
680676 if tool == nil {
681677 continue
682678 }
683- baseTool := conv .ToBaseTool (tool )
679+ toolURN , err := conv .GetToolURN (* tool )
680+ if err != nil || toolURN == nil {
681+ return oops .E (oops .CodeUnexpected , err , "failed to get tool urn" ).Log (ctx , logger )
682+ }
684683
685- v , ok := keyedVariations [ baseTool . Name ]
684+ v , ok := urnToVariation [ toolURN . String () ]
686685 if ok {
687686 conv .ApplyVariation (* tool , v )
688687 }
0 commit comments