2022-06-05 19:09:40 +04:00
|
|
|
from rest_framework import serializers
|
2022-06-04 16:49:10 +04:00
|
|
|
|
2022-06-06 16:02:09 +04:00
|
|
|
from apps.oss_installation.models import CloudConnector, CloudUserIdentity
|
2022-06-13 16:29:08 +04:00
|
|
|
from apps.oss_installation.utils import cloud_user_identity_status
|
2022-06-04 16:49:10 +04:00
|
|
|
from apps.user_management.models import User
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class CloudUserSerializer(serializers.ModelSerializer):
|
|
|
|
|
cloud_data = serializers.SerializerMethodField()
|
|
|
|
|
|
|
|
|
|
class Meta:
|
|
|
|
|
model = User
|
2022-06-08 15:04:23 +04:00
|
|
|
fields = ["cloud_data"]
|
2022-06-04 16:49:10 +04:00
|
|
|
|
2024-10-09 08:55:10 -04:00
|
|
|
def get_cloud_data(self, obj: User):
|
2022-06-06 16:02:09 +04:00
|
|
|
connector = CloudConnector.objects.filter().first()
|
2022-06-13 16:29:08 +04:00
|
|
|
cloud_user_identity = CloudUserIdentity.objects.filter(email=obj.email).first()
|
2024-10-09 08:55:10 -04:00
|
|
|
status, link = cloud_user_identity_status(obj.organization, connector, cloud_user_identity)
|
2022-06-04 16:49:10 +04:00
|
|
|
cloud_data = {"status": status, "link": link}
|
|
|
|
|
return cloud_data
|