Skip to content

Commit ff1032a

Browse files
committed
add UpdateProvisionerDaemonLastSeenAt
1 parent e52858f commit ff1032a

File tree

9 files changed

+67
-0
lines changed

9 files changed

+67
-0
lines changed

coderd/coderd.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1173,6 +1173,7 @@ func (api *API) CreateInMemoryProvisionerDaemon(ctx context.Context, name string
11731173
Tags: database.StringMap{provisionersdk.TagScope: provisionersdk.ScopeOrganization},
11741174
LastSeenAt: sql.NullTime{Time: dbtime.Now(), Valid: true},
11751175
Version: buildinfo.Version(),
1176+
APIVersion: "1.0",
11761177
})
11771178
if err != nil {
11781179
return nil, xerrors.Errorf("failed to create in-memory provisioner daemon: %w", err)

coderd/database/dbauthz/dbauthz.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2494,6 +2494,13 @@ func (q *querier) UpdateMemberRoles(ctx context.Context, arg database.UpdateMemb
24942494
return q.db.UpdateMemberRoles(ctx, arg)
24952495
}
24962496

2497+
func (q *querier) UpdateProvisionerDaemonLastSeenAt(ctx context.Context, arg database.UpdateProvisionerDaemonLastSeenAtParams) error {
2498+
if err := q.authorizeContext(ctx, rbac.ActionUpdate, rbac.ResourceProvisionerDaemon); err != nil {
2499+
return err
2500+
}
2501+
return q.db.UpdateProvisionerDaemonLastSeenAt(ctx, arg)
2502+
}
2503+
24972504
// TODO: We need to create a ProvisionerJob resource type
24982505
func (q *querier) UpdateProvisionerJobByID(ctx context.Context, arg database.UpdateProvisionerJobByIDParams) error {
24992506
// if err := q.authorizeContext(ctx, rbac.ActionUpdate, rbac.ResourceSystem); err != nil {

coderd/database/dbmem/dbmem.go

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5913,6 +5913,25 @@ func (q *FakeQuerier) UpdateMemberRoles(_ context.Context, arg database.UpdateMe
59135913
return database.OrganizationMember{}, sql.ErrNoRows
59145914
}
59155915

5916+
func (q *FakeQuerier) UpdateProvisionerDaemonLastSeenAt(_ context.Context, arg database.UpdateProvisionerDaemonLastSeenAtParams) error {
5917+
err := validateDatabaseType(arg)
5918+
if err != nil {
5919+
return err
5920+
}
5921+
5922+
q.mutex.Lock()
5923+
defer q.mutex.Unlock()
5924+
5925+
for idx := range q.provisionerDaemons {
5926+
if q.provisionerDaemons[idx].ID != arg.ID {
5927+
continue
5928+
}
5929+
q.provisionerDaemons[idx].LastSeenAt = arg.LastSeenAt
5930+
return nil
5931+
}
5932+
return sql.ErrNoRows
5933+
}
5934+
59165935
func (q *FakeQuerier) UpdateProvisionerJobByID(_ context.Context, arg database.UpdateProvisionerJobByIDParams) error {
59175936
if err := validateDatabaseType(arg); err != nil {
59185937
return err

coderd/database/dbmetrics/dbmetrics.go

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

coderd/database/dbmock/dbmock.go

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

coderd/database/querier.go

Lines changed: 1 addition & 0 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: 14 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/database/queries/provisionerdaemons.sql

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,3 +45,6 @@ WHERE
4545
-- Only ones with the same tags are allowed clobber
4646
provisioner_daemons.tags <@ @tags :: jsonb
4747
RETURNING *;
48+
49+
-- name: UpdateProvisionerDaemonLastSeenAt :exec
50+
UPDATE provisioner_daemons SET last_seen_at = @last_seen_at WHERE id = @id;

enterprise/coderd/provisionerdaemons.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,7 @@ func (api *API) provisionerDaemonServe(rw http.ResponseWriter, r *http.Request)
241241
CreatedAt: dbtime.Now(),
242242
LastSeenAt: sql.NullTime{Time: dbtime.Now(), Valid: true},
243243
Version: "", // TODO: provisionerd needs to send version
244+
APIVersion: "1.0",
244245
})
245246
if err != nil {
246247
log.Error(ctx, "create provisioner daemon", slog.Error(err))

0 commit comments

Comments
 (0)