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):
|
||||
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)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue