diff --git a/apps/wallet/serializers.py b/apps/wallet/serializers.py index 09a75dd..861e6a5 100755 --- a/apps/wallet/serializers.py +++ b/apps/wallet/serializers.py @@ -11,6 +11,7 @@ from ..users.models import User class TransactionSerializer(serializers.ModelSerializer): payee_id = serializers.UUIDField(read_only=True) payee_type = serializers.UUIDField(read_only=True) + role = serializers.SerializerMethodField() class Meta: model = Transaction @@ -27,7 +28,20 @@ class TransactionSerializer(serializers.ModelSerializer): 'details', ) - read_only_fields = ['uuid', 'updated_at', 'state', 'created_at', 'details'] + read_only_fields = ['uuid', 'updated_at', 'state', 'created_at', 'details', 'role'] + + def get_role(self, obj: Transaction) -> int: + request = self.context.get('request') + user = request.user + + if obj.payer_id == user.id: + return 1 + elif obj.payee_id == user.id: + return 2 + else: + return 0 + + # def create(self, validated_data): # transaction = Transaction.objects.create_transaction(**validated_data)