36 lines
1.2 KiB
Python
Executable File
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}
|
|
}
|
|
|