forked from wrenn/wrenn
## What's new Compliance, audit, and account lifecycle improvements — admin actions are now fully auditable, user data is properly anonymized on deletion, and OAuth signup flow gives users control over their profile. ### Audit - Added audit logging for all admin actions (user activate/deactivate, team BYOC toggle, team delete, template delete, build create/cancel) - Added admin audit page with infinite scroll and hierarchical filters - Fixed audit log team assignment — admin/host actions now correctly land under PlatformTeamID - Anonymize audit logs on user hard-delete (actor name, IDs, emails stripped) - Deduplicated audit logger internals (665 → 374 lines, no behavior change) ### Authentication - Separated GitHub OAuth login/signup flows — login no longer auto-creates accounts - Added name confirmation dialog for new GitHub signups ### Account Lifecycle - Email notification sent when account is permanently deleted after grace period - Audit log anonymization tied to user purge (per-user transactional) ### UX - Removed accent gradient bars from admin host dialogs (border + shadow only) - Frontend renders deleted users as styled badge in audit log view ### Others - Version bump - Bug fixes Reviewed-on: wrenn/wrenn#36
19 lines
979 B
SQL
19 lines
979 B
SQL
-- +goose Up
|
|
|
|
-- Seed the platform team row. This is the sentinel team (all-zeros UUID) that
|
|
-- owns platform-wide resources: global templates, admin-created capsules, etc.
|
|
-- No user can become a member of this team — it exists solely to satisfy
|
|
-- foreign key constraints and to act as a namespace for platform resources.
|
|
INSERT INTO teams (id, name, slug)
|
|
VALUES ('00000000-0000-0000-0000-000000000000', 'Platform', 'platform')
|
|
ON CONFLICT (id) DO NOTHING;
|
|
|
|
-- +goose Down
|
|
-- Delete dependent rows that reference the platform team via foreign keys.
|
|
-- Order matters: children before parent.
|
|
DELETE FROM sandboxes WHERE team_id = '00000000-0000-0000-0000-000000000000';
|
|
DELETE FROM team_api_keys WHERE team_id = '00000000-0000-0000-0000-000000000000';
|
|
DELETE FROM users_teams WHERE team_id = '00000000-0000-0000-0000-000000000000';
|
|
DELETE FROM hosts WHERE team_id = '00000000-0000-0000-0000-000000000000';
|
|
DELETE FROM teams WHERE id = '00000000-0000-0000-0000-000000000000';
|