diff --git a/services/backend/api/v1/user/schemas.py b/services/backend/api/v1/user/schemas.py index 6baa542..3e03423 100644 --- a/services/backend/api/v1/user/schemas.py +++ b/services/backend/api/v1/user/schemas.py @@ -22,4 +22,4 @@ class LoginSchema(ModelSchema): class UserSchema(ModelSchema): class Meta: model = User - fields = ["id", "email", "username"] + fields = ["id", "email", "username", "created_at",] diff --git a/services/backend/api/v1/user/views.py b/services/backend/api/v1/user/views.py index 756de02..c9fad87 100644 --- a/services/backend/api/v1/user/views.py +++ b/services/backend/api/v1/user/views.py @@ -1,3 +1,4 @@ +from datetime import datetime from http import HTTPStatus as status from django.contrib.auth.hashers import check_password, make_password @@ -35,6 +36,7 @@ router = Router(tags=["user"]) def sign_up(request, data: RegisterSchema): user = User(**data.dict(exclude={"password"})) user.password = make_password(data.password) + user.created_at = datetime.now() user.save() token = BearerAuth.generate_jwt(user) diff --git a/services/backend/apps/user/migrations/0002_user_created_at.py b/services/backend/apps/user/migrations/0002_user_created_at.py new file mode 100644 index 0000000..83094ec --- /dev/null +++ b/services/backend/apps/user/migrations/0002_user_created_at.py @@ -0,0 +1,18 @@ +# Generated by Django 5.1.6 on 2025-03-02 09:50 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('user', '0001_initial'), + ] + + operations = [ + migrations.AddField( + model_name='user', + name='created_at', + field=models.DateTimeField(auto_now=True), + ), + ] diff --git a/services/backend/apps/user/models.py b/services/backend/apps/user/models.py index f525c29..2f2d69a 100644 --- a/services/backend/apps/user/models.py +++ b/services/backend/apps/user/models.py @@ -14,6 +14,8 @@ class User(BaseModel): username = models.SlugField(unique=True, verbose_name="юзернейм") password = models.TextField(verbose_name="пароль") + created_at = models.DateTimeField(auto_now=True) + @staticmethod def make_password(password: str): return make_password(password)