Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit0ae8805

Browse files
committed
chore: implement fuzzy name matching for templates
Templates search query defaults to a fuzzy name match
1 parent5008161 commit0ae8805

File tree

2 files changed

+32
-2
lines changed

2 files changed

+32
-2
lines changed

‎coderd/templates_test.go

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -438,8 +438,12 @@ func TestTemplatesByOrganization(t *testing.T) {
438438
user:=coderdtest.CreateFirstUser(t,client)
439439
version:=coderdtest.CreateTemplateVersion(t,client,user.OrganizationID,nil)
440440
version2:=coderdtest.CreateTemplateVersion(t,client,user.OrganizationID,nil)
441-
coderdtest.CreateTemplate(t,client,user.OrganizationID,version.ID)
442-
coderdtest.CreateTemplate(t,client,user.OrganizationID,version2.ID)
441+
foo:=coderdtest.CreateTemplate(t,client,user.OrganizationID,version.ID,func(request*codersdk.CreateTemplateRequest) {
442+
request.Name="foobar"
443+
})
444+
bar:=coderdtest.CreateTemplate(t,client,user.OrganizationID,version2.ID,func(request*codersdk.CreateTemplateRequest) {
445+
request.Name="barbaz"
446+
})
443447

444448
ctx:=testutil.Context(t,testutil.WaitLong)
445449

@@ -460,6 +464,27 @@ func TestTemplatesByOrganization(t *testing.T) {
460464
require.Equal(t,tmpl.OrganizationDisplayName,org.DisplayName,"organization display name")
461465
require.Equal(t,tmpl.OrganizationIcon,org.Icon,"organization display name")
462466
}
467+
468+
// Check fuzzy name matching
469+
templates,err=client.Templates(ctx, codersdk.TemplateFilter{
470+
FuzzyName:"bar",
471+
})
472+
require.NoError(t,err)
473+
require.Len(t,templates,2)
474+
475+
templates,err=client.Templates(ctx, codersdk.TemplateFilter{
476+
FuzzyName:"foo",
477+
})
478+
require.NoError(t,err)
479+
require.Len(t,templates,1)
480+
require.Equal(t,foo.ID,templates[0].ID)
481+
482+
templates,err=client.Templates(ctx, codersdk.TemplateFilter{
483+
FuzzyName:"baz",
484+
})
485+
require.NoError(t,err)
486+
require.Len(t,templates,1)
487+
require.Equal(t,bar.ID,templates[0].ID)
463488
})
464489
}
465490

‎codersdk/organizations.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -407,6 +407,7 @@ func (c *Client) TemplatesByOrganization(ctx context.Context, organizationID uui
407407
typeTemplateFilterstruct {
408408
OrganizationID uuid.UUID
409409
ExactNamestring
410+
FuzzyNamestring
410411
}
411412

412413
// asRequestOption returns a function that can be used in (*Client).Request.
@@ -424,6 +425,10 @@ func (f TemplateFilter) asRequestOption() RequestOption {
424425
params=append(params,fmt.Sprintf("exact_name:%q",f.ExactName))
425426
}
426427

428+
iff.FuzzyName!="" {
429+
params=append(params,fmt.Sprintf("name:%q",f.FuzzyName))
430+
}
431+
427432
q:=r.URL.Query()
428433
q.Set("q",strings.Join(params," "))
429434
r.URL.RawQuery=q.Encode()

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp