feat: differentiate new user registration from user login in the audit log (#7096)

* auditing register events

* fix tests

* update docs

* update comments

* Update coderd/audit/request.go

Co-authored-by: Colin Adler <colin1adler@gmail.com>

---------

Co-authored-by: Colin Adler <colin1adler@gmail.com>
This commit is contained in:
Kira Pilot
2023-04-12 11:46:16 -07:00
committed by GitHub
parent d1d459cb79
commit f6c89a2615
15 changed files with 100 additions and 53 deletions

View File

@ -18,7 +18,8 @@ CREATE TYPE audit_action AS ENUM (
'start',
'stop',
'login',
'logout'
'logout',
'register'
);
CREATE TYPE build_reason AS ENUM (

View File

@ -0,0 +1,2 @@
-- It's not possible to drop enum values from enum types, so the UP has "IF NOT
-- EXISTS".

View File

@ -0,0 +1,2 @@
ALTER TYPE audit_action
ADD VALUE IF NOT EXISTS 'register';

View File

@ -139,13 +139,14 @@ func AllAppSharingLevelValues() []AppSharingLevel {
type AuditAction string
const (
AuditActionCreate AuditAction = "create"
AuditActionWrite AuditAction = "write"
AuditActionDelete AuditAction = "delete"
AuditActionStart AuditAction = "start"
AuditActionStop AuditAction = "stop"
AuditActionLogin AuditAction = "login"
AuditActionLogout AuditAction = "logout"
AuditActionCreate AuditAction = "create"
AuditActionWrite AuditAction = "write"
AuditActionDelete AuditAction = "delete"
AuditActionStart AuditAction = "start"
AuditActionStop AuditAction = "stop"
AuditActionLogin AuditAction = "login"
AuditActionLogout AuditAction = "logout"
AuditActionRegister AuditAction = "register"
)
func (e *AuditAction) Scan(src interface{}) error {
@ -191,7 +192,8 @@ func (e AuditAction) Valid() bool {
AuditActionStart,
AuditActionStop,
AuditActionLogin,
AuditActionLogout:
AuditActionLogout,
AuditActionRegister:
return true
}
return false
@ -206,6 +208,7 @@ func AllAuditActionValues() []AuditAction {
AuditActionStop,
AuditActionLogin,
AuditActionLogout,
AuditActionRegister,
}
}