feat: 实现PIPL数据主体删除权支持功能
- 新增 LeadDeletionRequest 模型,支持邮箱验证的删除申请/确认流程 - POST /api/v1/custom/leads/deletion-requests/ 发起申请(通用响应避免探测邮箱是否存在) - POST /api/v1/custom/leads/deletion-requests/confirm/ 确认删除(24小时token有效期) - 按邮箱在 Lead.data 中匹配并删除对应记录,跨SQLite/Postgres使用Python级匹配 - LeadDeletionRequest 通过 Django Admin 只读展示供合规审计 - 新增 FRONTEND_BASE_URL 设置用于拼接邮件确认链接 - apps/forms/tests.py 新增6个测试用例(含节流缓存隔离修复),全仓库30个用例通过 - 更新设计文档 §2.15/§2.16 勾选项
This commit is contained in:
@@ -5,3 +5,15 @@ class LeadSubmitSerializer(serializers.Serializer):
|
||||
form_id = serializers.IntegerField()
|
||||
data = serializers.DictField()
|
||||
source_url = serializers.URLField(required=False, allow_blank=True, default="")
|
||||
|
||||
|
||||
class LeadDeletionRequestSerializer(serializers.Serializer):
|
||||
"""PIPL 数据删除权:发起申请时仅需提交联系邮箱。"""
|
||||
|
||||
contact = serializers.EmailField()
|
||||
|
||||
|
||||
class LeadDeletionConfirmSerializer(serializers.Serializer):
|
||||
"""PIPL 数据删除权:确认时提交邮件中的 token。"""
|
||||
|
||||
token = serializers.UUIDField()
|
||||
|
||||
Reference in New Issue
Block a user