Implement account deletion system

This commit is contained in:
gpt-engineer-app[bot]
2025-10-12 14:17:54 +00:00
parent 21ba87a664
commit 3a38b47108
10 changed files with 1429 additions and 50 deletions

View File

@@ -14,6 +14,51 @@ export type Database = {
}
public: {
Tables: {
account_deletion_requests: {
Row: {
cancellation_reason: string | null
cancelled_at: string | null
completed_at: string | null
confirmation_code: string
confirmation_code_sent_at: string | null
created_at: string
id: string
requested_at: string
scheduled_deletion_at: string
status: Database["public"]["Enums"]["account_deletion_status"]
updated_at: string
user_id: string
}
Insert: {
cancellation_reason?: string | null
cancelled_at?: string | null
completed_at?: string | null
confirmation_code: string
confirmation_code_sent_at?: string | null
created_at?: string
id?: string
requested_at?: string
scheduled_deletion_at: string
status?: Database["public"]["Enums"]["account_deletion_status"]
updated_at?: string
user_id: string
}
Update: {
cancellation_reason?: string | null
cancelled_at?: string | null
completed_at?: string | null
confirmation_code?: string
confirmation_code_sent_at?: string | null
created_at?: string
id?: string
requested_at?: string
scheduled_deletion_at?: string
status?: Database["public"]["Enums"]["account_deletion_status"]
updated_at?: string
user_id?: string
}
Relationships: []
}
admin_audit_log: {
Row: {
action: string
@@ -1348,6 +1393,9 @@ export type Database = {
coaster_count: number | null
created_at: string
date_of_birth: string | null
deactivated: boolean
deactivated_at: string | null
deactivation_reason: string | null
display_name: string | null
home_park_id: string | null
id: string
@@ -1376,6 +1424,9 @@ export type Database = {
coaster_count?: number | null
created_at?: string
date_of_birth?: string | null
deactivated?: boolean
deactivated_at?: string | null
deactivation_reason?: string | null
display_name?: string | null
home_park_id?: string | null
id?: string
@@ -1404,6 +1455,9 @@ export type Database = {
coaster_count?: number | null
created_at?: string
date_of_birth?: string | null
deactivated?: boolean
deactivated_at?: string | null
deactivation_reason?: string | null
display_name?: string | null
home_park_id?: string | null
id?: string
@@ -2855,6 +2909,10 @@ export type Database = {
}
}
Functions: {
anonymize_user_submissions: {
Args: { target_user_id: string }
Returns: undefined
}
can_approve_submission_item: {
Args: { item_id: string }
Returns: boolean
@@ -2931,6 +2989,10 @@ export type Database = {
Args: { url: string }
Returns: string
}
generate_deletion_confirmation_code: {
Args: Record<PropertyKey, never>
Returns: string
}
get_filtered_profile: {
Args: { _profile_user_id: string; _viewer_id?: string }
Returns: Json
@@ -3039,6 +3101,11 @@ export type Database = {
}
}
Enums: {
account_deletion_status:
| "pending"
| "confirmed"
| "cancelled"
| "completed"
app_role: "admin" | "moderator" | "user" | "superuser"
version_change_type:
| "created"
@@ -3173,6 +3240,12 @@ export type CompositeTypes<
export const Constants = {
public: {
Enums: {
account_deletion_status: [
"pending",
"confirmed",
"cancelled",
"completed",
],
app_role: ["admin", "moderator", "user", "superuser"],
version_change_type: [
"created",