qrtr-services/connection/serializers.py

36 lines
1.2 KiB
Python
Executable File

from rest_framework import serializers
from .models import ConnectionType, Connection
from qrtr_account.models import BankAccount
class ConnectionTypeSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = ConnectionType
fields = ['url', 'name', 'filename']
extra_kwargs = {
'name': {'read_only': True},
'filename': {'read_only': True}
}
class ConnectionAccountSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Connection
fields = ['pk', 'url', 'name', 'type']
class BankAccountReadSerializer(serializers.HyperlinkedModelSerializer):
connection = ConnectionAccountSerializer(read_only=True)
class Meta:
model = BankAccount
fields = ['pk', 'url', 'connection']
class ConnectionSerializer(serializers.HyperlinkedModelSerializer):
bank_accounts = BankAccountReadSerializer(read_only=True, source='*')
class Meta:
model = Connection
fields = ['url', 'name', 'type', 'credentials', 'bank_accounts']
extra_kwargs = {
'type': {'write_only': True},
'credentials': {'write_only': True}
}