budgit/internal/model/space_audit_log.go
juancwu 7c24a8302d
All checks were successful
Deploy / build-and-deploy (push) Successful in 1m50s
feat: investment accounts
2026-05-22 14:49:57 +00:00

41 lines
1.8 KiB
Go

package model
import "time"
type SpaceAuditAction string
const (
SpaceAuditActionRenamed SpaceAuditAction = "space.renamed"
SpaceAuditActionDeleted SpaceAuditAction = "space.deleted"
SpaceAuditActionMemberInvited SpaceAuditAction = "member.invited"
SpaceAuditActionMemberJoined SpaceAuditAction = "member.joined"
SpaceAuditActionMemberRemoved SpaceAuditAction = "member.removed"
SpaceAuditActionInviteCancelled SpaceAuditAction = "invite.cancelled"
SpaceAuditActionAccountCreated SpaceAuditAction = "account.created"
SpaceAuditActionAccountRenamed SpaceAuditAction = "account.renamed"
SpaceAuditActionAccountDeleted SpaceAuditAction = "account.deleted"
SpaceAuditActionAccountCurrencyChanged SpaceAuditAction = "account.currency_changed"
SpaceAuditActionAccountInvestmentFlag SpaceAuditAction = "account.investment_flag_changed"
SpaceAuditActionAllocationCreated SpaceAuditAction = "allocation.created"
SpaceAuditActionAllocationUpdated SpaceAuditAction = "allocation.updated"
SpaceAuditActionAllocationDeleted SpaceAuditAction = "allocation.deleted"
)
type SpaceAuditLog struct {
ID string `db:"id"`
SpaceID string `db:"space_id"`
ActorID *string `db:"actor_id"`
Action SpaceAuditAction `db:"action"`
TargetUserID *string `db:"target_user_id"`
TargetEmail *string `db:"target_email"`
Metadata []byte `db:"metadata"`
CreatedAt time.Time `db:"created_at"`
}
type SpaceAuditLogWithActor struct {
SpaceAuditLog
ActorName *string `db:"actor_name"`
ActorEmail *string `db:"actor_email"`
TargetUserName *string `db:"target_user_name"`
TargetUserEmail *string `db:"target_user_email"`
}