diff --git a/apps/properties/migrations/0004_properties_owner.py b/apps/properties/migrations/0004_properties_owner.py new file mode 100644 index 0000000..4416419 --- /dev/null +++ b/apps/properties/migrations/0004_properties_owner.py @@ -0,0 +1,21 @@ +# Generated by Django 5.2 on 2026-04-08 20:33 + +import django.db.models.deletion +from django.conf import settings +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('properties', '0003_reviews'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.AddField( + model_name='properties', + name='owner', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='properties', to=settings.AUTH_USER_MODEL), + ), + ] diff --git a/apps/properties/models.py b/apps/properties/models.py index 808236f..a9dbd40 100644 --- a/apps/properties/models.py +++ b/apps/properties/models.py @@ -34,6 +34,14 @@ class Condo(models.Model): class Properties(models.Model): PURPOSE_CHOICES = [("S", "Sale"), ("R", "Rent"), ("B", "Both")] TYPE_CHOICES = [("A", "Apartment"), ("H", "House")] + + owner = models.ForeignKey( + "users.User", + on_delete=models.CASCADE, + related_name="properties", + null=True, + blank=True, + ) rooms = models.ForeignKey( Rooms, diff --git a/apps/users/serializers.py b/apps/users/serializers.py index 69ef43a..0990e1b 100644 --- a/apps/users/serializers.py +++ b/apps/users/serializers.py @@ -32,7 +32,7 @@ def update(self, instance, validated_data): class RegisterSerializer(serializers.ModelSerializer): password = serializers.CharField(write_only=True, min_length=8) - + user_type = serializers.CharField(default="S") class Meta: model = User fields = ['id', 'name', 'email', 'password', 'user_type'] diff --git a/apps/users/views.py b/apps/users/views.py index c152f3f..479d87b 100644 --- a/apps/users/views.py +++ b/apps/users/views.py @@ -32,7 +32,7 @@ def me(self, request): # GET, POST e DELETE em /api/users/favorites/ @action(detail=False, methods=['get', 'post', 'delete'], url_path='favorites') def favorites(self, request): - from apps.properties.serializers import PropertiesSerializer # Sei que soa estranho, mas esse import tem que tá aqui para poder não ter import repetido + from apps.properties.serializers.property_serializers import PropertiesReadSerializer from apps.properties.models import Properties user = request.user @@ -40,7 +40,7 @@ def favorites(self, request): # GET: Retorna os imóveis favoritados pelo usuário if request.method == 'GET': favorites = user.favorites.all() - serializer = PropertiesSerializer(favorites, many=True) + serializer = PropertiesReadSerializer(favorites, many=True) return Response(serializer.data) property_id = request.data.get('property_id')