diff --git a/apiserver/plane/db/migrations/0096_user_is_email_valid_user_masked_at.py b/apiserver/plane/db/migrations/0096_user_is_email_valid_user_masked_at.py new file mode 100644 index 000000000..66635d89d --- /dev/null +++ b/apiserver/plane/db/migrations/0096_user_is_email_valid_user_masked_at.py @@ -0,0 +1,23 @@ +# Generated by Django 4.2.20 on 2025-05-21 13:43 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("db", "0095_page_external_id_page_external_source"), + ] + + operations = [ + migrations.AddField( + model_name="user", + name="is_email_valid", + field=models.BooleanField(default=False), + ), + migrations.AddField( + model_name="user", + name="masked_at", + field=models.DateTimeField(null=True), + ), + ] diff --git a/apiserver/plane/db/models/user.py b/apiserver/plane/db/models/user.py index c6bf37d37..ad6e858ad 100644 --- a/apiserver/plane/db/models/user.py +++ b/apiserver/plane/db/models/user.py @@ -106,6 +106,12 @@ class User(AbstractBaseUser, PermissionsMixin): max_length=255, default="UTC", choices=USER_TIMEZONE_CHOICES ) + # email validation + is_email_valid = models.BooleanField(default=False) + + # masking + masked_at = models.DateTimeField(null=True) + USERNAME_FIELD = "email" REQUIRED_FIELDS = ["username"]