serializers.py 906 B

12345678910111213141516171819202122232425262728
  1. from rest_framework import serializers
  2. from .models import OAuth
  3. class OAuthSerializer(serializers.ModelSerializer):
  4. scopes = serializers.SerializerMethodField()
  5. loginPath = serializers.SerializerMethodField()
  6. auth_data = serializers.SerializerMethodField()
  7. class Meta:
  8. model = OAuth
  9. fields = '__all__'
  10. def get_scopes(self, obj):
  11. return obj.scopes.split(',')
  12. def get_auth_data(self, obj):
  13. a = {
  14. 'clientId': obj.clientId,
  15. 'clientSecret': obj.clientSecret,
  16. 'accessTokenUri': obj.accessTokenUri,
  17. 'state': obj.state,
  18. 'authorizationUri': obj.authorizationUri,
  19. 'redirectUri': obj.redirectUri,
  20. 'scopes': self.get_scopes(obj),
  21. 'responseType': obj.responseType
  22. }
  23. return a
  24. def get_loginPath(self, obj):
  25. return reverse(obj.loginPath)