Skip to content

Commit f7810e5

Browse files
committed
add UpdateProvisionerDaemonLastSeenAt
1 parent e1d30f9 commit f7810e5

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
@@ -1180,6 +1180,7 @@ func (api *API) CreateInMemoryProvisionerDaemon(ctx context.Context, name string
11801180
Tags: database.StringMap{provisionersdk.TagScope: provisionersdk.ScopeOrganization},
11811181
LastSeenAt: sql.NullTime{Time: dbtime.Now(), Valid: true},
11821182
Version: buildinfo.Version(),
1183+
APIVersion: "1.0",
11831184
})
11841185
if err != nil {
11851186
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
@@ -5945,6 +5945,25 @@ func (q *FakeQuerier) UpdateMemberRoles(_ context.Context, arg database.UpdateMe
59455945
return database.OrganizationMember{}, sql.ErrNoRows
59465946
}
59475947

5948+
func (q *FakeQuerier) UpdateProvisionerDaemonLastSeenAt(_ context.Context, arg database.UpdateProvisionerDaemonLastSeenAtParams) error {
5949+
err := validateDatabaseType(arg)
5950+
if err != nil {
5951+
return err
5952+
}
5953+
5954+
q.mutex.Lock()
5955+
defer q.mutex.Unlock()
5956+
5957+
for idx := range q.provisionerDaemons {
5958+
if q.provisionerDaemons[idx].ID != arg.ID {
5959+
continue
5960+
}
5961+
q.provisionerDaemons[idx].LastSeenAt = arg.LastSeenAt
5962+
return nil
5963+
}
5964+
return sql.ErrNoRows
5965+
}
5966+
59485967
func (q *FakeQuerier) UpdateProvisionerJobByID(_ context.Context, arg database.UpdateProvisionerJobByIDParams) error {
59495968
if err := validateDatabaseType(arg); err != nil {
59505969
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)