schon/engine/vibes_auth/migrations/0001_initial.py

193 lines
7.6 KiB
Python

import uuid
import django.contrib.auth.models
import django.utils.timezone
import django_extensions.db.fields
from django.db import migrations, models
import engine.vibes_auth.managers
import engine.vibes_auth.models
import engine.vibes_auth.validators
class Migration(migrations.Migration):
initial = True
# noinspection PyUnresolvedReferences
dependencies = [
("auth", "__latest__"),
]
operations = [
migrations.CreateModel(
name="Group",
fields=[],
options={
"verbose_name": "group",
"verbose_name_plural": "groups",
"proxy": True,
"indexes": [],
"constraints": [],
},
bases=("auth.group",),
managers=[
("objects", django.contrib.auth.models.GroupManager()),
],
),
migrations.CreateModel(
name="User",
fields=[
("password", models.CharField(max_length=128, verbose_name="password")),
("last_login", models.DateTimeField(blank=True, null=True, verbose_name="last login")),
(
"is_superuser",
models.BooleanField(
default=False,
help_text="Designates that this user has all permissions without explicitly assigning them.",
verbose_name="superuser status",
),
),
(
"is_staff",
models.BooleanField(
default=False,
help_text="Designates whether the user can log into this admin site.",
verbose_name="staff status",
),
),
("date_joined", models.DateTimeField(default=django.utils.timezone.now, verbose_name="date joined")),
(
"uuid",
models.UUIDField(
default=uuid.uuid4,
editable=False,
help_text="unique id is used to surely identify any database object",
primary_key=True,
serialize=False,
verbose_name="unique id",
),
),
(
"created",
django_extensions.db.fields.CreationDateTimeField(
auto_now_add=True,
help_text="when the object first appeared on the database",
verbose_name="created",
),
),
(
"modified",
django_extensions.db.fields.ModificationDateTimeField(
auto_now=True, help_text="when the object was last modified", verbose_name="modified"
),
),
(
"email",
models.EmailField(
help_text="user email address", max_length=254, unique=True, verbose_name="email"
),
),
(
"phone_number",
models.CharField(
blank=True,
help_text="user phone number",
max_length=20,
null=True,
unique=True,
validators=[engine.vibes_auth.validators.validate_phone_number],
verbose_name="phone_number",
),
),
("first_name", models.CharField(blank=True, max_length=150, null=True, verbose_name="first_name")),
("last_name", models.CharField(blank=True, max_length=150, null=True, verbose_name="last_name")),
(
"avatar",
models.ImageField(
blank=True,
help_text="user profile image",
null=True,
upload_to=engine.vibes_auth.models.User.get_uuid_as_path,
verbose_name="avatar",
),
),
(
"is_verified",
models.BooleanField(
default=False, help_text="user verification status", verbose_name="is verified"
),
),
(
"is_active",
models.BooleanField(
default=False, help_text="unselect this instead of deleting accounts", verbose_name="is_active"
),
),
(
"is_subscribed",
models.BooleanField(
default=False, help_text="user's newsletter subscription status", verbose_name="is_subscribed"
),
),
("activation_token", models.UUIDField(default=uuid.uuid4, verbose_name="activation token")),
(
"language",
models.CharField(
choices=[
("en-GB", "English (British)"),
("ar-AR", "العربية"),
("cs-CZ", "Česky"),
("da-DK", "Dansk"),
("de-DE", "Deutsch"),
("en-US", "English (American)"),
("es-ES", "Español"),
("fr-FR", "Français"),
("hi-IN", "हिंदी"),
("it-IT", "Italiano"),
("ja-JP", "日本語"),
("kk-KZ", "Қазақ"),
("nl-NL", "Nederlands"),
("pl-PL", "Polska"),
("pt-BR", "Português"),
("ro-RO", "Română"),
("ru-RU", "Русский"),
("zh-hans", "简体中文"),
],
default="en-GB",
max_length=7,
),
),
("attributes", models.JSONField(blank=True, default=dict, null=True, verbose_name="attributes")),
(
"groups",
models.ManyToManyField(
blank=True,
help_text="The groups this user belongs to. A user will get all permissions granted to each of their groups.",
related_name="user_set",
related_query_name="user",
to="vibes_auth.group",
verbose_name="groups",
),
),
(
"user_permissions",
models.ManyToManyField(
blank=True,
help_text="Specific permissions for this user.",
related_name="user_set",
related_query_name="user",
to="auth.permission",
verbose_name="user permissions",
),
),
],
options={
"verbose_name": "user",
"verbose_name_plural": "users",
"swappable": "AUTH_USER_MODEL",
},
managers=[
("objects", engine.vibes_auth.managers.UserManager()),
],
),
]