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

Commit1286749

Browse files
authored
chore: include organization name when fetching templates (#13751)
* chore: include organization name when fetching templates* chore: rename template_with_user to template_with_names
1 parentb87c12b commit1286749

25 files changed

+177
-84
lines changed

‎cli/templatelist.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import (
1313
func (r*RootCmd)templateList()*serpent.Command {
1414
orgContext:=NewOrganizationContext()
1515
formatter:=cliui.NewOutputFormatter(
16-
cliui.TableFormat([]templateTableRow{}, []string{"name","last updated","used by"}),
16+
cliui.TableFormat([]templateTableRow{}, []string{"name","organization name","last updated","used by"}),
1717
cliui.JSONFormat(),
1818
)
1919

‎cli/templates.go

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -83,14 +83,15 @@ type templateTableRow struct {
8383
Template codersdk.Template
8484

8585
// Used by table format:
86-
Namestring`json:"-" table:"name,default_sort"`
87-
CreatedAtstring`json:"-" table:"created at"`
88-
LastUpdatedstring`json:"-" table:"last updated"`
89-
OrganizationID uuid.UUID`json:"-" table:"organization id"`
90-
Provisioner codersdk.ProvisionerType`json:"-" table:"provisioner"`
91-
ActiveVersionID uuid.UUID`json:"-" table:"active version id"`
92-
UsedBystring`json:"-" table:"used by"`
93-
DefaultTTL time.Duration`json:"-" table:"default ttl"`
86+
Namestring`json:"-" table:"name,default_sort"`
87+
CreatedAtstring`json:"-" table:"created at"`
88+
LastUpdatedstring`json:"-" table:"last updated"`
89+
OrganizationID uuid.UUID`json:"-" table:"organization id"`
90+
OrganizationNamestring`json:"-" table:"organization name"`
91+
Provisioner codersdk.ProvisionerType`json:"-" table:"provisioner"`
92+
ActiveVersionID uuid.UUID`json:"-" table:"active version id"`
93+
UsedBystring`json:"-" table:"used by"`
94+
DefaultTTL time.Duration`json:"-" table:"default ttl"`
9495
}
9596

9697
// templateToRows converts a list of templates to a list of templateTableRow for
@@ -99,15 +100,16 @@ func templatesToRows(templates ...codersdk.Template) []templateTableRow {
99100
rows:=make([]templateTableRow,len(templates))
100101
fori,template:=rangetemplates {
101102
rows[i]=templateTableRow{
102-
Template:template,
103-
Name:template.Name,
104-
CreatedAt:template.CreatedAt.Format("January 2, 2006"),
105-
LastUpdated:template.UpdatedAt.Format("January 2, 2006"),
106-
OrganizationID:template.OrganizationID,
107-
Provisioner:template.Provisioner,
108-
ActiveVersionID:template.ActiveVersionID,
109-
UsedBy:pretty.Sprint(cliui.DefaultStyles.Fuchsia,formatActiveDevelopers(template.ActiveUserCount)),
110-
DefaultTTL: (time.Duration(template.DefaultTTLMillis)*time.Millisecond),
103+
Template:template,
104+
Name:template.Name,
105+
CreatedAt:template.CreatedAt.Format("January 2, 2006"),
106+
LastUpdated:template.UpdatedAt.Format("January 2, 2006"),
107+
OrganizationID:template.OrganizationID,
108+
OrganizationName:template.OrganizationName,
109+
Provisioner:template.Provisioner,
110+
ActiveVersionID:template.ActiveVersionID,
111+
UsedBy:pretty.Sprint(cliui.DefaultStyles.Fuchsia,formatActiveDevelopers(template.ActiveUserCount)),
112+
DefaultTTL: (time.Duration(template.DefaultTTLMillis)*time.Millisecond),
111113
}
112114
}
113115

‎cli/testdata/coder_templates_list_--help.golden

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ OPTIONS:
1111
-O, --org string, $CODER_ORGANIZATION
1212
Select which organization (uuid or name) to use.
1313

14-
-c, --column string-array (default: name,last updated,used by)
14+
-c, --column string-array (default: name,organization name,last updated,used by)
1515
Columns to display in table output. Available columns: name, created
16-
at, last updated, organization id,provisioner, active version id,
17-
used by, default ttl.
16+
at, last updated, organization id,organization name, provisioner,
17+
active version id,used by, default ttl.
1818

1919
-o, --output string (default: table)
2020
Output format. Available formats: table, json.

‎coderd/apidoc/docs.go

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.

‎coderd/apidoc/swagger.json

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.

‎coderd/database/dbmem/dbmem.go

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -515,7 +515,7 @@ func (q *FakeQuerier) getLatestWorkspaceBuildByWorkspaceIDNoLock(_ context.Conte
515515
func (q*FakeQuerier)getTemplateByIDNoLock(_ context.Context,id uuid.UUID) (database.Template,error) {
516516
for_,template:=rangeq.templates {
517517
iftemplate.ID==id {
518-
returnq.templateWithUserNoLock(template),nil
518+
returnq.templateWithNameNoLock(template),nil
519519
}
520520
}
521521
return database.Template{},sql.ErrNoRows
@@ -524,26 +524,36 @@ func (q *FakeQuerier) getTemplateByIDNoLock(_ context.Context, id uuid.UUID) (da
524524
func (q*FakeQuerier)templatesWithUserNoLock(tpl []database.TemplateTable) []database.Template {
525525
cpy:=make([]database.Template,0,len(tpl))
526526
for_,t:=rangetpl {
527-
cpy=append(cpy,q.templateWithUserNoLock(t))
527+
cpy=append(cpy,q.templateWithNameNoLock(t))
528528
}
529529
returncpy
530530
}
531531

532-
func (q*FakeQuerier)templateWithUserNoLock(tpl database.TemplateTable) database.Template {
532+
func (q*FakeQuerier)templateWithNameNoLock(tpl database.TemplateTable) database.Template {
533533
varuser database.User
534534
for_,_user:=rangeq.users {
535535
if_user.ID==tpl.CreatedBy {
536536
user=_user
537537
break
538538
}
539539
}
540-
varwithUser database.Template
540+
541+
varorg database.Organization
542+
for_,_org:=rangeq.organizations {
543+
if_org.ID==tpl.OrganizationID {
544+
org=_org
545+
break
546+
}
547+
}
548+
549+
varwithNames database.Template
541550
// This is a cheeky way to copy the fields over without explicitly listing them all.
542551
d,_:=json.Marshal(tpl)
543-
_=json.Unmarshal(d,&withUser)
544-
withUser.CreatedByUsername=user.Username
545-
withUser.CreatedByAvatarURL=user.AvatarURL
546-
returnwithUser
552+
_=json.Unmarshal(d,&withNames)
553+
withNames.CreatedByUsername=user.Username
554+
withNames.CreatedByAvatarURL=user.AvatarURL
555+
withNames.OrganizationName=org.Name
556+
returnwithNames
547557
}
548558

549559
func (q*FakeQuerier)templateVersionWithUserNoLock(tpl database.TemplateVersionTable) database.TemplateVersion {
@@ -3675,7 +3685,7 @@ func (q *FakeQuerier) GetTemplateByOrganizationAndName(_ context.Context, arg da
36753685
iftemplate.Deleted!=arg.Deleted {
36763686
continue
36773687
}
3678-
returnq.templateWithUserNoLock(template),nil
3688+
returnq.templateWithNameNoLock(template),nil
36793689
}
36803690
return database.Template{},sql.ErrNoRows
36813691
}
@@ -9323,7 +9333,7 @@ func (q *FakeQuerier) GetAuthorizedTemplates(ctx context.Context, arg database.G
93239333

93249334
vartemplates []database.Template
93259335
for_,templateTable:=rangeq.templates {
9326-
template:=q.templateWithUserNoLock(templateTable)
9336+
template:=q.templateWithNameNoLock(templateTable)
93279337
ifprepared!=nil&&prepared.Authorize(ctx,template.RBACObject())!=nil {
93289338
continue
93299339
}

‎coderd/database/dump.sql

Lines changed: 7 additions & 5 deletions
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.

‎coderd/database/gentest/models_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ func TestViewSubsetTemplate(t *testing.T) {
3232
tableFields:=allFields(table)
3333
joinedFields:=allFields(joined)
3434
if!assert.Subset(t,fieldNames(joinedFields),fieldNames(tableFields),"table is not subset") {
35-
t.Log("Some fields were added to the Template Table without updating the 'template_with_users' view.")
35+
t.Log("Some fields were added to the Template Table without updating the 'template_with_names' view.")
3636
t.Log("See migration 000138_join_users.up.sql to create the view.")
3737
}
3838
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
DROPVIEW template_with_names;
2+
3+
CREATE VIEW
4+
template_with_users
5+
AS
6+
SELECT
7+
templates.*,
8+
coalesce(visible_users.avatar_url,'')AS created_by_avatar_url,
9+
coalesce(visible_users.username,'')AS created_by_username
10+
FROM
11+
templates
12+
LEFT JOIN
13+
visible_users
14+
ON
15+
templates.created_by=visible_users.id;
16+
COMMENT ON VIEW template_with_users IS'Joins in the username + avatar url of the created by user.';
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
-- Update the template_with_users view by recreating it.
2+
DROPVIEW template_with_users;
3+
4+
-- Renaming template_with_users -> template_with_names
5+
CREATE VIEW
6+
template_with_names
7+
AS
8+
SELECT
9+
templates.*,
10+
coalesce(visible_users.avatar_url,'')AS created_by_avatar_url,
11+
coalesce(visible_users.username,'')AS created_by_username,
12+
coalesce(organizations.name,'')AS organization_name
13+
FROM
14+
templates
15+
LEFT JOIN
16+
visible_users
17+
ON
18+
templates.created_by=visible_users.id
19+
LEFT JOIN
20+
organizations
21+
ONtemplates.organization_id=organizations.id
22+
;
23+
24+
COMMENT ON VIEW template_with_names IS'Joins in the display name information such as username, avatar, and organization name.';

‎coderd/database/modelqueries.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ func (q *sqlQuerier) GetAuthorizedTemplates(ctx context.Context, arg GetTemplate
116116
&i.MaxPortSharingLevel,
117117
&i.CreatedByAvatarURL,
118118
&i.CreatedByUsername,
119+
&i.OrganizationName,
119120
);err!=nil {
120121
returnnil,err
121122
}

‎coderd/database/models.go

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.

‎coderd/database/queries.sql.go

Lines changed: 11 additions & 7 deletions
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.

‎coderd/database/queries/templates.sql

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
SELECT
33
*
44
FROM
5-
template_with_users
5+
template_with_names
66
WHERE
77
id= $1
88
LIMIT
@@ -12,7 +12,7 @@ LIMIT
1212
SELECT
1313
*
1414
FROM
15-
template_with_usersAS templates
15+
template_with_namesAS templates
1616
WHERE
1717
-- Optionally include deleted templates
1818
templates.deleted= @deleted
@@ -54,7 +54,7 @@ ORDER BY (name, id) ASC
5454
SELECT
5555
*
5656
FROM
57-
template_with_usersAS templates
57+
template_with_namesAS templates
5858
WHERE
5959
organization_id= @organization_id
6060
AND deleted= @deleted
@@ -63,7 +63,7 @@ LIMIT
6363
1;
6464

6565
-- name: GetTemplates :many
66-
SELECT*FROMtemplate_with_usersAS templates
66+
SELECT*FROMtemplate_with_namesAS templates
6767
ORDER BY (name, id)ASC
6868
;
6969

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp