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

Commitd004710

Browse files
authored
feat: add prebuild invalidation via last_invalidated_at timestamp (#20582)
Updates#17917
1 parentc2319e5 commitd004710

27 files changed

+636
-22
lines changed

‎coderd/apidoc/docs.go‎

Lines changed: 60 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: 56 additions & 0 deletions
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.

‎coderd/database/db2sdk/db2sdk.go‎

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1021,6 +1021,18 @@ func AIBridgeToolUsage(usage database.AIBridgeToolUsage) codersdk.AIBridgeToolUs
10211021
}
10221022
}
10231023

1024+
funcInvalidatedPresets(invalidatedPresets []database.UpdatePresetsLastInvalidatedAtRow) []codersdk.InvalidatedPreset {
1025+
varpresets []codersdk.InvalidatedPreset
1026+
for_,p:=rangeinvalidatedPresets {
1027+
presets=append(presets, codersdk.InvalidatedPreset{
1028+
TemplateName:p.TemplateName,
1029+
TemplateVersionName:p.TemplateVersionName,
1030+
PresetName:p.TemplateVersionPresetName,
1031+
})
1032+
}
1033+
returnpresets
1034+
}
1035+
10241036
funcjsonOrEmptyMap(rawMessage pqtype.NullRawMessage)map[string]any {
10251037
varmmap[string]any
10261038
if!rawMessage.Valid {

‎coderd/database/dbauthz/dbauthz.go‎

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4972,6 +4972,20 @@ func (q *querier) UpdatePresetPrebuildStatus(ctx context.Context, arg database.U
49724972
returnq.db.UpdatePresetPrebuildStatus(ctx,arg)
49734973
}
49744974

4975+
func (q*querier)UpdatePresetsLastInvalidatedAt(ctx context.Context,arg database.UpdatePresetsLastInvalidatedAtParams) ([]database.UpdatePresetsLastInvalidatedAtRow,error) {
4976+
// Fetch template to check authorization
4977+
template,err:=q.db.GetTemplateByID(ctx,arg.TemplateID)
4978+
iferr!=nil {
4979+
returnnil,err
4980+
}
4981+
4982+
iferr:=q.authorizeContext(ctx,policy.ActionUpdate,template);err!=nil {
4983+
returnnil,err
4984+
}
4985+
4986+
returnq.db.UpdatePresetsLastInvalidatedAt(ctx,arg)
4987+
}
4988+
49754989
func (q*querier)UpdateProvisionerDaemonLastSeenAt(ctx context.Context,arg database.UpdateProvisionerDaemonLastSeenAtParams)error {
49764990
iferr:=q.authorizeContext(ctx,policy.ActionUpdate,rbac.ResourceProvisionerDaemon);err!=nil {
49774991
returnerr

‎coderd/database/dbauthz/dbauthz_test.go‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1315,6 +1315,13 @@ func (s *MethodTestSuite) TestTemplate() {
13151315
dbm.EXPECT().UpsertTemplateUsageStats(gomock.Any()).Return(nil).AnyTimes()
13161316
check.Asserts(rbac.ResourceSystem,policy.ActionUpdate)
13171317
}))
1318+
s.Run("UpdatePresetsLastInvalidatedAt",s.Mocked(func(dbm*dbmock.MockStore,faker*gofakeit.Faker,check*expects) {
1319+
t1:=testutil.Fake(s.T(),faker, database.Template{})
1320+
arg:= database.UpdatePresetsLastInvalidatedAtParams{LastInvalidatedAt: sql.NullTime{Valid:true,Time:dbtime.Now()},TemplateID:t1.ID}
1321+
dbm.EXPECT().GetTemplateByID(gomock.Any(),t1.ID).Return(t1,nil).AnyTimes()
1322+
dbm.EXPECT().UpdatePresetsLastInvalidatedAt(gomock.Any(),arg).Return([]database.UpdatePresetsLastInvalidatedAtRow{},nil).AnyTimes()
1323+
check.Args(arg).Asserts(t1,policy.ActionUpdate)
1324+
}))
13181325
}
13191326

13201327
func (s*MethodTestSuite)TestUser() {

‎coderd/database/dbfake/dbfake.go‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -613,6 +613,7 @@ func (t TemplateVersionBuilder) Do() TemplateVersionResponse {
613613
IsDefault:false,
614614
Description:preset.Description,
615615
Icon:preset.Icon,
616+
LastInvalidatedAt:preset.LastInvalidatedAt,
616617
})
617618
t.logger.Debug(context.Background(),"added preset",
618619
slog.F("preset_id",prst.ID),

‎coderd/database/dbgen/dbgen.go‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1428,6 +1428,7 @@ func Preset(t testing.TB, db database.Store, seed database.InsertPresetParams) d
14281428
IsDefault:seed.IsDefault,
14291429
Description:seed.Description,
14301430
Icon:seed.Icon,
1431+
LastInvalidatedAt:seed.LastInvalidatedAt,
14311432
})
14321433
require.NoError(t,err,"insert preset")
14331434
returnpreset

‎coderd/database/dbmetrics/querymetrics.go‎

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

‎coderd/database/dbmock/dbmock.go‎

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

‎coderd/database/dump.sql‎

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

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp