deleteAllUserInteractionData

abstract suspend fun deleteAllUserInteractionData(userId: String)(source)

Permanently removes all interaction data for a specific user.

This method provides complete data removal capabilities for user privacy compliance, system cleanup, and data lifecycle management. The operation removes all historical interaction records for the specified user while preserving data for other users.

Privacy and Compliance:

  • Supports GDPR, CCPA, and other privacy regulation requirements

  • Complete data removal prevents any residual personal information

  • Atomic operation ensures consistent deletion across all related records

Data Lifecycle Management:

  • Enables clean user account termination procedures

  • Supports data retention policy enforcement

  • Facilitates system maintenance and storage optimization

Performance Impact:

  • Indexed deletion provides efficient O(log n) performance characteristics

  • Bulk deletion minimizes transaction overhead and locking duration

  • Immediate space reclamation through database optimization triggers

Cascade Behavior:

  • User-scoped deletion preserves data integrity for other users

  • Related analytics data may require separate cleanup operations

  • Consider coordinating with deleteContainerState() for complete user removal

Parameters

userId

Unique identifier for the user whose interaction data should be permanently deleted

See also

Method for removing user container state data

Method for storing new interaction data

Throws

SQLException

If database deletion operation fails

SecurityException

If operation violates configured security policies

IllegalStateException

If user has active sessions that prevent deletion