add my_role in transaction serializer
This commit is contained in:
parent
531ef4cfc7
commit
da0efcb8a1
1 changed files with 15 additions and 1 deletions
|
|
@ -11,6 +11,7 @@ from ..users.models import User
|
||||||
class TransactionSerializer(serializers.ModelSerializer):
|
class TransactionSerializer(serializers.ModelSerializer):
|
||||||
payee_id = serializers.UUIDField(read_only=True)
|
payee_id = serializers.UUIDField(read_only=True)
|
||||||
payee_type = serializers.UUIDField(read_only=True)
|
payee_type = serializers.UUIDField(read_only=True)
|
||||||
|
role = serializers.SerializerMethodField()
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Transaction
|
model = Transaction
|
||||||
|
|
@ -27,7 +28,20 @@ class TransactionSerializer(serializers.ModelSerializer):
|
||||||
'details',
|
'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):
|
# def create(self, validated_data):
|
||||||
# transaction = Transaction.objects.create_transaction(**validated_data)
|
# transaction = Transaction.objects.create_transaction(**validated_data)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue