dddp/accounts/ddp.py
def serialize(self, obj, *args, **kwargs):
        """Serialize user as per Meteor accounts serialization."""
        # use default serialization, then modify to suit our needs.
        data = super(Users, self).serialize(obj, *args, **kwargs)

        # everything that isn't handled explicitly ends up in `profile`
        profile = data.pop('fields')
        profile.setdefault('name', obj.get_full_name())
        fields = data['fields'] = {
            'username': obj.get_username(),
            'emails': [],
            'profile': profile,
            'permissions': sorted(self.model.get_all_permissions(obj)),
        }

        # clear out sensitive data
        for sensitive in [
                'password',
                'user_permissions_ids',
                'is_active',
                'is_staff',
                'is_superuser',
                'groups_ids',
        ]:
            profile.pop(sensitive, None)

        # createdAt (default is django.contrib.auth.models.User.date_joined)
        try:
            fields['createdAt'] = profile.pop('date_joined')
        except KeyError:
            date_joined = getattr(
                obj, 'get_date_joined',
                lambda: getattr(obj, 'date_joined', None)
            )()
            if date_joined:
                fields['createdAt'] = date_joined

        # email (default is django.contrib.auth.models.User.email)
        try:
            email = profile.pop('email')
        except KeyError:
            email = getattr(
                obj, 'get_email',
                lambda: getattr(obj, 'email', None)
            )()
        if email:
            fields['emails'].append({'address': email, 'verified': True})

        return data
def serialize(self, obj, *args, **kwargs):
        # use default serialization, then modify to suit our needs.
        data = super(Users, self).serialize(obj, *args, **kwargs)

        # everything that isn't handled explicitly ends up in `profile`
        profile = data.pop('fields')
        profile.setdefault('name', obj.get_full_name())
        fields = data['fields'] = {
            'username': obj.get_username(),
            'emails': [],
            'profile': profile,
            'permissions': sorted(self.model.get_all_permissions(obj)),
        }

        # clear out sensitive data
        for sensitive in [
                'password',
                'user_permissions_ids',
                'is_active',
                'is_staff',
                'is_superuser',
                'groups_ids',
        ]:
            profile.pop(sensitive, None)

        # createdAt (default is django.contrib.auth.models.User.date_joined)
        try:
            fields['createdAt'] = profile.pop('date_joined')
        except KeyError:
            date_joined = getattr(
                obj, 'get_date_joined',
                lambda: getattr(obj, 'date_joined', None)
            )()
            if date_joined:
                fields['createdAt'] = date_joined

        # email (default is django.contrib.auth.models.User.email)
        try:
            email = profile.pop('email')
        except KeyError:
            email = getattr(
                obj, 'get_email',
                lambda: getattr(obj, 'email', None)
            )()
        if email:
            fields['emails'].append({'address': email, 'verified': True})

        return data
def serialize ( self , obj , * args , * * kwargs ) : # use default serialization, then modify to suit our needs. data = super ( Users , self ) . serialize ( obj , * args , * * kwargs ) # everything that isn't handled explicitly ends up in `profile` profile = data . pop ( 'fields' ) profile . setdefault ( 'name' , obj . get_full_name ( ) ) fields = data [ 'fields' ] = { 'username' : obj . get_username ( ) , 'emails' : [ ] , 'profile' : profile , 'permissions' : sorted ( self . model . get_all_permissions ( obj ) ) , } # clear out sensitive data for sensitive in [ 'password' , 'user_permissions_ids' , 'is_active' , 'is_staff' , 'is_superuser' , 'groups_ids' , ] : profile . pop ( sensitive , None ) # createdAt (default is django.contrib.auth.models.User.date_joined) try : fields [ 'createdAt' ] = profile . pop ( 'date_joined' ) except KeyError : date_joined = getattr ( obj , 'get_date_joined' , lambda : getattr ( obj , 'date_joined' , None ) ) ( ) if date_joined : fields [ 'createdAt' ] = date_joined # email (default is django.contrib.auth.models.User.email) try : email = profile . pop ( 'email' ) except KeyError : email = getattr ( obj , 'get_email' , lambda : getattr ( obj , 'email' , None ) ) ( ) if email : fields [ 'emails' ] . append ( { 'address' : email , 'verified' : True } ) return data
Serialize user as per Meteor accounts serialization.
Serialize user as per Meteor accounts serialization .