Skip to content

Commit 9a416c3

Browse files
committed
Rename to "archive"
1 parent 02aa085 commit 9a416c3

25 files changed

+304
-62
lines changed

coderd/apidoc/docs.go

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

coderd/apidoc/swagger.json

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

coderd/database/dbfake/dbfake.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -878,7 +878,7 @@ func (q *FakeQuerier) ArchiveUnusedTemplateVersions(_ context.Context, arg datab
878878
usedVersions[tpl.ActiveVersionID] = true
879879
}
880880

881-
var deleted []uuid.UUID
881+
var archived []uuid.UUID
882882
for i, v := range q.templateVersions {
883883
if v.Archived {
884884
continue
@@ -905,11 +905,11 @@ func (q *FakeQuerier) ArchiveUnusedTemplateVersions(_ context.Context, arg datab
905905

906906
v.Archived = true
907907
q.templateVersions[i] = v
908-
deleted = append(deleted, v.ID)
908+
archived = append(archived, v.ID)
909909
}
910910
}
911911

912-
return deleted, nil
912+
return archived, nil
913913
}
914914

915915
func (*FakeQuerier) CleanTailnetCoordinators(_ context.Context) error {
@@ -2825,7 +2825,7 @@ func (q *FakeQuerier) GetTemplateVersionsByTemplateID(_ context.Context, arg dat
28252825
if templateVersion.TemplateID.UUID != arg.TemplateID {
28262826
continue
28272827
}
2828-
if arg.Deleted.Valid && arg.Deleted.Bool != templateVersion.Deleted {
2828+
if arg.Archived.Valid && arg.Archived.Bool != templateVersion.Archived {
28292829
continue
28302830
}
28312831
version = append(version, q.templateVersionWithUserNoLock(templateVersion))

coderd/database/dbmock/dbmock.go

Lines changed: 15 additions & 15 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/database/queries.sql.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/database/queries/templateversions.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ SET
150150
archived = true,
151151
updated_at = sqlc.arg('updated_at')
152152
FROM
153-
-- Delete all versions that are returned from this query.
153+
-- Archive all versions that are returned from this query.
154154
(
155155
SELECT
156156
scoped_template_versions.id

coderd/httpapi/queryparams.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,17 @@ func (p *QueryParamParser) Int(vals url.Values, def int, queryParam string) int
7979
return v
8080
}
8181

82+
func (p *QueryParamParser) Boolean(vals url.Values, def bool, queryParam string) bool {
83+
v, err := parseQueryParam(p, vals, strconv.ParseBool, def, queryParam)
84+
if err != nil {
85+
p.Errors = append(p.Errors, codersdk.ValidationError{
86+
Field: queryParam,
87+
Detail: fmt.Sprintf("Query param %q must be a valid boolean (%s)", queryParam, err.Error()),
88+
})
89+
}
90+
return v
91+
}
92+
8293
func (p *QueryParamParser) Required(queryParam string) *QueryParamParser {
8394
p.RequiredParams[queryParam] = true
8495
return p

coderd/httpapi/queryparams_test.go

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,48 @@ func TestParseQueryParams(t *testing.T) {
157157
testQueryParams(t, expParams, parser, parser.String)
158158
})
159159

160+
t.Run("Boolean", func(t *testing.T) {
161+
t.Parallel()
162+
expParams := []queryParamTestCase[bool]{
163+
{
164+
QueryParam: "valid_true",
165+
Value: "true",
166+
Expected: true,
167+
},
168+
{
169+
QueryParam: "casing",
170+
Value: "True",
171+
Expected: true,
172+
},
173+
{
174+
QueryParam: "all_caps",
175+
Value: "TRUE",
176+
Expected: true,
177+
},
178+
{
179+
QueryParam: "no_value_true_def",
180+
NoSet: true,
181+
Default: true,
182+
Expected: true,
183+
},
184+
{
185+
QueryParam: "no_value",
186+
NoSet: true,
187+
Expected: false,
188+
},
189+
190+
{
191+
QueryParam: "invalid_boolean",
192+
Value: "yes",
193+
Expected: false,
194+
ExpectedErrorContains: "must be a valid boolean",
195+
},
196+
}
197+
198+
parser := httpapi.NewQueryParamParser()
199+
testQueryParams(t, expParams, parser, parser.Boolean)
200+
})
201+
160202
t.Run("Int", func(t *testing.T) {
161203
t.Parallel()
162204
expParams := []queryParamTestCase[int]{

coderd/templates.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -193,11 +193,11 @@ func (api *API) postTemplateByOrganization(rw http.ResponseWriter, r *http.Reque
193193
})
194194
return
195195
}
196-
if templateVersion.Deleted {
196+
if templateVersion.Archived {
197197
httpapi.Write(ctx, rw, http.StatusBadRequest, codersdk.Response{
198-
Message: fmt.Sprintf("Template version %s is deleted.", createTemplate.VersionID),
198+
Message: fmt.Sprintf("Template version %s is archived.", createTemplate.VersionID),
199199
Validations: []codersdk.ValidationError{
200-
{Field: "template_version_id", Detail: "Template version is deleted"},
200+
{Field: "template_version_id", Detail: "Template version is archived"},
201201
},
202202
})
203203
return

coderd/templateversions.go

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -717,6 +717,17 @@ func (api *API) templateVersionsByTemplate(rw http.ResponseWriter, r *http.Reque
717717
return
718718
}
719719

720+
// If this throws an error, the boolean is false. Which is the default we want.
721+
parser := httpapi.NewQueryParamParser()
722+
includeArchived := parser.Boolean(r.URL.Query(), false, "include_archived")
723+
if len(parser.Errors) > 0 {
724+
httpapi.Write(ctx, rw, http.StatusBadRequest, codersdk.Response{
725+
Message: "Invalid query parameters.",
726+
Validations: parser.Errors,
727+
})
728+
return
729+
}
730+
720731
var err error
721732
apiVersions := []codersdk.TemplateVersion{}
722733
err = api.Database.InTx(func(store database.Store) error {
@@ -738,16 +749,21 @@ func (api *API) templateVersionsByTemplate(rw http.ResponseWriter, r *http.Reque
738749
}
739750
}
740751

752+
// Exclude archived templates versions
753+
archiveFilter := sql.NullBool{
754+
Bool: false,
755+
Valid: true,
756+
}
757+
if includeArchived {
758+
archiveFilter = sql.NullBool{Valid: false}
759+
}
760+
741761
versions, err := store.GetTemplateVersionsByTemplateID(ctx, database.GetTemplateVersionsByTemplateIDParams{
742762
TemplateID: template.ID,
743763
AfterID: paginationParams.AfterID,
744764
LimitOpt: int32(paginationParams.Limit),
745765
OffsetOpt: int32(paginationParams.Offset),
746-
// Exclude deleted templates versions
747-
Deleted: sql.NullBool{
748-
Bool: false,
749-
Valid: true,
750-
},
766+
Archived: archiveFilter,
751767
})
752768
if errors.Is(err, sql.ErrNoRows) {
753769
httpapi.Write(ctx, rw, http.StatusOK, apiVersions)
@@ -1033,7 +1049,7 @@ func (api *API) postArchiveTemplateVersions(rw http.ResponseWriter, r *http.Requ
10331049
status = database.NullProvisionerJobStatus{}
10341050
}
10351051

1036-
deleted, err := api.Database.ArchiveUnusedTemplateVersions(ctx, database.ArchiveUnusedTemplateVersionsParams{
1052+
archived, err := api.Database.ArchiveUnusedTemplateVersions(ctx, database.ArchiveUnusedTemplateVersionsParams{
10371053
UpdatedAt: dbtime.Now(),
10381054
TemplateID: template.ID,
10391055
JobStatus: status,
@@ -1055,7 +1071,7 @@ func (api *API) postArchiveTemplateVersions(rw http.ResponseWriter, r *http.Requ
10551071

10561072
httpapi.Write(ctx, rw, http.StatusOK, codersdk.ArchiveTemplateVersionsResponse{
10571073
TemplateID: template.ID,
1058-
ArchivedIDs: deleted,
1074+
ArchivedIDs: archived,
10591075
})
10601076
}
10611077

@@ -1478,6 +1494,7 @@ func convertTemplateVersion(version database.TemplateVersion, job codersdk.Provi
14781494
Username: version.CreatedByUsername,
14791495
AvatarURL: version.CreatedByAvatarURL.String,
14801496
},
1497+
Archived: version.Archived,
14811498
Warnings: warnings,
14821499
}
14831500
}

0 commit comments

Comments
 (0)