Skip to content

Commit f1de717

Browse files
committed
added migration for audit_actions
1 parent 13159ba commit f1de717

File tree

7 files changed

+27
-3
lines changed

7 files changed

+27
-3
lines changed

coderd/database/dump.sql

Lines changed: 3 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
-- It's not possible to drop enum values from enum types, so the UP has "IF NOT
2+
-- EXISTS".
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
ALTER TYPE audit_action ADD VALUE IF NOT EXISTS 'start';
2+
ALTER TYPE audit_action ADD VALUE IF NOT EXISTS 'stop';

coderd/database/models.go

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

coderd/workspacebuilds.go

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -300,12 +300,21 @@ func (api *API) postWorkspaceBuilds(rw http.ResponseWriter, r *http.Request) {
300300
// if a user starts/stops a workspace, audit the workspace build
301301
if action == rbac.ActionUpdate {
302302

303+
var auditAction database.AuditAction
304+
if createBuild.Transition == codersdk.WorkspaceTransitionStart {
305+
auditAction = database.AuditActionStart
306+
} else if createBuild.Transition == codersdk.WorkspaceTransitionStop {
307+
auditAction = database.AuditActionStop
308+
} else {
309+
auditAction = database.AuditActionWrite
310+
}
311+
303312
var (
304313
aReq, commitAudit = audit.InitRequest[database.WorkspaceBuild](rw, &audit.RequestParams{
305314
Audit: *auditor,
306315
Log: api.Logger,
307316
Request: r,
308-
Action: database.AuditActionWrite,
317+
Action: auditAction,
309318
})
310319
)
311320

codersdk/audit.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,8 @@ const (
5353
AuditActionCreate AuditAction = "create"
5454
AuditActionWrite AuditAction = "write"
5555
AuditActionDelete AuditAction = "delete"
56+
AuditActionStart AuditAction = "start"
57+
AuditActionStop AuditAction = "stop"
5658
)
5759

5860
func (a AuditAction) FriendlyString() string {
@@ -63,6 +65,10 @@ func (a AuditAction) FriendlyString() string {
6365
return "updated"
6466
case AuditActionDelete:
6567
return "deleted"
68+
case AuditActionStart:
69+
return "started"
70+
case AuditActionStop:
71+
return "stopped"
6672
default:
6773
return "unknown"
6874
}

site/src/api/typesGenerated.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -886,7 +886,7 @@ export interface WorkspaceResourceMetadata {
886886
export type APIKeyScope = "all" | "application_connect"
887887

888888
// From codersdk/audit.go
889-
export type AuditAction = "create" | "delete" | "write"
889+
export type AuditAction = "create" | "delete" | "start" | "stop" | "write"
890890

891891
// From codersdk/workspacebuilds.go
892892
export type BuildReason = "autostart" | "autostop" | "initiator"
@@ -945,6 +945,7 @@ export type ResourceType =
945945
| "template_version"
946946
| "user"
947947
| "workspace"
948+
| "workspace_build"
948949

949950
// From codersdk/sse.go
950951
export type ServerSentEventType = "data" | "error" | "ping"

0 commit comments

Comments
 (0)